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得到错误“下标索引必须是真正的正整数或逻辑。”
感谢。
答案 0 :(得分:1)
您的脚本存在问题。注意,t以0.1间隔定义。因此,它是一个实数变量,不能用作下标指标。
解决这个问题的一种方法是
1)写cont = 0;在循环之前。
2)在循环开始时写下cont = cont + 1
3)在循环内的两个位置用VL(cont)替换VL(t + 1)