matlab中的符号数学方程
我试图在MATLAB中输入一个包含大约5个变量的方程。以下是我所做的:matlab中的符号数学方程,matlab,Matlab,我试图在MATLAB中输入一个包含大约5个变量的方程。以下是我所做的: syms Pwf Pr Qo J Qmax Pwf = Pr((1.266 - (1.25*Qo/Qmax))^2) - 0.125 我想运行它,以便每次可以为不同的变量输入不同的值,但它会给出一个错误: 无效的索引或函数定义 我该怎么做? 谢谢据我所知,您正在尝试创建一个名为Pwf的函数,该函数的值随Pr、Qo和Qmax的值而变化 syms Pwf(Pr, Qo, Qmax) Pwf(Pr,Qo,Qmax) = Pr*(
syms Pwf Pr Qo J Qmax
Pwf = Pr((1.266 - (1.25*Qo/Qmax))^2) - 0.125
我想运行它,以便每次可以为不同的变量输入不同的值,但它会给出一个错误:
无效的索引或函数定义
我该怎么做?谢谢据我所知,您正在尝试创建一个名为
Pwf
的函数,该函数的值随Pr
、Qo
和Qmax
的值而变化
syms Pwf(Pr, Qo, Qmax)
Pwf(Pr,Qo,Qmax) = Pr*((1.266 - (1.25*Q0./Qmax))^2) - 0.125;
如果是这种情况,您可以在MATLAB中使用syms
命令来创建具有自变量Pr
、Qo
和Qmax
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()
您提到了另一个变量
J
,该变量未在方程中使用,可以以类似的方式添加到函数中。每次更改变量值时,只需调用函数Pwf(Pr,Qo,Qmax)
。第一个操作是乘法,即Pr*(…)
?如果是这样,您必须编写*
,否则MATLAB会将其解释为函数调用或矩阵索引。谢谢HBaders。这是可行的…但是我现在如何输入值呢?您想只给变量赋值吗?我明白你的意思了吗?所以你可以写syms=15;Pr=2,如果我误解了你,请更详细地解释你真正想要什么!KiW你好:我想给Qo PR和Qmax赋值……这样我就可以得到Pwf的解决方案。我尝试了类似Q=sym(1200)的东西,但它返回了错误