matlab 急求!!!哪里出错了?

clear,clcsymsatt1txt=12x=10000t1=24y1=x*(1+a*t)y3=[12*x*a*(1+a)^t]/[(1+a)^t-1]z1=(1+a... clear,clc
syms a t t1 t x
t=12
x=10000
t1=24
y1=x*(1+a*t)
y3=[12*x*a*(1+a)^t]/[(1+a)^t-1 ]
z1=(1+a*t)^(t1/t)*x
z3=(y3)*((y3/x)^(t1/t))
a=solve('z1=z3','x')

为什么显示Warning: Explicit solution could not be found.
> In solve at 179
a经带入在实数0.7/12到0.8/12之间应该有一解的啊

(是小白,才刚刚学,求指教!)
又代入一次,a 的取值范围为(0.76/12,0.77/12)
但是用程序就是没办法直接计算出a值大小
展开
 我来答
lhmhz
高粉答主

2018-02-27 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17024

向TA提问 私信TA
展开全部

错误就在这句代码  a=solve('z1=z3','x')  上。有两个问题:

1、你要求的变量是a,却写了x。

2、solve( )中的表达式不需要加引号,加了引号后就无法将z1、z3代入。表达式有引号,solve()就默认求解引号里的符号表达式。

所以,代码  a=solve('z1=z3','x')  的正确写法,应该为

a=solve(z1-z3,'a')

更改后运行,可得到

a =0.063431816874447483379126113338814

a=0(舍弃)

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式