数学建模社区-数学中国
标题: [求助]求助!matlab求解复杂非线性方程组,急急急!!!在线等 [打印本页]
作者: laokang56970 时间: 2008-7-30 16:06
标题: [求助]求助!matlab求解复杂非线性方程组,急急急!!!在线等
各位大侠,我的课题现在遇到了大麻烦。课题中的一组三个方程组成的非线性方程组,没办法解出来,请求大家帮忙,我是新手,matlab不熟,这么复杂的方程组,我不知道如何下手啊。问题如下:
t(1:n)=[126,118,40,67,164,638,750,69,71,29,124,91,139,70,436,19,357,49,26,163,108,110];
n=22;
未知量:α、β、q!
- n* l6 O w4 u! A W8 W
# E8 n* f( z7 z- H大家帮忙看看,我的程序哪里出错了
& ~1 v! z% {1 b }. j* e& d2 L2 R. h: B
7 `' k3 h7 C5 L: f3 o! {我自己编了个程序,不知道哪里出错了,一直是busy,不出结果,大家帮忙看看。拜托
方程见上:
程序如下:
function F = equation08729(x,y,z) %x代表α;y代表β;z代表q
syms x y z
n=23;f1=0;f2=0;g2=0;h1=0;h2=0;h3=0;
t=[126,118,40,67,164,638,750,69,71,7,22,124,91,139,70,436,19,357,49,26,163,108,110];
for i=2:n
for j=1:i-1
f1=f1+t(j);
end
f2=f2+(t(i)+z*f1)^y-(z*f1)^y;
g2=g2+log(t(i)+z*f1)-((t(i)+z*f1)/x)^y*log((t(i)+z*f1)/x)+(z*f1/x)^y*log(z*f1/x);
h1=h1+f1/(t(i)+z*f1);
h2=h2+f1^y;
h3=h3+(t(i)+z*f1)^(y-1)*f1;
end
f3=y/x^(y+1)*f2+(y*(t(1)/x)^y-n-y+1)/x;
g3=n/y+log(t(1)/x)-(t(1)/x)^y*log(t(1)/x)+g2;
h4=(y-1)*h1+y*z^(y-1)/x^y*h2-y/x^y*h3;
F=[f3;g3;h4];
%%%[x0,y0,z0] = [80; 1;0.5]; % Make a starting guess at the solution
%%%x0=80;y0=1;z0=0.5;
options=optimset('Display','iter'); % Option to display output
set(0,'RecursionLimit',10000);
[x,y,z] = fsolve(@equation08729,[80,1,0.5],options); % Call optimizer
[attach]5629[/attach]
[attach]5630[/attach]
-
方程一.jpg.jpg
(70.5 KB, 下载次数: 202)
方程一.jpg
-
方程二.jpg.jpg
(140.12 KB, 下载次数: 235)
方程二.jpg
作者: laokang56970 时间: 2008-7-30 16:07
[attach]5631[/attach]
-
方程三.jpg.jpg
(101.56 KB, 下载次数: 204)
方程三.jpg
作者: liwenhui 时间: 2008-7-30 22:35
我在程序里没找到错误,也不存在死循环,你的方程复杂,可能需要一点时间才能算出来。我也经常碰到方程复杂的情况,常常是算上半小时也出不了结果,程序编制好了,到最后往往是拼计算机的配置高低。试试别的方法,数值方法逼近试试。
作者: laokang56970 时间: 2008-7-31 09:08
一定是程序有问题,我运行半天都没有反应,有时候程序还会自动退出,版主帮忙仔细看看
作者: liwenhui 时间: 2008-7-31 18:02
没有死循环呀!
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) |
Powered by Discuz! X2.5 |