2013-03-07 58 views
0
for t=0:0.1:10; 
VS=3*exp(-t/3).*sin(t*pi); 

    if VS>0 
     VL(t+1)=VS; 
    else 
     VL(t+1)=0; 

    end 
end 


plot(0:100,VL); 
xlabel('Time(s)') 
ylabel('Across Voltage(V)') 
title('Across Voltage Vs Time') 

如何根據VL(基於與上面表達的VS的關係)對t(從0到10,增量0.01)繪製該圖形?從循環繪圖

總是從matlab中得到錯誤「下標索引必須是真正的正整數或邏輯」。

謝謝。

+1

見[這裏]( http://stackoverflow.com/questions/15262163/plotting-a-result-from-a-loop-in-matlab/15262205#15262205)的答案。 – 2013-03-07 06:38:02

+0

哈哈@Parag那就是他的回覆xD – Cashew 2013-03-07 06:39:26

+0

@Cashew ya我知道一旦看到問題 – 2013-03-07 07:54:37

回答

1

腳本中存在問題。請注意,t以0.1的間隔定義。因此,它是一個真正的變量,不能用作下標指示。以解決

的一種方式是

1)寫入CONT = 0;在循環之前。

2)寫在循環

3)取代VL的開頭CONT = CONT + 1(在循環內兩個地方T + 1)由VL(續)

+0

太棒了!非常感謝! – Kevin 2013-03-07 07:07:19