How to create a vector by indexing elements within each cell of a 1xN cell array
7 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Daniel Rowe
il 14 Mag 2021
Commentato: Daniel Rowe
il 17 Mag 2021
I have a 1xN cell array (raw_array) and I am trying to create a vector of N values using the same indexing (a,b) within each cell.
I can use this expression to extract a scalar value from a single cell:
raw_array{1,n(x,y)}(a,b)
Here n(x,y) is just a means of indexing the correct cell within the cell array.
Let's say y varies from 1-10, i earlier tried the following:
raw_array{1,n(x,1:10)}(a,b) but clearly this doesn't work (error msg: Expected one output from a curly brace or dot indexing expression, but there were 10 results).
I really want to avoid writing each vector element separately, e.g. [raw_array{1,n(x,1)}(a,b) raw_array{1,n(x,2)}(a,b)...]
Can anybody please give me a hint or suggestion?
Thanks
0 Commenti
Risposta accettata
Stephen23
il 14 Mag 2021
Modificato: Stephen23
il 14 Mag 2021
Where C is your cell array:
a = ..;
b = ..;
F = @(m)m(a,b);
V = cellfun(F,C)
9 Commenti
Stephen23
il 17 Mag 2021
Sorry, the code I posted earlier was not correct. Please show the output of this:
for k = 1:numel(raw_array)
size(raw_array{k})
end
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!