2013-03-07 3 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) для ответа. –

+0

lol @Parag это его репутация xD – Cashew

+0

@Cashew ya Я знал, как только увидел вопрос –

ответ

1

В вашем скрипте есть проблемы. Заметим, что t определяется через 0,1 интервала. Следовательно, это действительная переменная и не может использоваться в качестве индекса индекса.

Одним из способов решения, что является

1) записи прод = 0; перед циклом для.

2) записи прод = прод + 1 в начале цикла

3) заменить VL (T + 1) VL (продолжение) в обоих местах внутри цикла

+0

потрясающий! Большое спасибо! – Kevin