我想创建一个包含三个变量的符号函数:x
是向量,s
和m
是标量。然后我想使用 m
和 s
绘制函数为 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)
,这期望两个输入都是参数函数(它们不是)。