matlab解方程组,答案是sym没有具体数值
clearallclcE=2*10^5;v=0.3;G=E/(2*(1+v));lambda=(v*E)/((1+v)*(1-2*v));epsilon11=1.7833...
clear all
clc
E=2*10^5;
v=0.3;
G=E/(2*(1+v));
lambda=(v*E)/((1+v)*(1-2*v));
epsilon11=1.7833*10^-3;
epsilon22=1.6*10^-3;
syms sigma11 sigma22 epsilon33;
eq1=sym('sigma11=2*G*epsilon11+lambda*(epsilon11+epsilon22+epsilon33)');
eq2=sym('sigma22=2*G*epsilon22+lambda*(epsilon11+epsilon22+epsilon33)');
eq3=sym('epsilon33=-v*(sigma11+sigma22)/E');
[sigma11,sigma22,epsilon33]=solve(eq1,eq2,eq3);
sigma11=vpa(sigma11,8);
sigma22=vpa(sigma22,8);
epsilon33=vpa(epsilon33,8);
程序如上,需要的答案sigma11, sigma22, epsilon33都是1x1 sys类型,没有具体数字,请问怎么解决? 展开
clc
E=2*10^5;
v=0.3;
G=E/(2*(1+v));
lambda=(v*E)/((1+v)*(1-2*v));
epsilon11=1.7833*10^-3;
epsilon22=1.6*10^-3;
syms sigma11 sigma22 epsilon33;
eq1=sym('sigma11=2*G*epsilon11+lambda*(epsilon11+epsilon22+epsilon33)');
eq2=sym('sigma22=2*G*epsilon22+lambda*(epsilon11+epsilon22+epsilon33)');
eq3=sym('epsilon33=-v*(sigma11+sigma22)/E');
[sigma11,sigma22,epsilon33]=solve(eq1,eq2,eq3);
sigma11=vpa(sigma11,8);
sigma22=vpa(sigma22,8);
epsilon33=vpa(epsilon33,8);
程序如上,需要的答案sigma11, sigma22, epsilon33都是1x1 sys类型,没有具体数字,请问怎么解决? 展开
2个回答
展开全部
修改如下:
clear all; clc
E=2*10^5;
v=0.3;
G=E/(2*(1+v));
lambda=(v*E)/((1+v)*(1-2*v));
epsilon11=1.7833*10^-3;
epsilon22=1.6*10^-3;
syms sigma11 sigma22 epsilon33;
eq1= sigma11==2*G*epsilon11+lambda*(epsilon11+epsilon22+epsilon33);
eq2= sigma22==2*G*epsilon22+lambda*(epsilon11+epsilon22+epsilon33);
eq3= epsilon33==-v*(sigma11+sigma22)/E;
[sigma11,sigma22,epsilon33]=solve(eq1,eq2,eq3);
sigma11=vpa(sigma11,8);
sigma22=vpa(sigma22,8);
epsilon33=vpa(epsilon33,8);
val_sigma11 = double(sigma11)
val_sigma22 = double(sigma22)
val_epsilon33 = double(epsilon33)
matlab2013b下运行通过,版本太低了别怪别人。
val_sigma11 =
-0.0014
val_sigma22 =
497.4286
val_epsilon33 =
469.2286
clear all; clc
E=2*10^5;
v=0.3;
G=E/(2*(1+v));
lambda=(v*E)/((1+v)*(1-2*v));
epsilon11=1.7833*10^-3;
epsilon22=1.6*10^-3;
syms sigma11 sigma22 epsilon33;
eq1= sigma11==2*G*epsilon11+lambda*(epsilon11+epsilon22+epsilon33);
eq2= sigma22==2*G*epsilon22+lambda*(epsilon11+epsilon22+epsilon33);
eq3= epsilon33==-v*(sigma11+sigma22)/E;
[sigma11,sigma22,epsilon33]=solve(eq1,eq2,eq3);
sigma11=vpa(sigma11,8);
sigma22=vpa(sigma22,8);
epsilon33=vpa(epsilon33,8);
val_sigma11 = double(sigma11)
val_sigma22 = double(sigma22)
val_epsilon33 = double(epsilon33)
matlab2013b下运行通过,版本太低了别怪别人。
val_sigma11 =
-0.0014
val_sigma22 =
497.4286
val_epsilon33 =
469.2286
追问
正确答案应该是epsilon33=-0.0014, sigma11=497.4286,sigma22=469.2286。
答案位置错了,请问是怎么回事?
追答
[epsilon33, sigma11, sigma22]=solve(eq1,eq2,eq3, epsilon33, sigma11, sigma22);
solve那句这么改试试。
富港检测技术(东莞)有限公司_
2024-04-02 广告
2024-04-02 广告
正弦振动多用于找出产品设计或包装设计的脆弱点。看在哪一个具体频率点响应最大(共振点);正弦振动在任一瞬间只包含一种频率的振动,而随机振动在任一瞬间包含频谱范围内的各种频率的振动。由于随机振动包含频谱内所有的频率,所以样品上的共振点会同时激发...
点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
展开全部
解方程组失效,可将程序改为:
clear
E=2*10^5;
v=0.3;
G=E/(2*(1+v));
lambda=(v*E)/((1+v)*(1-2*v));
epsilon11=1.7833*10^-3;
epsilon22=1.6*10^-3;
epsilon33=-2*v*(G+lambda)*(sigma11+sigma22)/(2*v+E)
sigma11=2*G*epsilon11+lambda*(epsilon11+epsilon22+epsilon33)
sigma22=2*G*epsilon22+lambda*(epsilon11+epsilon22+epsilon33)
最后运行结果是:
>> epsilon33=-2*v*(G+lambda)*(epsilon11+epsilon22)/(2*v+E)
epsilon33 =
-0.0020
>> sigma11=2*G*epsilon11+lambda*(epsilon11+epsilon22+epsilon33)
sigma11 =
439.5156
>> sigma22=2*G*epsilon22+lambda*(epsilon11+epsilon22+epsilon33)
sigma22 =
411.3156
clear
E=2*10^5;
v=0.3;
G=E/(2*(1+v));
lambda=(v*E)/((1+v)*(1-2*v));
epsilon11=1.7833*10^-3;
epsilon22=1.6*10^-3;
epsilon33=-2*v*(G+lambda)*(sigma11+sigma22)/(2*v+E)
sigma11=2*G*epsilon11+lambda*(epsilon11+epsilon22+epsilon33)
sigma22=2*G*epsilon22+lambda*(epsilon11+epsilon22+epsilon33)
最后运行结果是:
>> epsilon33=-2*v*(G+lambda)*(epsilon11+epsilon22)/(2*v+E)
epsilon33 =
-0.0020
>> sigma11=2*G*epsilon11+lambda*(epsilon11+epsilon22+epsilon33)
sigma11 =
439.5156
>> sigma22=2*G*epsilon22+lambda*(epsilon11+epsilon22+epsilon33)
sigma22 =
411.3156
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |