MATLAB:符号工具箱绘图与谨慎绘图

时间:2017-02-01 00:05:44

标签: matlab plot

我想知道是否有人知道为什么这两个绘图命令会产生数量级不同的域?

syms t
x1Axis = 0:.01:10;
fun1(t) = sin(t)
plot(sin(x1Axis))
hold on
y = sin(x1Axis)
plot(x1Axis, y)

fun1(t)“符号”绘制,y评估并“谨慎”绘制。在第一个函数的情况下,我应该使用不同的绘图方法吗?

1 个答案:

答案 0 :(得分:2)

不,你没有正确地绘制符号功能。

在您的代码中,指令plot(sin(x1Axis))不是符号图,而是正弦值与每个值的索引的数字图。

来自plot documentation page

  

plot(Y)创建Y中数据与索引的二维线图   每个值。

     
      
  • 如果Y是矢量,则x轴刻度范围从1length(Y)
  •   

要绘制符号函数,请使用fplot

以下示例将允许您查看符号图和数字图是否相同:

xmin = 0;
xmax = 10;

% Symbolic Plot.
syms t
fun1(t) = sin(t);
fplot(fun1, [xmin xmax], '-r');

hold on;

% Numeric Plot.
x = xmin:.01:xmax;
y = sin(x);
plot(x, y, '--g');

% Add legend.
legend('Symbolic Plot', 'Numeric Plot', 'Location', 'north');

结果如下:

Sine: Symbolic and Numeric plot