2017-02-01 4 views
-2

私は、これらの2つのプロットコマンドがなぜ桁違いの異なるドメインを生成するのかについての洞察を持っているのでしょうか?MATLAB:シンボリックツールボックスプロット対ディスクリートプロット

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

fun1(t)yが評価され、 "慎重" にプロットされている間、 "象徴" プロットされています。最初の関数の場合、別のプロット方法を使用すべきですか?

答えて

2

いいえ、記号関数を正しくプロットしていません。

コードでは、plot(sin(x1Axis))という命令はシンボリックプロットではありませんが、正弦と各値のインデックスの数値プロットです。 plot documentation pageから

は:

plot(Y) 各値のインデックス対Yにおけるデータの2-D線プロットを作成します。

  • Yがベクトルである場合、x軸スケールは1からlength(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

次の例では、両方のシンボリックと数値のプロットが同じであることを確認することができます