我想寫一個程序,繪製一個半圓上的點在一定的間隔和其他地方的直線上。像這樣:__n__
。MATLAB Piecewise函數+矢量操作
我定義了一個時間域,它被存儲爲一個向量(t = 0:0.01:5
)。我認爲我可以在使用時間矢量的元素半圓的頂部限定的點:
if t>=2|t<=2.3
y = sqrt(.15^2-(t-2.15)^2);
但MATLAB所產生的錯誤消息,僅方陣可以平方。
我試圖利用指數表明,我想方的噸向量的元素,而不是整個矢量:
i = [200:230];
for t(200:230)
y = sqrt(.15^2-(t(i)-2.15)^2);
這些失敗後,我注意到平方的正方形矩陣的一列非零元素將產生具有第一矩陣元素的平方的列的新方形矩陣。如果在矩陣平方後有一些方法可以消除額外的零列,我可以使用矩陣的屬性來平方t向量的值。
解決此問題的最簡單和最有效的方法是什麼?
此解釋有幫助。以下是我編譯的代碼: '%定義傳輸函數的組件: north = 1.31 * 10^6 * [113.3]; south = [1 516.1 5.685 * 10^4 1.307 * 10^6 1.733 * 10^7]; h = tf(北,南); %TIME INTERVAL: t = 0:0.01:5; %使用分段功能定義速度緩衝點: y =零(size(t)); index = find((t> = 2)&(t <= 2.3)); (指數)= sqrt(.15^2-(t(指數)-2.15)。 ([1:index(1)index(end):end])= y(index(1)); %具有響應的PLOT分塊功能: lsim(h,y,t);' 謝謝! – 2009-10-12 04:10:09