从循环中绘制

时间:2013-03-07 06:05:42

标签: matlab plot

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 个答案:

答案 0 :(得分:1)

您的脚本存在问题。注意,t以0.1间隔定义。因此,它是一个实数变量,不能用作下标指标。

解决这个问题的一种方法是

1)写cont = 0;在循环之前。

2)在循环开始时写下cont = cont + 1

3)在循环内的两个位置用VL(cont)替换VL(t + 1)