我想创建一个包含三个变量的符号函数: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)
情节似乎很奇怪。我的错误在哪里?
答案 0 :(得分:1)
您使用错误的语法来调用fplot
。就像这样称呼它:
fplot(yx);
这将使用[-5 5]
的默认x范围。如果要更改x范围,请在调用fplot
时添加2元素向量参数,如下所示:
fplot(yx, [-10 10]); % Plots over the range [-10 10]
当您将linspace(...)
作为第一个参数时,MATLAB似乎将其解释为您正在尝试使用2参数调用语法fplot(funx, funy)
,该语法要求两个输入都为{{ 3}}(他们不是)。