| 查看: 805 | 回复: 1 | |||
[交流]
用MATLAB解非线性方程组,fsolve,各种问题
|
|
主函数 global G ; %全局变量定义 clear all; global G ; %全局变量定义 global L ; global B ; global rz ; global l ; global f ; global u; global K; global g; global b; global cy; global cx; global h; global p; G=213800;%N L=4.51;% m B=2.84;% m rz=0.2626;%m l=0.148;%m h=1.123;%m f=0.05; u=0.9; K=0.015; g=10; b=0.29; cx=0; cy=0.31; rou=1:100; [a,c]=size(rou); for n=a:1:c; p=rou(1,n); x0=[0.2 0.4 0.2]; % Make a starting guess at the solution options=optimset('Display','final','TolFun',1e-2,'MaxFunEvals',1000); % Turn off Displayclc [x,Fval]=fsolve(@myfunn1,x0,options) ; z(1,n)=x(1); z(2,n)=x(2); z(3,n)=x(3); n=n+1; end plot(rou,z(1, );% F=myfun(x0); % fun(1)=x(1); % fun(2)=x(2); % fun(3)=x(3); 子函数 %子函数 function F=myfunn1(x) global G ; global L ; global B ; global l ; global f ; global u; global K; global g; global b; global cy; global cx; global h; global p; v=0.1; N1=0.5*G-(h*G*v^2*sqrtm((p*B)^2-x(1).^2)/(B*g*(p*B)*(p*B))-cx*G/B); %R=(p*B) N2=0.5*G+(h*G*v^2*sqrtm((p*B)^2-x(1).^2)/(B*g*(p*B)*(p*B))-cx*G/B); Rf1=N1*f; Rf2=N2*f; a=6*G/(g*b*l^3)*(cy+h*v^2.*x(1)/(g*(p*B)*(p*B))); Sszn1=-b.*quad(@myfun1,-L/2,L/2); function z1 = myfun1(y1) fai1=(L/2+cy-x(1)-y1)./(sqrt((p.*B)^2-x(1).^2)-B/2+cx-x(2)); jX1=(sqrt((p.*B)^2-x(1).^2)-B/2+cx).*(cos(fai1)-1)-y1.*sin(fai1); jY1=(sqrt((p.*B)^2-x(1).^2)-B/2+cx).*sin(fai1)-L/2+y1.*cos(fai1); j1=sqrt(jX1.^2+jY1.^2); yx1=-y1./(sqrt(x(2).^2+y1.^2)); z1 = u.*(N1./(l*b)-y1.*a).*(1-exp(-j1/K)).*yx1; end % plot(rou,Sszn1); % hold on Sszw1=quad(@myfu1,-L/2,L/2); %+quad(@myfun2,1.205,1.501)+quad(@myfun2,0.303,0.599)+quad(@myfun2,-0.599,0.303)+quad(@myfun2,-1.501,-1.205)+quad(@myfun2,-2.255,-1.255)); function z2=myfu1(y2) fai2=(L/2+cy-x(1)-y2)./(sqrt((p.*B)^2-x(1).^2)+B/2+cx-x(2));%fai2=(L/2+cy-D-y2)/(sqrt(R^2-D^2)+B/2+cx-A1); jX2=(sqrt((p*B)^2-x(1).^2)+B/2+cx).*(cos(fai2)-1)-y2.*sin(fai2); jY2=(sqrt((p*B)^2-x(1).^2)+B/2+cx).*sin(fai2)-L/2+y2.*cos(fai2); j2=sqrt(jX2.^2+jY2.^2); yx2=-y2./(sqrt(x(3).^2+y2.^2)); z2=u.*(N2./(l*b)-y2.*a).*(1-exp(-j2/K)).*yx2; end %子函数中对应函数3 内纵向力 %first Szn1=-b.*quad(@myf1,-L/2,L/2);%+quad(@myfun3,1.205,1.501)+quad(@myfun3,0.303,0.599)+quad(@myfun3,-0.599,0.303)+quad(@myfun3,-1.501,-1.205)+quad(@myfun31,-2.255,-1.255)) ; function z3=myf1(y3) fai1=(L/2+cy-x(1)-y3)./(sqrt((p*B)^2-x(1).^2)-B/2+cx-x(2));%fai2=(L/2+cy-D-y2)/(sqrt(R^2-D^2)+B/2+cx-A1); jX1=(sqrt((p*B)^2-x(1).^2)-B/2+cx).*(cos(fai1)-1)-y3.*sin(fai1); jY1=(sqrt((p*B)^2-x(1).^2)-B/2+cx).*sin(fai1)-L/2+y3.*cos(fai1); j1=sqrt(jX1.^2+jY1.^2); zx1=x(2)./(sqrt(x(2).^2+y3.^2)); z3=u.*(N1./(l*b)-y3.*a).*(1-exp(-j1/K)).*zx1; end Szw1=-b.*quad(@my1,-L/2,L/2);%+quad(@myfun4,1.205,1.501)+quad(@myfun4,0.303,0.599)+quad(@myfun4,-0.599,0.303)+quad(@myfun4,-1.501,-1.205)+quad(@myfun4,-2.255,-1.255)); function z4=my1(y2) fai2=(L/2+cy-x(1)-y2)./(sqrt((p.*B)^2-x(1).^2)+B/2+cx-x(2));%fai=(L/2+cy-x(1)-y1)./(sqrt((p*B)^2-x(1).^2)-B/2+cx-x(2)); jX2=(sqrt((p*B)^2-x(1).^2)+B/2+cx).*(cos(fai2)-1)-y2.*sin(fai2); jY2=(sqrt((p*B)^2-x(1).^2)+B/2+cx).*sin(fai2)-L/2+y2.*cos(fai2); j2=sqrt(jX2.^2+jY2.^2); zx2=-x(3)./(sqrt(x(3).^2+y2.^2)); z4=u.*(N2./(l*b)-y2.*a).*(1-exp(-j2/K)).*zx2; end %内驱动力矩 MDzn=-0.5.*B.*Szn1; %外驱动力矩 MDzw=-0.5.*B.*Szw1; %子函数中对应函数5 内阻力矩 %first Muzn1=-b.*quad(@myju1,-L/2,L/2);%+quad(@myfun7,1.205,1.501)+quad(@myfun7,0.303,0.599)+quad(@myfun7,-0.599,0.303)+quad(@myfun7,-1.501,-1.205)+quad(@myfun7,-2.255,-1.255)); function z7=myju1(y1) fai1=(L/2+cy-x(1)-y1)./(sqrt((p*B)^2-x(1).^2)-B/2+cx-x(2)); jX1=(sqrt((p*B)^2-x(1).^2)-B/2+cx).*(cos(fai1)-1)-y1.*sin(fai1); jY1=(sqrt((p*B)^2-x(1).^2)-B/2+cx).*sin(fai1)-L/2+y1.*cos(fai1); j1=sqrt(jX1.^2+jY1.^2); yx1=-y1./(sqrt(x(2).^2+y1.^2)); z7=y1*u.*(N1./(l*b)-y1.*a).*(1-exp(-j1/K)).*yx1; end %子函数中对应函数6 外阻力矩 %first Muzw1=-b.*quad(@mytes1,-L/2,L/2);%+quad(@myfun8,1.205,1.501)+quad(@myfun8,0.303,0.599)+quad(@myfun8,-0.599,0.303)+quad(@myfun8,-1.501,-1.205)+quad(@myfun8,-2.255,-1.255)); function z8=mytes1(y2) fai2=(L/2+cy-x(1)-y2)./(sqrt((p.*B)^2-x(1).^2)+B/2+cx-x(2)); jX2=(sqrt((p*B)^2-x(1).^2)+B/2+cx).*(cos(fai2)-1)-y2.*sin(fai2); jY2=(sqrt((p*B)^2-x(1).^2)+B/2+cx).*sin(fai2)-L/2+y2.*cos(fai2); j2=sqrt(jX2.^2+jY2.^2); yx2=-y2./(sqrt(x(3).^2+y2.^2)); z8=y2*u.*(N2./(l*b)-y2.*a).*(1-exp(-j2/K)).*yx2; end F(1)=Sszn1+Sszw1-G*v.^2.*sqrt((p*B)^2-x(1).^2)./(g*p*B*p*B); F(2)=Szn1+Szw1-G*v.^2.*x(1)./(g*p*B*p*B)-Rf1-Rf2; F(3)=MDzw-MDzn-0.5.*B.*(Rf2-Rf1)+(x(1).*sqrt((p*B).^2-x(1).^2)./(p*B)+cx.*x(1)./(p*B)).*G.*v.^2./(g.*p*B)-Muzw1+Muzn1; % end end ![]() ![]() ![]() |
» 猜你喜欢
假如你的研究生提出不合理要求
已经有4人回复
论文终于录用啦!满足毕业条件了
已经有27人回复
所感
已经有3人回复
要不要辞职读博?
已经有7人回复
不自信的我
已经有11人回复
北核录用
已经有3人回复
实验室接单子
已经有3人回复
磺酰氟产物,毕不了业了!
已经有8人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有10人回复
26申博(荧光探针方向,有机合成)
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求助matlab高手指点:大型非线性方程组(牛顿拉佛森法)
已经有7人回复
matlab求解非线性方程组报错,请各位大神指点!
已经有8人回复
Matlab用fsolve求解非线性方程,卡了三四天了跪求帮助!
已经有35人回复
MATLAB解非线性方程组
已经有9人回复
matlab解非线性方程组程序纠错与正确运行
已经有6人回复
亲们,求助一下,这个非线性方程组怎么解?
已经有11人回复
matlab解方程组求助攻
已经有4人回复
matlab 求解线性方程组Ax=b
已经有10人回复
求教 如何用matlab解带约束的非线性方程组
已经有4人回复
matlab 非线性微分方程求解
已经有3人回复
用matlab求解一个非线性方程组的解
已经有4人回复
请教一个matlab求解非线性方程组的问题
已经有9人回复
matlab 求解非线性方程组未果
已经有10人回复
matlab fsolve得出的解全部为复数解
已经有15人回复
用matlab求解非线性方程组说无解,一定是方程组本身无解,还是有可能程序有问题呢?
已经有11人回复
MATLAB求解非线性方程组
已经有5人回复
求Matlab解非线性方程代码
已经有12人回复
Matlab:Newton-Raphson 解线非线性性方程组的问题
已经有12人回复
使用fsolve求解非线性方程问题
已经有9人回复
matlab求解非线性方程组,错误提示怎么解决
已经有5人回复
求助matlab---fsolve解非线性方程组
已经有6人回复
求助!matlab用fsolve函数求解非线性方程组的问题!
已经有19人回复
用matlab求解方程出问题,请帮忙看看
已经有3人回复
matlab求解非线性方程组
已经有16人回复
求高人指点用matlab求解非线性方程组,解决了追加100金币;
已经有11人回复
matlab的fsove 命令求解非线性方程组
已经有6人回复
【求助】matlab求解非线性方程组,并画图处理。要求y,z是实数解!
已经有18人回复
2楼2014-10-15 23:38:57












);
回复此楼