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

3 Ansichten (letzte 30 Tage)
Milan Kumar
Milan Kumar am 26 Apr. 2019
Bearbeitet: Stephen23 am 27 Apr. 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 Kommentar
Catalytic
Catalytic am 26 Apr. 2019
We have no way of knowing what you consider to be the "right response"....

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Stephen23
Stephen23 am 27 Apr. 2019
Bearbeitet: Stephen23 am 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

Weitere Antworten (1)

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

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by