I wonder wether Matlab could include a form of arithmetic operations common in C, namely x+=y, x*=y, x/=y etc.
In the piece of code
ctrl = somevar <= someother;
x(ctrl) = -x(ctrl);
indexing takes place twice, while x(ctrl)*= -1; could possibly save some time, unless the optimization of the Matlab interpreter makes this idea obsolete.
Anybody has an answer? Thanks

回答 (1 件)

Aiswarya Subramanian
Aiswarya Subramanian 2019 年 7 月 5 日

0 投票

Hello Enrico,
Such operations are not supported by MATLAB. You can go through the post 11 ( Steven Lord's answer ) I have attached below, which says that since MATLAB is array based, such operator would be ambiguous and unintuitive.
Hope it helps :)

1 件のコメント

Stephen23
Stephen23 2019 年 7 月 8 日
Enrico Onofri's "Answer" moved here:
I believe that a scalar operation like v= v*a should be simply v*=a at no risk (v matrix, a scalar). Also V(indices)*=a ; would be better than V(indices)=V(indices)*a. Where is the danger? I’m not convinced! Thanks anyway.

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

カテゴリ

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

製品

リリース

R2019a

タグ

質問済み:

2019 年 7 月 5 日

コメント済み:

2019 年 7 月 8 日

Community Treasure Hunt

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

Start Hunting!

Translated by