如何在 MATLAB 中的符号函数中计算和绘制符号变量



我想创建一个包含三个变量的符号函数:x是向量,sm是标量。然后我想使用 ms 绘制函数为 0 和 1,x跨越区间[-10, 10]。我尝试了以下方法:

syms x m s
%x=
y(x)=((1/(s*sqrt(2*pi)))*exp(-1/2*((x-m)/s)^2))
m=0
s=1
yx=subs(y)
y
yx
fplot(linspace(-10,10),yx)

剧情似乎很奇怪。我的错误在哪里?

您使用错误的语法来调用fplot 。就这样称呼它:

fplot(yx);

这将使用默认的 x 范围 [-5 5] 。如果要更改 x 范围,请在调用 fplot 中添加一个 2 元素向量参数,如下所示:

fplot(yx, [-10 10]);  % Plots over the range [-10 10]

当您将linspace(...)作为第一个参数时,MATLAB 似乎将其解释为好像您尝试使用 2 参数调用语法fplot(funx, funy),这期望两个输入都是参数函数(它们不是)。

最新更新