MATLAB: Hi every one, i need help to make something in matlab that i don’t if it can be done or not , thank you

MATLAB

A=[ 5 4 9 0 0 1 3 8 2 1 ]
B=[ 0 0 1 3 2 5 8 0 0 2 ]
C=[ 6 3 0 5 7 3 1 3 4 0 ]
if n=1:10
X=[ A ; B ; C] % in need this when all value are difference from zero so i need an output 3×10
X=[ A; B] % when value of C is zero i need output 2×10
X=[ A ;C] %% when value of B is zero i need output 2×10
X=[ B ;C] %% when value of A is zero i need output 2×10
so what i need in the code is when the value of the element of a vector is zero , i dont want to consider it inside the loop , always with the same variabile if it possibile
thank you

Best Answer

  • Try this:
    It uses:
    X = X(~all(X == 0,2),:) % Deletes Zero Rows

    to delete the rows that are all 0.
    For example:
    A=[ 5 4 9 0 0 1 3 8 2 1 ];
    B=[ 0 0 1 3 2 5 8 0 0 2 ];
    C=[ 6 3 0 5 7 3 1 3 4 0 ];
    X = [A; zeros(size(A)); C]
    X = X(~all(X == 0,2),:) % Deletes Zero Rows
    producing:
    X =
    5 4 9 0 0 1 3 8 2 1
    6 3 0 5 7 3 1 3 4 0