24小时热门版块排行榜    

查看: 302  |  回复: 0

lz2239129

铁虫 (初入文坛)

[交流] Matlab 解方程组的问题 。

初学matlab,想解一个方程组并画图。但是程序怎么编都不对。希望大家帮个忙看看。十分着急!!!
function F=fu_pin(x)
clear
clc
tic
l=0.6;%长
h=0.003;%厚
Nox=20000;%轴向拉力
mu=0.3;%波松比
E=108*10^9;%弹性模量(轧制纯铜)
rho=8920;%质量密度 纯铜
Vox=60;%轴向速度
sigma0=5.7143*10^7;%电导率
Box=0.5;%x方向磁感应强度
Boy=0.5;%y方向磁感应强度
Boz=0.5;%z方向磁感应强度
DM=E*h^3/(12*(1-mu^2));%抗弯刚度
DN=E*h/(1-mu^2);%抗拉刚度
P=1000;%P外加载荷

sigma1=0.03;
epsilon=0.9275/sigma1;
sigma2=0.1;

global x;
p1=5*pi/(4*l);p2=9*pi/(4*l);
CC1=(cosh(p1*l)+cos(p1*l))/(sinh(p1*l)+sin(p1*l));    CC2=(cosh(p2*l)+cos(p2*l))/(sinh(p2*l)+sin(p2*l));
X1=cosh(p1*x)-cos(p1*x)-CC1*(sinh(p1*x)-sin(p1*x));   X2=cosh(p2*x)-cos(p2*x)-CC2*(sinh(p2*x)-sin(p2*x));%振型函数

Gamma1=int(diff(X1,x,1)*diff(X1,x,1)*diff(X1,x,2)*X1,x,0,l);%Gamma1111
Gamma2=int(diff(X1,x,1)*diff(X2,x,1)*diff(X1,x,2)*X1,x,0,l);%Gamma1211
Gamma3=int(diff(X1,x,1)*diff(X1,x,1)*diff(X2,x,2)*X1,x,0,l);%Gamma1121
Gamma4=int(diff(X1,x,1)*diff(X1,x,1)*diff(X1,x,2)*X2,x,0,l);%Gamma1112
Gamma5=int(diff(X2,x,1)*diff(X2,x,1)*diff(X2,x,2)*X2,x,0,l);%Gamma2222
Gamma6=int(diff(X1,x,1)*diff(X2,x,1)*diff(X1,x,2)*X2,x,0,l);%Gamma1212
Gamma7=int(diff(X2,x,1)*diff(X1,x,1)*diff(X2,x,2)*X1,x,0,l);%GAmma2121
Gamma8=int(diff(X1,x,1)*diff(X1,x,1)*diff(X2,x,2)*X2,x,0,l);%Gamma1122
Gamma9=int(diff(X2,x,1)*diff(X2,x,1)*diff(X1,x,2)*X1,x,0,l);%GAmma2211

alpha1=3*Gamma1;              %alpha11
alpha2=2*(2*Gamma6+Gamma8); %alpha12
alpha3=2*(2*Gamma7+Gamma9); %alpha21
alpha4=3*Gamma5;              %alpha22
omega1=3.8545;%一阶固有频率

%epsilon=-0.03;%调谐参数项
omega2=3*omega1+epsilon*sigma1;%二阶固有频率
%Omega=omega(1)+epsilon*sigma(2);%外加频率

C1=int(diff(X1,x,2)*X1,x,0,l);C2=int(diff(X2,x,2)*X2,x,0,l);
D1=int(diff(X1,x,1)*X1,x,0,l);D2=int(diff(X2,x,1)*X2,x,0,l);
E1=int(X1*X1,x,0,l);          E2=int(X2*X2,x,0,l);
M1=(2*rho*h*Vox*D1-sigma0*h*Boy^2*E1-sigma0*h*Box^2*E1-sigma0*h^3*Boz^2*C1/12)/E1;
M2=(2*rho*h*Vox*D2-sigma0*h*Boy^2*E2-sigma0*h*Box^2*E2-sigma0*h^3*Boz^2*C2/12)/E2;
eta=1000;

C1=double(C1);C2=double(C2);
D1=double(D1);D2=double(D2);
E1=double(E1);E2=double(E2);
Gamma2=double(Gamma2);Gamma3=double(Gamma3);Gamma4=double(Gamma4);
M1=double(M1);M2=double(M2);
alpha1=double(alpha1);alpha2=double(alpha2);alpha3=double(alpha3);alpha4=double(alpha4);
omega2=double(omega2);

F=[sigma2*(24*omega2*x(2))-(8*omega2*x(2)*sigma1+sqrt((Gamma4*x(1)^3)^2-(4*M2*omega2*x(2)^2)-x(2)*(alpha2*x(1)^2+alpha4*x(2)^2)));
     sigma2*(8*omega1*x(1)^4*Gamma4-24*omega2*x(1)^2*x(2)^2*(2*Gamma2+Gamma3))-(sqrt((4*eta*Gamma4*x(1)^3)^2-(4*M1*omega1*x(1)^4+M2*omega2*x(1)^2*x(2)^2*(2*Gamma2+Gamma3))^2)+x(1)^2*x(2)*(2*Gamma2+Gamma3)*(-8*omega2*x(2)*sigma1+x(2)*(alpha2*x(1)^2+alpha4*x(2)^2)-Gamma4*x(1)^4*(alpha1*x(1)^2+alpha3*x(2)^2)))];


最后用[x,fval] = fsolve(@fu_pin,x0)来调用。。

我最终是想画出sigma2和x(1),x(2)的关系图。sigma2可以取1=0:0.001:1。
大家看看这么编程对不对。不对的话应该怎么改正。谢谢
回复此楼
苦逼青椒
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 lz2239129 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见