PDA

查看完整版本 : [MATLAB数学相关] 求解一元积分方程遇到的问题


443499915
2017-01-11, 14:56
问题描述:
目的:求解一元积分方程中的变量x(或者表达式x=…)
遇到问题:
1. 用matlab计算,得不到x的准确表达式,例如x=atan(…);
2. 三角函数积分默认是和差合并,例如cos(A - x),能不能拆开成cos(A)*cos(x)+sin(A)*sin(X)

Matlab程序如下:
clear;
syms A B C D E ; %常量
syms x; %积分方程求解的量
syms t; %积分变量

y1=int(sin(t- x),t,0,A)
y2=int(sin(t- x),t,A,B)
y3=int(sin(t- x),t,B,pi)
y4=int(t*sin(t- x),t,0,A)
y5=int(t*sin(t- x),t,B,pi)
y = D*y1 + E*y2 + (E+C*B)*y3 + C*y4 -C*y5;
x = solve(y==0,x)

运行结果:
y1 =
cos(x) - cos(A - x)
y2 =
cos(A - x) - cos(B - x)
y3 =
cos(x) + cos(B - x)
y4 =
sin(A - x) + sin(x) - A*cos(A - x)
y5 =
sin(x) - sin(B - x) + B*cos(B - x) + pi*cos(x)
x =
-log(((C*exp(A*i)*i + C*exp(B*i)*i + D*exp(A*i + B*i) - D*exp(B*i) +……(很长)