MATLAB Answers

Matrix split in vector

2 views (last 30 days)
Hello everyone! I need a little help, I'm at the beginning and I would like to create a function that receives a matrix with positive elements (0 included) and returns in a vector line by line the elements of the matrix without zeros. A little help, please?
ex: A = [1 2 0 3; 0 0 4 5; 6 0 7 8]
newA= [1, 2, 3, 4, 5, 6, 7, 8]

  0 Comments

Sign in to comment.

Accepted Answer

Stephen Cobeldick
Stephen Cobeldick on 7 Apr 2020
Edited: Stephen Cobeldick on 7 Apr 2020
>> B = nonzeros(A.')
B =
1
2
3
4
5
6
7
8

  2 Comments

steve Brian
steve Brian on 7 Apr 2020
and if i want B to be in row?
I have something like this:
function [values] = ceva(A)
B = A(A>0)
values = B';
endfunction
when i insert A, only display B = columne
edit: i fix it
Stephen Cobeldick
Stephen Cobeldick on 7 Apr 2020
"and if i want B to be in row?"
nonzeros(A.').'

Sign in to comment.

More Answers (1)

KSSV
KSSV on 7 Apr 2020
Edited: KSSV on 7 Apr 2020
iwant = A(A>0)
If you want in the order you have given.
A = A' ;
iwant = A(A>0)

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!