24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1459  |  回复: 9

chuzhenhui

金虫 (小有名气)

[交流] 【求助】如何解一个含定积分的方程组

我想解一个方程组,表达式如下:
x1+x2-0.091=0;
x1-a/(1-k1*a+c1*k1*a)=0;
x2-f(t)-0.0778=0;
t=quad(@(a)((k1^2*(c1-1).*a.^2+1)./((1-k1.*a).^2.*(c1*k1.*a-k1.*a+1).^2)),0.1404,a);

其中x1,x2,t,a是四个未知数,其他是常数。f(t)是关于未知数t的表达式。
这个方程组是我想解的方程组的简化,只是用来表示一个类似的方程组表达式,最终我是想得到t的值。

我用solve函数解:
[x1,x2,t,a]=solve('x1+x2-0.091=0','x1-a/(1-k1*a+c1*k1*a)=0','x2-f(t)-0.0778=0','t=quad(@(a)((k1^2*(c1-1).*a.^2+1)./((1-k1.*a).^2.*(c1*k1.*a-k1.*a+1).^2)),0.1404,a)')

但是解不出来,matlab报错说我其中的定积分的表达式
t=quad(@(a)((k1^2*(c1-1).*a.^2+1)./((1-k1.*a).^2.*(c1*k1.*a-k1.*a+1).^2)),0.1404,a);
is not a valid expression or equation.
意思应该是说这个方程的表达式有问题。

我想请教各位的是这种含有定积分的方程组怎么解的?是化成其他形式,用int 积分好像也不行,还是用别的函数解?能否给我举个简单的例子,各位大侠拜托了,谢谢!!!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

找到自己。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主

chuzhenhui(金币+1): 2010-10-28 13:27:38
chuzhenhui(金币+1): 2010-10-28 13:28:08
把方程组原型和其中的参数给出来吧。
用solve肯定不能解的。
明德厚学、求是创新
2楼2010-10-27 21:42:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chuzhenhui

金虫 (小有名气)


zzuwangshilei(金币+1):鼓励提出自己的疑问 2010-10-28 19:56:15
引用回帖:
Originally posted by xiegangmai at 2010-10-27 21:42:43:
把方程组原型和其中的参数给出来吧。
用solve肯定不能解的。

我的原方程和参数都非常复杂,写出来很长,但格式基本就这样的。我再写简单一点的形式,解的方法应该是一样的:



其中f(x)的表达式很复杂,不能用int符号积分积出来,只能用quad数值积分。

这种形式的方程组,怎么解的?我在编gui程序,卡在这了,指导下,谢谢!

[ Last edited by chuzhenhui on 2010-10-28 at 13:26 ]
找到自己。
3楼2010-10-28 13:24:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主


zzuwangshilei(金币+1):积极参与讨论 2010-10-28 19:56:22
用ode系列函数来进行求解吧,把积分方程变换成微分形式,用ode45解来试试。
明德厚学、求是创新
4楼2010-10-28 14:33:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab

chuzhenhui(金币+4):谢谢提示! 2010-10-29 12:54:44
此类方程 解法不少,其实解方程就是优化,看与0 的误差达到一定的精度就可以啦 所以考虑优化的方法,或者fsolve亦可以~
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
5楼2010-10-28 21:06:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chuzhenhui

金虫 (小有名气)

引用回帖:
Originally posted by lijinfeng042 at 2010-10-28 21:06:56:
此类方程 解法不少,其实解方程就是优化,看与0 的误差达到一定的精度就可以啦 所以考虑优化的方法,或者fsolve亦可以~

我用fsolve试了,还是不行,我把我的原方程贴出来,项数挺多,但方程结构很简单,你帮我看下吧:
function H=myfun(x)
syms w1 c1 k1 d p pa s hum  w  sumy  x         %蓝色字体是常数,sumy是一个求和项,包含未知数x(4),但在列方程的时候不知道怎么表达出来,所以就先分开列了。

%4个方程

H=[x(1)+x(2)-0.091;   x(3)-quad(((w1*c1*k1*w*d)/(p*pa*s*3600))*((k1^2*(c1-1).*x(4)^2+1)./((hum-x(4)).*(1-k1.*x(4)).^2.*(c1*k1.*x(4)-k1.*x(4)+1).^2)),0.1404,x(4));    x(2)-0.0778-0.0518*sumy;    x(1)-(w1*c1*k1.*x(4))./((1-k1.*x(4)).*(1-k1.*x(4)+c1*k1.*x(4)))];

其中的的quad(((w1*c1*k1*w*d)/(p*pa*s*3600))*((k1^2*(c1-1).*x(4)^2+1)./((hum-x(4)).*(1-k1.*x(4)).^2.*(c1*k1.*x(4)-k1.*x(4)+1).^2)),0.1404,x(4));就是我的定积分部分的方程,我用quad表示了。
%常数取值
w1=0.0378;c1=9.992;k1=0.9247;p=2.1e-14;pa=2810.94;w=3.7;hum=0.9;s=64;d=30e-4;

sumy=0;
for n=0:6
    sumy=sumy+8/((2*n+1)^2*3.141596^2)*exp(-(2*n+1)^2*3.141596^2*0.5*10e-4*36*x(4));
end

x0=[0.001;0.001;0.001;0.001];
[x] = fsolve(@myfun,x0);

这样解不出来,问题出在哪?麻烦看看吧,谢谢了!

[ Last edited by chuzhenhui on 2010-10-29 at 13:20 ]
找到自己。
6楼2010-10-29 13:00:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab

引用回帖:
Originally posted by chuzhenhui at 2010-10-29 13:00:34:


我用fsolve试了,还是不行,我把我的原方程贴出来,项数挺多,但方程结构很简单,你帮我看下吧:
function H=myfun(x)
syms w1 c1 k1 d p pa s hum  w  sumy  x          ...

不好意思 近来忙~
还是看不太明白你的函数myfun 是一个方程组? 你前面化简的貌似只是一个的吧 呵呵
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
7楼2010-10-29 22:49:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chuzhenhui

金虫 (小有名气)

引用回帖:
Originally posted by lijinfeng042 at 2010-10-29 22:49:49:

不好意思 近来忙~
还是看不太明白你的函数myfun 是一个方程组? 你前面化简的貌似只是一个的吧 呵呵

是的,myfun是一个方程组,由四个方程组成,其中有一个是定积分方程,就是quad后面的表达式。这个方程组形式跟我在二楼贴图的那个方程组差不多,只是多了一个sumy项的方程。

我的问题就是如何在matlab里编程求解这个方程组。

我的编程存在一些问题,你如果能按自己的思路解出来就更好了,谢谢!
找到自己。
8楼2010-10-30 10:17:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab

给个文档吧 呵呵 发到我邮箱 有空看看 这几天忙着招聘会...
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
9楼2010-10-30 19:31:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chuzhenhui

金虫 (小有名气)

引用回帖:
Originally posted by lijinfeng042 at 2010-10-30 19:31:42:
给个文档吧 呵呵 发到我邮箱 有空看看 这几天忙着招聘会...

好的,我也忙着招聘会,现在论文的软件部分还没写好,那个急啊。。。
我晚点整理好发给你吧
谢谢了!
找到自己。
10楼2010-11-01 09:44:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 chuzhenhui 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见