how to add and substract manually in a matrix?

1 view (last 30 days)
I have a matrix like
A=[1 1 0.7 1
0.7 1 1 1
1 1 0.7 1]
now i want to addition of each column to be 3 so in first column its total is 2.7. where 3-2.7 = 0.3. i want to divide this 0.3 in rest 1 that is 0.15 to 1st element A(1,1) and A(3,1). same wise i want to do for each column. how shall i do that...plz plz help me....
  3 Comments
suchismita
suchismita on 2 May 2014
no actually...its a part of my phd work...that i have to check whether i can do this type of manipulation in matlab

Sign in to comment.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 2 May 2014
A=[1 1 0.7 1
0.7 1 1 1
1 1 0.7 1]
s=3-sum(A);
ii=A==1;
jj=sum(ii);
a=s./jj;
b=bsxfun(@times,ii,a);
b(isnan(b))=0;
B=A;
k=b~=0;
B(k)=A(k)+b(k)
  1 Comment
suchismita
suchismita on 8 May 2014
Edited: suchismita on 8 May 2014
i have a doubt if i want to edit this same example and assume that after the calculation of 1st column, 2nd column will be calculated from the first....as the subtracting and adding will be done on the value of the previous column.
as for example:
B=[1.15 1.15 0.85 0.85; 0.7 0.7 1.3 1.3; 1.15 1.15 0.85 0.85]

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!