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

3 visualizzazioni (ultimi 30 giorni)
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 Commento
Catalytic
Catalytic il 26 Apr 2019
We have no way of knowing what you consider to be the "right response"....

Accedi per commentare.

Risposta accettata

Stephen23
Stephen23 il 27 Apr 2019
Modificato: Stephen23 il 27 Apr 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

Più risposte (1)

Matt J
Matt J il 26 Apr 2019
Modificato: Matt J il 26 Apr 2019
if all( Reg1(:,3)==0 )
Reg1(:,10)=0;
else
Reg1(:,10)=a1-b1*Reg1(:,3)+Reg1(:,6);
end

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by