Azzera filtri
Azzera filtri

Splitapply on a matrix of 1X1000

1 visualizzazione (ultimi 30 giorni)
JFz
JFz il 5 Mar 2018
Commentato: JFz il 5 Mar 2018
I have a matrix of 1x1000 numbers and my G is 1. When I do the splitapply on it: res = splitapply(@sum, mat, G);
The res Is the sum of the 1000 numbers. What I want is just the one row returned, i.e., res = mat;
How to get that? This is a special case. In general, there are many rows.
Thanks.

Risposta accettata

Rik
Rik il 5 Mar 2018
res = splitapply(@(x) sum(x,1), mat, G);
This is about 10 times slower for mat=rand(1,1000), but it forces the direction of summation. You could also include a conditional statement:
if size(mat,1)==1
res=mat;
else
res = splitapply(@sum, mat, G);
end

Più risposte (0)

Categorie

Scopri di più su Language Fundamentals in Help Center e File Exchange

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by