Matrix row cell concatenation

9 visualizzazioni (ultimi 30 giorni)
Ahsan
Ahsan il 20 Lug 2019
Commentato: Stephen23 il 11 Apr 2023
Hello,
I have a matrix and I would like to combine its row cells as an array of the matrix.
Ex:a
1 2 3
4 5 6
7 8 9
result:b
123
456
789
I tried a solution to from this link:
a = [ 8 1 6 ; 1 2 3 ; 4 5 6 ]
[l c ] = size (a) ;
b = cell (l,1);
for i =1 : l
b {i,: } = [ a(i,1) a(i,2) a(i,3) ] ;
end
but I get the out put as
ans =
[1x3 double]
[1x3 double]
[1x3 double]
any help would be appreciated. Thnx
  4 Commenti
Ahsan
Ahsan il 21 Lug 2019
and I am trying to achieve 1.[123; 456; 789], a 3-by-1 column vector of 3-digit numbers?
Stephen23
Stephen23 il 11 Apr 2023
M = [1,2,3;4,5,6;7,8,9];
V = M*[100;10;1]
V = 3×1
123 456 789

Accedi per commentare.

Risposte (1)

madhan ravi
madhan ravi il 20 Lug 2019
Modificato: madhan ravi il 20 Lug 2019
b = reshape(arrayfun(@(x)polyval(a(x,:),10),...
1:size(a,1),'un',0),[],1);
Wanted = cell2mat(b)
  4 Commenti
madhan ravi
madhan ravi il 20 Lug 2019
Modificato: madhan ravi il 22 Lug 2019
What more do you need ? Doesn't the below give what you want??
>> a = [1 2 3
4 5 6
7 8 9 ];
>> bb=num2cell(string(a),1);
>> b=str2double(strcat(bb{:}))
b =
123
456
789
>> size(b)
ans =
3 1 % 3 by 1 vector
>>
Andrew Sol
Andrew Sol il 11 Apr 2023
Here! That's what I need! Thank you!

Accedi per commentare.

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by