如何在MATLAB中的符号函数中评估和绘制符号变量?

时间:2017-11-01 16:23:52

标签: matlab function plot signals symbolic-math

我想创建一个包含三个变量的符号函数: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)

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

1 个答案:

答案 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}}(他们不是)。