matlab中我已经赋值了,为什么解方程时还是变量名

问题描述:

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')
1个回答 分类:综合 2014-10-03

问题解答:

我来补答
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
 
 
展开全文阅读
剩余:2000
上一页:解不等式