matlab解方程组,答案是sym没有具体数值
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/25 21:28:20
matlab解方程组,答案是sym没有具体数值
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类型,没有具体数字,请问怎么解决?
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类型,没有具体数字,请问怎么解决?
修改如下:
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那句这么改试试。
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那句这么改试试。
Matlab 求解方程组数值解
matlab求二元方程组数值解
matlab求微分方程组数值解
matlab数值解微分方程组问题
怎么用Matlab解二元一次方程组的数值解
如何用matlab求解微分方程组的数值解
matlab 微分方程,积分方程,数值解,方程组,代码
数值分析matlab答案
matlab中subs函数subs(sym(f),findsym(sym(f)),a) f是一个函数,
如何处理matlab微分方程数值解,具体就是解微分方程组,得出一系列的(x,y,t)如何作sqrt(x^2+y^2)=z
有matlab的高手吗,sym engine是啥意思
matlab数值求解边界条件微分方程组