matlab解方程組,答案是sym沒有具體數值

2021-03-13 20:04:47 字數 2527 閱讀 9697

1樓:

修改如下:

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

2樓:宛丘山人

解方程組失效,可將程式改為:

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

matlab用了solve,結果是sym啊,怎麼看具體數值

3樓:匿名使用者

執行了你的程式,存在著下列幾個問題:

1、用下列這個**求解,其t、y值是無法代入方程的。

x=solve('465*sin(x)+200=120*cos(t*1.2+pi/3)+369*sin(x-y)','x');

所以軟體會提示有關sym的資訊。

2、如要顯示x值,其該語句最後不能有分號(

)。

由於你給出的t、y值是以一組向量形式存放的,

因此要計算你的x值必須要用迴圈語句(如for。。。end語句)來求解。

需要在t、y值後面增加如下**:

n=length(t);

x=zeros(n,1);

for i=1:n

syms x1

t1=t(i);y1=y(i);

x(i)=vpasolve(465*sin(x1)+200==120*cos(t1*1.2+pi/3)+369*sin(x1-y1));

end

x

執行結果形式

Matlab解方程組,i 0 10,b i 1解方程組c a b 1 0 a 3b 2c 3 0用下面的方法解

a,b,c滿足向量的加減乘法所以上面可以化為 a c 1 b a 2c 3b 3 所以 3a 5 b 3c 2 4b matlab求解 i 0 10 b i 1 a 5 b 3 c 2 4 b 3 a 2.0000 2.3333 2.6667 3.0000 3.3333 3.6667 4.0000 ...

matlab中解方程組,怎麼呼叫其他變數

la 1 s 3 2 0 0,1,1 1 0 5 la 2 6 s 0.1765 0.7647 1.2353 matlab中如何將一個含有多個變數的方程的某一變數放在方程的一邊,而其他變數放在方程的另一邊?15 有積分變數,它肯定是能求導的,所以把那個積分變數看作是x4,它的導數是x4 從而整個微分...

請教在matlab解方程組中,未知數,方程的方程組

改用數值解 1 編寫函式 function f fun2 in x in 1 y in 2 z in 3 t in 4 f 1 500 x 62616964757a686964616fe78988e69d83313333326432312 3300 y 2 z 2 21.15 t 2 3200 x ...