我试图在MATLAB中输入一个包含大约5个变量的方程式。这是我做的:
syms Pwf Pr Qo J Qmax
Pwf = Pr((1.266 - (1.25*Qo/Qmax))^2) - 0.125
我想运行它,这样我每次都可以为不同的变量输入不同的值,但它会出错:
索引或函数定义无效。
我该怎么做? 谢谢
答案 0 :(得分:1)
根据我的理解,您正在尝试创建一个名为Pwf
的函数,该函数根据Pr
,Qo
和Qmax
如果是这种情况,您可以在MATLAB中使用syms
命令创建一个带有独立变量Pr
,Qo
和Qmax
<的符号函数Pwf / p>
syms Pwf(Pr, Qo, Qmax)
Pwf(Pr,Qo,Qmax) = Pr*((1.266 - (1.25*Q0./Qmax))^2) - 0.125;
这会创建一个符号函数Pwf
和sumbolic变量Pr
,Qo
和Qmax
。然后,您可以为变量分配不同的值,并调用函数Pwf
Pr = 1;
Qo = 2;
Qmax = 10;
Pwf(Pr, Qo, Qmax)
这会产生如下分数的结果。
ans = 113407/125000
您可以使用double()
或vpa()
>> vpa(ans)
ans = 0.907256
>> double(ans)
ans = 0.9073
您已经提到了另一个变量J
,该变量未在等式中使用,可以以类似的方式添加到函数中。您每次更改变量值时都必须调用函数Pwf(Pr, Qo, Qmax)
。