Remove negative numbers

27 ビュー (過去 30 日間)
M
M 2012 年 1 月 19 日
Hi all!
So I've been using MatLab for all of about two days and I already need some help. I have a matrix which contains both positive and negative numbers and I want to remove the negative numbers by adding the absolute value of the most negative number to all of the numbers in the matrix. I don't know the value of the most negative number beforehand, so I can't just hardcode it.
ie. Matrix A becomes Matrix B: A = [4 0 -6 -3], B = [10 6 0 3]
Is there an easy one-step solution for this? Or do I need to find the min value first, get the absolute value and then add it to all the matrix values?
Thank you!

採用された回答

Walter Roberson
Walter Roberson 2012 年 1 月 19 日
B = A - min(0, min(A(:)));
This code protects against the possibility that none of the entries in A are negative, leaving all the values unchanged in that situation.

その他の回答 (1 件)

the cyclist
the cyclist 2012 年 1 月 19 日
If you are sure there is at least one negative number in A, this will work:
B = A - min(A);

カテゴリ

Help Center および File ExchangeOperators and Elementary Operations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by