how to add and substract manually in a matrix?

1 次查看(过去 30 天)
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 个评论
suchismita
suchismita 2014-5-2
no actually...its a part of my phd work...that i have to check whether i can do this type of manipulation in matlab

请先登录,再进行评论。

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2014-5-2
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 个评论
suchismita
suchismita 2014-5-8
编辑:suchismita 2014-5-8
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]

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by