PDA

查看完整版本 : [MATLAB数学相关] 求助关于非线性方程的求解问题


simon8001
2011-08-23, 10:03
http://tech.dianyuan.com/upload/tech/2009/10/14/1255490561-211854.jpg
我写了点程序,已知l=650,d=5求m
我现在是想利用已经求得的m反算l,条件是d=4
clc
clear all
tic
fprintf('\r***********线间距5m&60kg轨*********\r')
miu=4*pi*10^(-7);
l=650;
d=5;
m1=log((2*l)/d-1);
m2=(miu*l)/(2*pi);
m=m1*m2
希望得到你们的帮助!

黄营磊
2011-08-23, 11:58
>> y=[];xx=600:10:700;x0=600;h=optimset;h.Display='off';
miu=4*pi*10^(-7);
A=miu/(2*pi);
D=5
for x=xx,f=@(l)A*l*(log(2*l/D)-1)-x;
y1=fsolve(f,x0,h);x0=y1;y=[y,y1];
end
plot(xx,y)

/***可以画出l与M之间的关系**/

simon8001
2011-08-29, 08:20
谢谢您的回复!
我弄下来试试!