24小时热门版块排行榜    

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

521438

铜虫 (初入文坛)

[求助] 求助!matlab用fsolve函数求解非线性方程组的问题!

我要用fsolve函数求解一个非线性方程组,程序代码如下:
function p=fsolveDemon1
x0=unifrnd(0.1,0.1);
options=optimset('MaxFunEvals',20000,'MaxIter',2000);
p=fsolve(@f,x0,options);
function F=f(x)
syms I1 I2
F=[I1*x(1)^2*(3*x(3)*(x(1)^2+x(3)^2)^(-7/2)-7*x(3)^3*(x(1)^2+x(3)^2)^(-9/2))+I2*x(2)^2*(3*x(3)*(x(2)^2+x(3)^2)^(-7/2)-7*x(3)^3*(x(2)^2+x(3)^2)^(-9/2));
I1*x(1)^2*(-5*x(3)*(x(1)^2+x(3)^2)^(-9/2)+30*x(3)^3*(x(1)^2+x(3)^2)^(-11/2)-33*x(3)^5*(x(1)^2+x(3)^2)^(-13/2))+I2*x(2)^2*(-5*x(3)*(x(2)^2+x(3)^2)^(-9/2)+30*x(3)^3*(x(2)^2+x(3)^2)^(-11/2)-33*x(3)^5*(x(2)^2+x(3)^2)^(-13/2));
I1*x(1)^2*(35*x(3)*(x(1)^2+x(3)^2)^(-11/2)-385*x(3)^3*(x(1)^2+x(3)^2)^(-13/2)+1001*x(3)^5*(x(1)^2+x(3)^2)^(-15/2)-715*x(3)^7*(x(1)^2+x(3)^2)^(-17/2))+I2*x(2)^2*(35*x(3)*(x(2)^2+x(3)^2)^(-11/2)-385*x(3)^3*(x(2)^2+x(3)^2)^(-13/2)+1001*x(3)^5*(x(2)^2+x(3)^2)^(-15/2)-715*x(3)^7*(x(2)^2+x(3)^2)^(-17/2))];
    end
end
可是运行总是出现错误,请求各位高手帮帮我,我刚开始学习matlab,发现这个论坛特别好,刚刚注册,还没有太多的金币送给大家!不胜感激!!!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)

我没头衔

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

【答案】应助回帖

引用回帖:
16楼: Originally posted by 521438 at 2012-05-10 16:21:18:
我的程序如下:
function x=fsolveDemon1
x0=;
opt=optimset('Display','off')
x=fsolve(@f,x0,opt);
function F=f(x)
syms I1 I2 r1 r2 a1 a2
r1=x(1);
r2=x(2);
a1=x(3);
a2=x(3);
F=;
    end
end

你这样的程序是根本求解不了的。
fsolve函数是求解非线性方程组数值解的,是不能带符号的。
B=I*r^2/2*(r^2+z^2)^(-3/2);这里面的I与I1、I2是什么关系?
把d3Bdz3,d5Bdz5,d7Bdz7写出来,分别带入
I1*d3Bdz3(z=a1)+I2*d3Bdz3(z=a2)=0
I1*d5Bdz5(z=a1)+I2*d5Bdz5(z=a2)=0
I1*d7Bdz7(z=a)+I2*d7Bdz7(z=a2)=0
三个方程,并写入f(x)中,I1、I2、r作为x(4)、x(5)、x(6),即F内六个表达式。

你先试试吧,不行了把数学模型用图贴出来吧,把已知条件和未知条件描述清楚。
明德厚学、求是创新
17楼2012-05-10 23:25:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 20 个回答

521438

铜虫 (初入文坛)

送鲜花一朵
有人看到我的帖子么?大家知道么?帮我看一下。十分感谢!
2楼2012-05-07 20:49:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jinpeng_6118

木虫 (正式写手)

LZ你好,请问下 MatLab  5.2 这个软件哪里能有下载的?谢谢
人生百态原为海,看破红尘方为岸!
3楼2012-05-08 16:01:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

521438

铜虫 (初入文坛)

引用回帖:
3楼: Originally posted by jinpeng_6118 at 2012-05-08 16:01:50:
LZ你好,请问下 MatLab  5.2 这个软件哪里能有下载的?谢谢

为什么要5.2的呢?我用的是7.0的!需要的话,可以发给你!我也不知道哪里有5.2的,不好意思啊!
4楼2012-05-08 17:15:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见