matlab中的符号数学方程

时间:2016-09-19 17:31:40

标签: matlab

我试图在MATLAB中输入一个包含大约5个变量的方程式。这是我做的:

syms Pwf Pr Qo J Qmax
Pwf = Pr((1.266 - (1.25*Qo/Qmax))^2) - 0.125

我想运行它,这样我每次都可以为不同的变量输入不同的值,但它会出错:

  

索引或函数定义无效。

我该怎么做? 谢谢

1 个答案:

答案 0 :(得分:1)

根据我的理解,您正在尝试创建一个名为Pwf的函数,该函数根据PrQoQmax

的值而有所不同

如果是这种情况,您可以在MATLAB中使用syms命令创建一个带有独立变量PrQoQmax <的符号函数Pwf / p>

syms Pwf(Pr, Qo, Qmax)
Pwf(Pr,Qo,Qmax) = Pr*((1.266 - (1.25*Q0./Qmax))^2) - 0.125;

这会创建一个符号函数Pwf和sumbolic变量PrQoQmax。然后,您可以为变量分配不同的值,并调用函数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)