Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C]Символьный решатель интегралов, курсовая 
:(
    Опции темы
Пингвина
Дата 15.11.2006, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.11.2006

Репутация: нет
Всего: нет



вот задали курсовую написать... хорошо бы, если бы помогли. нигде ничего в инете найти не могу! помогите, что ли...
PM MAIL   Вверх
Partizan
Дата 15.11.2006, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 67



ну а что... алгоритм прост....
1. нужен анализатор(парсер) математического выражения....можно использовать обратную польскую нотацию см www.algolist.ru

2. используешь численные методы нахождения интегралов....


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Sartorius
Дата 15.11.2006, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 8
Всего: 37



Partizan,  как я понял ("символьный решатель интегралов") человеку нужно не определенный интеграл численно посчитать,  а найти вид первообразной ф-ии (для простых случаев) .

Пингвина,  так??? smile 
PM MAIL ICQ   Вверх
Partizan
Дата 15.11.2006, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 67



Sartorius,  =) ну если так , то задача сводится к вбиванию "базы" простых первообразных =)


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
IvanoffAndrey
Дата 15.11.2006, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 8.7.2006
Где: СГАУ

Репутация: нет
Всего: 2



Вспомнил - данный пример разобран в Книге Архангельского "Приемы программирования в Delphi 5-7" - прямо есть то что нужно. Если книгу в нете не найдешь отпишись помагу.
--------------------
Размерность пространства есть число Pi и в каждой точке вселенной оно стремиться к этому числу.
PM MAIL   Вверх
Пингвина
Дата 17.11.2006, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.11.2006

Репутация: нет
Всего: нет



Partizan,  да, именно это препод и хочет увидеть

Добавлено @ 20:04 
Partizan,  если бы еще показали как это будет выглядеть! и еще вывод результата как написать????????
PM MAIL   Вверх
Partizan
Дата 17.11.2006, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 67



и всё -таки что конкретно от вас хотят?

Цитата


1. нужен анализатор(парсер) математического выражения....можно использовать обратную польскую нотацию см www.algolist.ru

2. используешь численные методы нахождения интегралов....

или
Цитата

ну если так , то задача сводится к вбиванию "базы" простых первообразных =)


Это сообщение отредактировал(а) Partizan - 17.11.2006, 22:33


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
albertn
Дата 18.11.2006, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: нет
Всего: 34



Цитата(Partizan @  15.11.2006,  18:53 Найти цитируемый пост)
Sartorius,  =) ну если так , то задача сводится к вбиванию "базы" простых первообразных =)
А смысл?
Не все так просто. Можно конечно записать несколько частных случаев интегралов и потом их разбирать, но это глупо, и не правильно.
Можешь попробывать приконнектиться к мепловской либе, и будет счастье
А вообще лучше писать сразу на мэпле, и не мучаться smile
PM WWW ICQ   Вверх
Partizan
Дата 19.11.2006, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 67



Цитата(albertn @ 18.11.2006,  15:25)
Цитата(Partizan @  15.11.2006,  18:53 Найти цитируемый пост)
Sartorius,  =) ну если так , то задача сводится к вбиванию "базы" простых первообразных =)
А смысл?
Не все так просто. Можно конечно записать несколько частных случаев интегралов и потом их разбирать, но это глупо, и не правильно.
Можешь попробывать приконнектиться к мепловской либе, и будет счастье
А вообще лучше писать сразу на мэпле, и не мучаться smile

albertn
Цитата

Partizan,  как я понял ("символьный решатель интегралов") человеку нужно не определенный интеграл численно посчитать,  а найти вид первообразной ф-ии (для простых случаев) .



--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Пингвина
Дата 23.11.2006, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.11.2006

Репутация: нет
Всего: нет



могу пример привести:
на ввод: 3*(x**2)+(x**3-x)*(x-1)
должно вывести: 6*x+(3*x-1)*(x-1)+(x**3-x)*1  ну или что-то вроде этого smile

Добавлено @ 17:03 
не правильно я вывод написала!))))) это я производную написала....

Добавлено @ 17:04 
короче, в выводе должна быть первообразная
PM MAIL   Вверх
albertn
Дата 23.11.2006, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: нет
Всего: 34



А какие то возможны функции (sin, cos, ln, tg, exp, ...), или только числа, x, арифметические операции, скобки и возведение в степень?

Добавлено @ 17:19 
Если так, то все оказывается несложным. Вот необходимая структура алгоритма:
  • Считывание с клавиатуры или с других источников данных исходного выражения
  • Раскрытие скобок
  • Разбиение по суммам (разностям)
  • Анализ каждого элемента. Он должен иметь структуру a*x**n
  • Нахождение первообразной a*x**n. (элементарно)
  • Запись полученных первообразных в инфиксной форме записи
  • Соединение полученных первообразных при помощи соответствующих знаков (сумма-разность)
  • Вывод полученного выражения на экран (или куда надо)

PM WWW ICQ   Вверх
Пингвина
Дата 24.11.2006, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.11.2006

Репутация: нет
Всего: нет



там должны участвовать и синусы, и косинусы, и логарифмы...
и еще хотелось бы в программном виде увидеть ввод, вывод на экран и хотябы пару примеров с син и со степенью! smile 
PM MAIL   Вверх
JackYF
Дата 24.11.2006, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Ага, а мне интересно, как программно вы будете брать интегралы типа x*log(x), x*x*sin(x) и т.д.
Не думаю, что это можно быстро запрограммить.
Те интегралы, что я назвал, берутся по частям( иногда даже не один раз ).
Не представляю себе, как нормально это программно реализовать - можно теоретически, но уж очень геморно...

Пингвина, не знаю... Наверное, математический парсинг и математическое интегрирование сделать будет трудно.

Добавлено @ 19:43 
А если потребуется замена переменной, то там вообще ... !


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Пингвина
Дата 27.11.2006, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.11.2006

Репутация: нет
Всего: нет



спасибо, прямо обнадежили! можете, хотябы, для простых полиномов и синусов, косинусов написать?? smile 
PM MAIL   Вверх
Silver
Дата 27.11.2006, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 1.9.2005

Репутация: нет
Всего: 1



Первые программы символьного интегрирования были написаны еще в начале 60 - ых.
Для интеграла там строилось последовательное дерево решений...на каждом узле дерева  применялись различные методов интегрирования ...
Данная задача скорее всего решаеться с использованием продукционной системы правда когда неизвестен конечный результат. (продукционные экспертные системы)  это один из методов ИИ. Используються те же методики что и вмашинном доказательстве теорем. Основная трудность избежать зацикливания.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0883 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.