how to add and substract manually in a matrix?

1 vue (au cours des 30 derniers jours)
suchismita
suchismita le 2 Mai 2014
Modifié(e) : suchismita le 8 Mai 2014
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 commentaires
Nitin
Nitin le 2 Mai 2014
Are you trying to nomalize here?
suchismita
suchismita le 2 Mai 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

Connectez-vous pour commenter.

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 2 Mai 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 commentaire
suchismita
suchismita le 8 Mai 2014
Modifié(e) : suchismita le 8 Mai 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]

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by