作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/18 02:04:51
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)/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不能调用前面的值,
参数是和我输入的变量值有关的,会变化的,
或者有没有其他的办法来解这个方程.
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)