creating a new column in a matrix using 'if condition"

1 vue (au cours des 30 derniers jours)
Milan Kumar
Milan Kumar le 26 Avr 2019
Modifié(e) : Stephen23 le 27 Avr 2019
On the following matrix:
Untitled.png
I am using the following code which is not giving the right response.
if Reg1(:,3)==0
Reg1(:,10)=0;
else
Reg1(:,10)=a1-b1*Reg1(:,3)+Reg1(:,6);
end
Cannot figure out the issue.
The output is
Untitled.png
  1 commentaire
Catalytic
Catalytic le 26 Avr 2019
We have no way of knowing what you consider to be the "right response"....

Connectez-vous pour commenter.

Réponse acceptée

Stephen23
Stephen23 le 27 Avr 2019
Modifié(e) : Stephen23 le 27 Avr 2019
IF will not help you in this situation.
You need to use indexing, e.g.:
Reg1(:,10) = a1-b1*Reg1(:,3) + Reg1(:,6);
idx = Reg1(:,3)==0;
Reg1(idx,10) = 0

Plus de réponses (1)

Matt J
Matt J le 26 Avr 2019
Modifié(e) : Matt J le 26 Avr 2019
if all( Reg1(:,3)==0 )
Reg1(:,10)=0;
else
Reg1(:,10)=a1-b1*Reg1(:,3)+Reg1(:,6);
end

Catégories

En savoir plus sur Resizing and Reshaping 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