フィルターのクリア

Conditional in values of a matrix

17 ビュー (過去 30 日間)
Montserrat Vallcorba Martí
Montserrat Vallcorba Martí 2017 年 11 月 30 日
コメント済み: Star Strider 2017 年 12 月 1 日
Hi,
I want to do the following condition in a matrix:
The example:
Any suggestion?
Thank you!

採用された回答

KL
KL 2017 年 11 月 30 日
indx = A(:,2)<0;
B = indx.*A(:,2) + ~indx.*(A(:,2)-A(:,3).*abs(A(:,2)))
  1 件のコメント
Montserrat Vallcorba Martí
Montserrat Vallcorba Martí 2017 年 12 月 1 日
Thank you!

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

その他の回答 (1 件)

Star Strider
Star Strider 2017 年 11 月 30 日
Your original description of the problem contains an error.
In order to get ‘Vector B’, you need to divide ‘abs(A(i,3))’ by 100.
This works, and gives the correct result:
A = [0.08 -0.335 75; 0.017 -0.335 75; 7.17 0.468 38.5; 19.33 1.379 29; 150 3.73 20];
B = A(:,2)-A(:,3).*abs(A(:,2))/100;
B(A(:,2)<0) = A(A(:,2)<0,2)
B =
-0.3350
-0.3350
0.2878
0.9791
2.9840
  2 件のコメント
Montserrat Vallcorba Martí
Montserrat Vallcorba Martí 2017 年 12 月 1 日
Thank you!
Star Strider
Star Strider 2017 年 12 月 1 日
My pleasure!

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

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by