0
MATLAB R2016aで単純に区分的に定義された関数をプロットしようとしています。 tが負の場合、このコードはv = 0
となり、tが正(またはゼロ)の場合、コードはv = 10*exp(-5000*t)
と表示されます。MATLABで区分的に定義された関数をプロットする際のトラブル
t = -0.0014:1e-5:0.0014;
v = zeros(1, length(t));
for i = 1:length(t)
if t(i) < 0
v(i) = 0;
elseif t(i) >= 0
v(i) = 10*exp(-5000*t);
end
end
plot(t, v)
このMファイルは、私には右に見えますが、私はエラー
In an assignment A(:) = B, the number of elements in A and B must be the same.
Error in PiecewiseFunction (line 10)
v(i) = 10*exp(-5000*t);
私はそれは単純なものだ疑いを得続けるが、私はちょうどそれを見ることはありません。ここでは、コードです!
'V(1)= 10 *のEXP(-5000 * T(I)); ' – TroyHaskin
Matlabのエラーメッセージが(彼らが通常そうであるように)非常に便利だったとすると、問題は" AとBの要素の数が同じでなければならない " i) 'と' 10 * exp(-5000 * t) 'は異なっていなければなりません。これをさらにデバッグするには、エラーの前に2行に 'size(v(i))'と 'size(10 * exp(-5000 * t))'を実行することができます。これは問題が何であるかを示していたでしょう、そして、それを修正する方法を考える必要があります。 Matlabのエラーメッセージは非常に便利で、それらを読んで、彼らが何を言っているのか考えてみてください! – David
優れたソリューションとコメント! – Andy