matlab中solve函数求解隐函数的问题

qi=solve('qi-bet*detm/(bet/(B*0.018526^0.2*qi^0.6/di^0.6)+0.7*10^(-3)*2*ft/(ft+fi)/20... qi=solve('qi-bet*detm/(bet/(B*0.018526^0.2*qi^0.6/di^0.6)+0.7*10^(-3)*2*ft/(ft+fi)/203+r0+1/aj)=0','qi')
其中除了qi外,其他参数的值都在前边的程序中算出来了,不知道是哪里出错了,运行总是出现Error using ==> solve
' qi-bet*detm/(bet/(B*0.018526^0.2*qi^0.6/di^0.6)+0.7*10^(-3)*2*ft/(ft+fi)/203+r0+1/aj)=0 ' is not a valid expression or equation.

不知道是不是solve不能调用前面的值,如何解决??
请高手指点,谢谢!
参数是和我输入的变量值有关的,会变化的,
或者有没有其他的办法来解这个方程。
展开
 我来答
wacs5
2008-10-29 · TA获得超过1.6万个赞
知道大有可为答主
回答量:3724
采纳率:82%
帮助的人:2810万
展开全部
>> a=3;
>> solve('a*x-3=0','x')
得到的结果是
ans =

3/a
也就是说,solve里面将a当成符号,而没有把你a=3代入。
试着改成
>> subs(solve('a*x-3=0','x'))
就得到ans=1的结果了。

你的问题也可以这样弄。
solve再加一个subs()

另外你也可以自己将方程中的变量先将值代入,然后再解方程
比如:
clear
>> a=3;
>> equ=sprintf('a*x-3=0');
>> equ=subs(equ); %这一步就是将a=3代入
>> solve(equ,x)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huxuec
2008-10-29 · TA获得超过2625个赞
知道小有建树答主
回答量:1095
采纳率:75%
帮助的人:586万
展开全部
没有把其他参数值传入方程里面,要先用subs代参数值算一下
再用solve函数解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式