Change the sign of a particular element in a matrix

2 ビュー (過去 30 日間)
Pranjal Pathak
Pranjal Pathak 2012 年 12 月 28 日
Hi, I have a problem in the following matrix: A=[ -1 1 0 0 0 0; 0 -1 1 0 0 0 ; 0 0 -1 1 0 0; 0 0 0 0 -1 1 ; 0 0 0 0 0 -1 ; 0 0 0 0 0 0];
In the above matrix, I need to change only the element -1 by +1, while others remaining the same. For, small matrix, it is possible by defining the row and column elements but for large matrix, is there any way of doing it programatically in matlab as the dimension of the matrix may be larger than this. Please help me in this regard.
Thanking You!

採用された回答

Muruganandham Subramanian
Muruganandham Subramanian 2012 年 12 月 28 日
編集済み: Jan 2012 年 12 月 28 日
find(A==-1)=1
[EDITED, Jan, copied from comments] Better: A(A==-1)=1;
or
A=abs(A)
  3 件のコメント
Muruganandham Subramanian
Muruganandham Subramanian 2012 年 12 月 28 日
Sorry..Azzi Its
A(A==-1)=1;
Pranjal Pathak
Pranjal Pathak 2013 年 1 月 9 日
Thanks for the answer,it worked out!

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

その他の回答 (1 件)

Image Analyst
Image Analyst 2012 年 12 月 28 日
What do you mean change it by +1? Do you mean change it TO +1, or change it by +1 by adding +1 to the -1 so that you get 0? Here's three different ways to do the two possible meanings of your question:
A = [ -1 1 0 0 0 0; 0 -1 1 0 0 0 ; 0 0 -1 1 0 0; 0 0 0 0 -1 1 ; 0 0 0 0 0 -1 ; 0 0 0 0 0 0]
A(A == -1) = 1
A = [ -1 1 0 0 0 0; 0 -1 1 0 0 0 ; 0 0 -1 1 0 0; 0 0 0 0 -1 1 ; 0 0 0 0 0 -1 ; 0 0 0 0 0 0]
A(A == -1) = 0
A = [ -1 1 0 0 0 0; 0 -1 1 0 0 0 ; 0 0 -1 1 0 0; 0 0 0 0 -1 1 ; 0 0 0 0 0 -1 ; 0 0 0 0 0 0]
elementsToChange = A == -1;
A(elementsToChange) = A(elementsToChange) + 1
  2 件のコメント
Shaun VanWeelden
Shaun VanWeelden 2012 年 12 月 28 日
Image Analyst, your always so thorough in your answers, I love it
Jan
Jan 2012 年 12 月 28 日
@Shaun: You can vote this answer, if you find it useful.

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

カテゴリ

Help Center および File ExchangeResizing and Reshaping Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by