matlab中我已经赋值了,为什么解方程时还是变量名程序是;clearsyms az1 sra0=1e7a=0.6r0=0.5z=5v=0.35uw=1e5mv=3e-7n=0.3/1.3sr1=0.4sc1=75e3az=2*a*(a0*r0^2)/z^3*(1+(r0/z)^2)^(-(a+1))ua=az/(1+n*(1-sr1)/(uw*mv)*(1+2*(1-2*v)/(1+v)))uw=ua+sc
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/25 14:37:45
matlab中我已经赋值了,为什么解方程时还是变量名程序是;clearsyms az1 sra0=1e7a=0.6r0=0.5z=5v=0.35uw=1e5mv=3e-7n=0.3/1.3sr1=0.4sc1=75e3az=2*a*(a0*r0^2)/z^3*(1+(r0/z)^2)^(-(a+1))ua=az/(1+n*(1-sr1)/(uw*mv)*(1+2*(1-2*v)/(1+v)))uw=ua+sc
matlab中我已经赋值了,为什么解方程时还是变量名
程序是;clear
syms az1 sr
a0=1e7
a=0.6
r0=0.5
z=5
v=0.35
uw=1e5
mv=3e-7
n=0.3/1.3
sr1=0.4
sc1=75e3
az=2*a*(a0*r0^2)/z^3*(1+(r0/z)^2)^(-(a+1))
ua=az/(1+n*(1-sr1)/(uw*mv)*(1+2*(1-2*v)/(1+v)))
uw=ua+sc1
sr=solve('az1=az-ua+sr*sc1*log((1-sr1)/sr)-(sr1+sr)*sc1','sr')
matlab中我已经赋值了,为什么解方程时还是变量名程序是;clearsyms az1 sra0=1e7a=0.6r0=0.5z=5v=0.35uw=1e5mv=3e-7n=0.3/1.3sr1=0.4sc1=75e3az=2*a*(a0*r0^2)/z^3*(1+(r0/z)^2)^(-(a+1))ua=az/(1+n*(1-sr1)/(uw*mv)*(1+2*(1-2*v)/(1+v)))uw=ua+sc
sr=solve('az1=az-ua+sr*sc1*log((1-sr1)/sr)-(sr1+sr)*sc1','sr')
首先我不明白你的az1是干吗的,他可以直接去掉,没有用在此,'sr'既然已经定义了是变量在此位置就不要写他了,直接这样sr=solve('‘az-ua+sr*sc1*log((1-sr1)/sr)-(sr1+sr)*sc1‘),当然这样还是没有结果,因为你现在单引号里的东西还是个变量,那些数据是传递不过去的,要把单引号去掉,变成这样:sr=solve(az-ua+sr*sc1*log((1-sr1)/sr)-(sr1+sr)*sc1),这就是你想要的结果:sr =
0.066542349259941635511474227545844 - 0.086620997683972769443950088623031*i