将常量替换为公式 matlab
substitute constant to a formula matlab
我在MATLAB中定义:
syms k2 k3;
k1 = k2/k3;
其中 k2
和 k3
是 symbolic variables。然后键入 k1
给出输出:
k1 =
k2/k3
为 k2
和 k3
分配常数值:
k2 = 1; k3 = 2;
然后我在 matlab 命令行中输入:
>> k1
k1 =
k2/k3
有没有不使用subs
函数而显示结果k1 = 1/2 = 0.5
的命令?如果我的公式有很多变量,用subs
.
不方便
您想使用eval(k1)
syms k2 k3;
k1 = k2/k3;
eval(k1) % output k1 = k2/k3
k2 = 1;
eval(k1) % output k1 = 1/k3
k3 = 2;
eval(k1) % output ans = 0.5
k1 % output k1 = k2/k3
编辑:
评论中指出 subs
以相同的方式工作(并且可能更可取)。来自 subs
documentation:
subs(s) returns a copy of s replacing symbolic variables in s with their values obtained from the calling function and the MATLAB® workspace
所以您可以像我上面使用 eval(k1)
一样使用 subs(k1)
。它为前两个示例提供相同的输出,最后一个示例利用结果的精确小数形式,如图所示。
subs(k1) % ouput ans = 1/2
我在MATLAB中定义:
syms k2 k3;
k1 = k2/k3;
其中 k2
和 k3
是 symbolic variables。然后键入 k1
给出输出:
k1 =
k2/k3
为 k2
和 k3
分配常数值:
k2 = 1; k3 = 2;
然后我在 matlab 命令行中输入:
>> k1
k1 =
k2/k3
有没有不使用subs
函数而显示结果k1 = 1/2 = 0.5
的命令?如果我的公式有很多变量,用subs
.
您想使用eval(k1)
syms k2 k3;
k1 = k2/k3;
eval(k1) % output k1 = k2/k3
k2 = 1;
eval(k1) % output k1 = 1/k3
k3 = 2;
eval(k1) % output ans = 0.5
k1 % output k1 = k2/k3
编辑:
评论中指出 subs
以相同的方式工作(并且可能更可取)。来自 subs
documentation:
subs(s) returns a copy of s replacing symbolic variables in s with their values obtained from the calling function and the MATLAB® workspace
所以您可以像我上面使用 eval(k1)
一样使用 subs(k1)
。它为前两个示例提供相同的输出,最后一个示例利用结果的精确小数形式,如图所示。
subs(k1) % ouput ans = 1/2