博仁 asked in 電腦與網際網路軟體 · 1 decade ago

matlab程式問題?

t=0:0.1:10;

a=[許多變數 ];

plot(t,a); --------->可行

若da=diff(a)

plot(da); ----->可行

plot(t,da); --------->就不行~為何不行~知道的人麻煩ㄧ下囉

謝謝

Update:

t要怎麼改 才可以跟da的向量長度一樣呢

謝謝

1 Answer

Rating
  • 1 decade ago
    Favorite Answer

    用 plot(X, Y) 時,X / Y 向量分別代表圖上 點的 (x, y) 座標的集合。

    所以, X 與 Y 的向量要有一樣的長度才可以。

    plot(t, a) 可行,因為 t 與 a 的向量長度是一樣的。

    但 da 為 diff(a) 的結果,da 向量的長度已經比 a 少一個!

    所以, plot(t, da) 就沒辦法運作啦!

    ps. plot(da) 是繪圖僅以 da 作為 Y 值,X 為 [1:length(da)],

    所以沒有上面向量長度不同之問題。

    另外,如果程式或指令無法執行, matlab 應該會顯示錯誤訊息,

    如果把那個錯誤訊息秀出來,

    對回答問題會更方便喔!

Still have questions? Get your answers by asking now.