Is there a better way to use cellfun with arguments? and is it better than for-loop?
Mostra commenti meno recenti
Hey,
When I use cellfun, with a function that has arguments, I use repmat function to duplicate my arguments. My question is, if there is a better way to do this.
Here is an example
Lets say that I have a cell array of matricies and I want to get the size of dimention 1 in each
%Create a cell array with random values
randVal = @(x) magic(randi(5,2))
cellArr = arrayfun(randVal, ones(10,1),'uniformOutput',false);
%Get the size of the first dimention of each element in the cell aray
sizes = cellfun(@size,cellArr,repmat({1},size(cellArr,1),1));
This is the part that I am asking about:
repmat({1},size(cellArr,1),1)
Is there a better way to do this?
And in general, is this better that using a for-loop ?
2 Commenti
Rik
il 9 Set 2021
How is what you want different from what Steven posted in his answer? It seems to me that is what you need. Using an anonymous function is a better way than replicating data.
ytzhak goussha
il 9 Set 2021
Risposta accettata
Più risposte (1)
Categorie
Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!