using a matrix in a calculation

i am trying to compute the equation:
vr = (v0*r)/(sqrt(r^2+(w*l-1/(w*c))^2));
where everything in the equation is a scalar and w is a matrix. However when I run this code I get an error that states:
Error using /
Matrix dimensions must agree.
I dont understand how the dimensions wouldn't agree in this situation.

回答 (2 件)

Akira Agata
Akira Agata 2023 年 5 月 1 日

1 投票

To do an element-wise calculation of an equation to a matrix, you should add dot (.) just before operator, like:
vr = (v0*r)./(sqrt(r^2+(w*l-1./(w*c))^2));

2 件のコメント

joseph
joseph 2023 年 5 月 1 日
This worked, thank you so much
Akira Agata
Akira Agata 2023 年 5 月 1 日
Let me correct one typo:
vr = (v0*r)./(sqrt(r^2+(w*l-1./(w*c)).^2)); % need dot (.) before ^ operator, too

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

Matt J
Matt J 2023 年 5 月 1 日

0 投票

Use element-wise operators .*, ./, and .^

カテゴリ

ヘルプ センター および File ExchangeMathematics についてさらに検索

質問済み:

2023 年 5 月 1 日

コメント済み:

2023 年 5 月 1 日

Community Treasure Hunt

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

Start Hunting!

Translated by