Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
 Аватар для Michael777
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 42

дифференцирование

27.04.2010, 06:13. Показов 3426. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать систему символьного дифференцирования для функций
x^n, sin(x), cos(x), exp(x) и любых их комбинаций (+,-,*,/, сложные функции).
Под ARITY или SWI-PROLOG.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.04.2010, 06:13
Ответы с готовыми решениями:

Символическое дифференцирование дробно-рациональной функции
Написать программу символического дифференцирования дробно-рациональной функции.

Дифференцирование
Доброго всем времени суток :) Захотелось реализовать дифференцирование в консольном приложении на С# выражений типа (t + 5), sin(t),...

Дифференцирование
Разбираюсь в коде для дифференцирования на Lisp. ( defun dif_g(L x) (cond ((atom L)(if(Eql L x)1 0)) (T(funcall (get(car...

4
 Аватар для Michael777
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 42
09.05.2010, 18:25  [ТС]
Может быть у кого-нибудь идеи есть по решению этой задачи?
0
 Аватар для Michael777
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 42
12.05.2010, 22:55  [ТС]
%в качестве базы рекурсии взял нижеописанные наборы фактов и правил:
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
elfunc(X,X).
elfunc(X+Y,X).
elfunc(X-Y,X).
elfunc(Y+X,X).
elfunc(Y-X,X).
elfunc(X*Y,X).
elfunc(X/Y,X).
elfunc(Y*X,X).
elfunc(Y/X,X).
 
elfunc(sin(X),X).
elfunc(cos(X),X).
elfunc(exp(X),X).
elfunc(X^Y,X).
elfunc(X^Y,Y).
 
hfunc(X,Y,L):-elfunc(X,Y).
hfunc(A,B,T):-elfunc(A,C),notinlist(C,T),hfunc(C,B,[C|T]).
func(X,Y):-hfunc(X,Y,[]).
 
ediff(C,X,0):-not(func(C,X)).
ediff(X,X,1).
ediff(X^Y,X,Y*X^Z):-not(func(Y,X)),number(Y), Z is Y-1.
ediff(X^Y,X,Y*X^Z):-not(func(Y,X)),not(number(Y)), Z = (Y-1).
ediff(sin(X),X,cos(X)).
ediff(cos(X),X,-sin(X)).
ediff(exp(X),X,exp(X)).
%Подскажите что делать дальше??? Как осуществить дифференцирование сложных функций?
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
13.05.2010, 00:39
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
p(N,0):-number(N).
p(x,1).
p(x^N,N*x^N1):-!,N1 is N-1.
p(sin(x),cos(x)):-!.
p(cos(x),-sin(x)):-!.
p(exp(x),exp(x)):-!.
p(-F,-Fp):-p(F,Fp).
p(N*F,N*Fp):-p(F,Fp).
p(F^N,(N*F^N1)*Fp):-p(F,Fp),N1 is N-1.
p(A+B,Ap+Bp):-p(A,Ap),p(B,Bp).
p(A-B,Ap-Bp):-p(A,Ap),p(B,Bp).
p(A*B,Ap*B+A*Bp):-p(A,Ap),p(B,Bp).
p(A/B,(Ap*B-A*Bp)/(B)^2):-p(A,Ap),p(B,Bp).
p(sin(F),cos(F)*Fp):-p(F,Fp).
p(cos(F),-sin(F)*Fp):-p(F,Fp).
p(exp(F),exp(F)*Fp):-p(F,Fp).
?- p(sin(3*x^2)+exp(exp(x))+cos(-x),A).
A = cos(3*x^2)* (3* (2*x^1))+exp(exp(x))*exp(x)+ -sin(-x)* -(1)
1
157 / 2 / 1
Регистрация: 18.07.2011
Сообщений: 10
27.09.2012, 15:04
Лучший ответ Сообщение было отмечено как решение

Решение

Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
d(X,X,1):-!. 
d(C,_X,0):-atomic(C). 
d(-U,X,-A):-d(U,X,A). % (-u)’=-u’
d(U+V,X,A+B):-d(U,X,A),d(V,X,B). % (u+v)’=u’+v’.
d(U-V,X,A-B):-d(U,X,A),d(V,X,B). 
d(C*U,X,C*A):-atomic(C),C\=X,d(U,X,A),!.
d(U*V,X,U*B+A*V):-d(U,X,A),d(V,X,B). % (uv)’=uv’+u’v
d(U/V,X,(A*V-U*B)/V^2):-d(U,X,A),d(V,X,B).
d(U^C,X,C*A*U^(C-1)):-d(U,X,A).
d(log(U),X,A/U):-d(U,X,A).
 
/* ?-d(x*x-2,x,R).
R=x*1+1*x-0
Полученный результат нужно упростить с помощью специальной программы.
*/
 
упростить(E,E):-atomic(E),!.
упростить(E,R):-E=..[Op,A],упростить(A,X),s(Op,X,R).
упростить(E,R):-E=..[Op,A,B],
   упростить(A,X),упростить(B,Y),s(Op,X,Y,R).
 
% таблица упрощений
s(-,X,R):-number(X),R is -X.
s(-,X,-X).
s(+,X,Y,R):-number(X),number(Y),R is X+Y.  % 2+1=3
s(-,X,Y,R):-number(X),number(Y),R is X-Y.  % 2-1=1
s(+,X,0,X).  % x+0=x
s(-,X,0,X).  % x-0=x
s(+,0,X,X).  % 0+x=x
s(-,0,X,-X).  % 0-x=-x
s(-,X,X,0).  % x-x=0
s(+,Z,Z,2*Z).
s(+,X*Z,Y*Z,R*Z):-number(X),number(Y),R is X+Y.
s(+,X*Z,Z,R*Z):-number(X),R is X+1.
s(+,Z,Y*Z,R*Z):-number(Y),R is 1+Y.
s(-,X*Z,Y*Z,R*Z):-number(X),number(Y),R is X-Y.
s(-,X*Z,Z,R*Z):-number(X),R is X-1.
s(-,Z,Y*Z,R*Z):-number(Y),R is 1-Y.
s(+,Z^N,Z^N,2*Z^N).
s(+,-Z^N,Z^N,0).
s(-,Z^N,Z^N,0).
s(-,-Z^N,Z^N,-2*Z^N).
s(+,X*Z^N,Y*Z^N,R*Z^N):-number(X),number(Y),R is X+Y.
s(+,Z^N,Y*Z^N,R*Z^N):-number(Y),R is 1+Y.
s(+,X*Z^N,Z^N,R*Z^N):-number(X),R is X+1.
s(-,Z^N,Y*Z^N,R*Z^N):-number(Y),R is 1-Y.
s(-,X*Z^N,Z^N,R*Z^N):-number(X),R is X-1.
s(-,-Z^N,Y*Z^N,R*Z^N):-number(Y),R is -1-Y.
s(-,-X*Z^N,Z^N,R*Z^N):-number(X),R is -X-1.
 
% . . . % чем больше будет рассмотрено случаев, тем лучше упрощение
s(+,X,Y,X+Y). % ловушка для +
s(-,X,Y,X-Y). % ловушка для -
 
s(*,0,_,0).
s(*,_,0,0).
s(*,X,1,X).
s(*,1,X,X).
s(*,X,X,X^2).
s(*,-X,X,-X^2).
s(*,C*X,X,C*X^2):-number(C).
s(*,C*X,X^N,C*X^K):-number(C), K is N+1.
s(*,C*X^N,X,C*X^K):-number(C), K is N+1.
s(*,X,X^N,X^K):- K is N+1.
s(*,X^N,X,X^K):- K is N+1.
 
% . . . % другие правила упрощения
s(*,X,Y,X*Y). % ловушка для *
 
s(^,0,_,0).
s(^,_,0,1).
s(^,X,1,X).
s(^,X,Y,X^Y). % ловушка для ^
% . . . % правила для – и /
 
% goal - d(x*x-2,x,R).
% goal - d(x^2+x-x^2-2,x,R), упростить(R,Р).
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.09.2012, 15:04
Помогаю со студенческими работами здесь

Дифференцирование
найти производную функции вычислить значение первой и второй производных в заданной точке y=7/x^3 x(с индексом 0)=1

Дифференцирование
помогите продифференцировать где z=z(t), вот это уравнение : х= z*e^-Bt (B -это бета) - х'=? х''=? т.е 2 раза продифференцировать

Дифференцирование
Вобщем такое : Уравнение : \omega \( t - \frac{x}{v} \) + \alpha = A \ \ \ , where\ \omega,\ t,\ v,\ \alpha - variables ,\ \ A -...

Дифференцирование
здравствуйте, помогите пожалуйста с решением или хотя бы умными мыслями: Доказать, что \pi * sin(x)\geq 2x \left(x\epsilon \left \right)

Дифференцирование.
Условие задания: Написать программу, которая по заданной формуле строит дерево и производит вычисления с помощью построенного дерева....


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru