Форум программистов, компьютерный форум, киберфорум
Наши страницы
Prolog
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
CeKaC
-2 / 14 / 1
Регистрация: 13.05.2010
Сообщений: 94
#1

Преобразование тригонометрических выражений

10.12.2011, 22:28. Просмотров 901. Ответов 4
Метки нет (Все метки)

привет. есть у кого-то прога по преобразоыванию тригоннометрических выражений?


занялся изучение пролога и заинтересовался задачей не в коммерческих целях, а для души, так сказать)
если есть какая-то литературка или прогроммка подобная или еще чего буду признателен )

и-мейл se-kas@mail.ru
45948528два
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2011, 22:28
Ответы с готовыми решениями:

Упрощения тригонометрических выражений
Здраствуйте. Очень нужна помощь в написании программы (курсовая работа) на...

Упрощение выражений
Такое задание: Создать процедуру simplify (+Expr,–Result), которая выполняет...

Упрощение арифметических выражений
Буду очень благодарен, если мне помогут разобраться с этой задачей. В общем...

Вычислитель арифметических выражений (DCG)
Здравствуйте! Задача тривиальная : нужно реализовать синтаксический анализатор...

Создать список арифметических выражений
Определите предикат p(+List1,+List2,?List3), который из двух списков (возможно...

4
freest
Українець
422 / 316 / 16
Регистрация: 26.09.2009
Сообщений: 844
10.12.2011, 22:35 #2
а на телефон не позвонить?
0
Грымзик
2477 / 1454 / 34
Регистрация: 14.09.2009
Сообщений: 2,742
10.12.2011, 23:47 #3
Вот пример одной из формул Cинус и косинус от суммы произвольного числа слагаемых Если под преобразованием только стандартные формулы подразумеваются, то вот и остальные аналогично сделайте.
1
CeKaC
-2 / 14 / 1
Регистрация: 13.05.2010
Сообщений: 94
11.12.2011, 17:20  [ТС] #4
Отлично, все понятно!
Prolog
1
2
3
4
5
6
simplify(sin(A+B),SinA*CosB+CosA*SinB):-
    !,
    simplify(sin(A),SinA),
    simplify(sin(B),SinB),
        simplify(cos(A),CosA),
    simplify(cos(B),CosB).
но возникает вопрос:
Имея
Prolog
1
simplify((sin2(A)+cos2(A)),1).
(синус квадрат+косинус квадрат) как запрограммировать логику в выражении SIN( sin2(x)+cos2(x) ) на распознавание того, что должен быть SIN(1)??

Добавлено через 1 минуту
то есть сначала заглянуть в скобки и сделать simplify внутри скобок, а затем уже применть формулы из базы знаний?
0
Грымзик
2477 / 1454 / 34
Регистрация: 14.09.2009
Сообщений: 2,742
11.12.2011, 18:12 #5
Да, это я в той теме криво сделала
Prolog
1
2
3
4
5
6
7
8
simplify(X,X):-atomic(X).
simplify(sin2(A)+cos2(A),1).
simplify(cos2(A)+sin2(A),1).
simplify(F,F1):-F=..[Func,A],simplify(A,A1),!,F1=..[Func,A1].
simplify(sin(A+B),SinA*CosB+CosA*SinB):-!,simplify(sin(A),SinA),simplify(sin(B),SinB),
        simplify(cos(A),CosA),simplify(cos(B),CosB).
simplify(cos(A+B),CosA*CosB-SinA*SinB):-!,simplify(sin(A),SinA),simplify(sin(B),SinB),
        simplify(cos(A),CosA),simplify(cos(B),CosB).
0
11.12.2011, 18:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2011, 18:12

Разбор и вычисление значений арифметических выражений
Реализовать разбор и вычисление значений арифметических выражений, атомы...

Программа для упрощения логических выражений
Всё как всегда. Буквы дружат с буквами, цифры с цифрами. Но возникает вопрос:...

Программа символьного дифференцирования арифметических выражений. Помогите
Доброго времени суток,задача такая: "Написать программу символьного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru