24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1462  |  回复: 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的回帖

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的回帖
查看全部 10 个回答

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的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见