Matrix split in vector

1 次查看(过去 30 天)
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]

采纳的回答

Stephen23
Stephen23 2020-4-7
编辑:Stephen23 2020-4-7
>> B = nonzeros(A.')
B =
1
2
3
4
5
6
7
8
  2 个评论
steve Brian
steve Brian 2020-4-7
编辑:steve Brian 2020-4-7
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
Stephen23
Stephen23 2020-4-7
"and if i want B to be in row?"
nonzeros(A.').'

请先登录,再进行评论。

更多回答(1 个)

KSSV
KSSV 2020-4-7
编辑:KSSV 2020-4-7
iwant = A(A>0)
If you want in the order you have given.
A = A' ;
iwant = A(A>0)

类别

Help CenterFile Exchange 中查找有关 Operating on Diagonal Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by