24小时热门版块排行榜    

查看: 718  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

吟风舞墨

银虫 (小有名气)

[求助] 求解一元积分方程遇到的问题 已有1人参与

问题描述:
目的:求解一元积分方程中的变量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) +……(很长)
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

512095518

专家顾问 (正式写手)

【答案】应助回帖

引用回帖:
3楼: Originally posted by 吟风舞墨 at 2017-01-12 09:31:55
谢谢你的回答。
但是积分上下限是常数,积出来只有sinx cosx 是可以用arctan把x表达式解出来的
为什么Matlab算不出来呢?...

你的具体常数是多少呢,给出来,我试下。
没有极限,只有超越!
4楼2017-01-12 09:35:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

512095518

专家顾问 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
例如你要才开y1的结果,可以在后面加上expand(y1),来展开结果就行。
我试着算了算你的结果,最后x得到的是一个矩阵,我建议你最好先把数先带进去,再化简可能更好。
没有极限,只有超越!
2楼2017-01-11 16:47:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

吟风舞墨

银虫 (小有名气)

引用回帖:
2楼: Originally posted by 512095518 at 2017-01-11 16:47:27
例如你要才开y1的结果,可以在后面加上expand(y1),来展开结果就行。
我试着算了算你的结果,最后x得到的是一个矩阵,我建议你最好先把数先带进去,再化简可能更好。

谢谢你的回答。
但是积分上下限是常数,积出来只有sinx cosx 是可以用arctan把x表达式解出来的
为什么Matlab算不出来呢?
3楼2017-01-12 09:31:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

吟风舞墨

银虫 (小有名气)

引用回帖:
4楼: Originally posted by 512095518 at 2017-01-12 09:35:52
你的具体常数是多少呢,给出来,我试下。...

只是推导这个式子,常数没有定
5楼2017-01-13 09:26:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见