1

Matlab でのループからの結果のプロットについて質問があります。これがコードです。

for t=0:1:10;
  VS=3*exp(-t/3)*sin(pi*t);
  if VS>0
     VL=VS
  else VL=0

  end

end

plot(t,VL)
xlabel('Time(s)')
ylabel('Across Voltage(V)')
title('Across Voltage Vs Time') 

上記の式の電圧と 0 から 10 までの時間に基づいて図をプロットしたいと思います。ただし、コードを実行した後、図には何も表示されません。誰でも理由を理解するのを手伝ってもらえますか?

4

1 に答える 1

0

これは、forループの外でプロットしているためです。したがって、その時点で t は期待どおりのベクトルではなく、スカラー値t=10. また、VL実行に依存します。したがってt、ベクトルとして形成し、次のことを行う必要があります。

k=0;
for t=0:1:10;
k=k+1;
  VS=3*exp(-t/3)*sin(pi*t);
  if VS>0
    VL(k,1)=VS
  else VL(k,1)=0
  end
end
plot(0:10,VL)
xlabel('Time(s)')
ylabel('Across Voltage(V)')
title('Across Voltage Vs Time')
于 2013-03-07T02:53:31.940 に答える