I'm trying to plot this:
t=linspace(0,50,50);
plot(t,5*heaviside(t - 7/10)*((9*exp(7/45 - (2.*t)./9))...
./11 - (20.*exp(7/100 - t./10))./11 + 1))
The error is Error using * Inner matrix dimensions must agree.
Where am I missing my dots?

 採用された回答

Star Strider
Star Strider 2015 年 11 月 9 日
編集済み: Star Strider 2015 年 11 月 9 日

0 投票

You need to do element-wise operations, specifically replacing ‘*’ with ‘.*’, ‘/’ with ‘./’, etc. everywhere in an expression involving vectors of the same length.

2 件のコメント

David Chau
David Chau 2015 年 11 月 9 日
Does it have to be everywhere or just where the variable matrix appears?
Walter Roberson
Walter Roberson 2015 年 11 月 9 日
You do not need it in the case where you have a scalar constant multiplied by something, or in the case where you are dividing something by a scalar constant, or in any sub-expression that involves strictly scalar constants, such as 7/45 .
plot(t, 5*heaviside(t - 7/10) .* ((9*exp(7/45 - (2*t)/9))/11 - (20*exp(7/100 - t/10))/11 + 1) )

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSimulation, Tuning, and Visualization についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by