cellfun can not combines the outputs in arrays, even the outputs have the same size?
31 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have a cell called acell like this:
acell{1} = [ 0.200404217804178, 0.923507089706316, 0.0655250892091169 ]
acell{2} = [ 0.620741132682194, 0.608315135231154, 0.83289817740182 ]
acell{3} = [ 0.024658375296586, 0.166032525166251, 0.706597370177546 ]
I want to do this command:
cellfun(@(x) x == 0, acell )
but get the error:
??? Error using ==> cellfun Non-scalar in Uniform output, at index 1, output 1. Set 'UniformOutput' to false.
It is strange that even the outputs have the same size, cellfun can not combines the outputs in arrays. That is in contradiction to the help document on cellfun. Am I doing something wrong here or I misunderstand the help document?
Thanks!
0 Commenti
Risposta accettata
Vishal Rane
il 13 Giu 2013
Yang,
As per documentation on cellfun "UniformOutput 'true' indicates that for all inputs, each output from the function is a cell array or a scalar value that is always of the same type."
In your case each output is of the form [ x x x ], which is neither a cell array nor a scalar. Hence the need to set UniformOutput to false.
0 Commenti
Più risposte (2)
Yang
il 14 Giu 2013
2 Commenti
Ana Martínez
il 18 Apr 2016
Hello! I have the same error, can you help me please??
How can I to convert PSS/E files into a MatPower case? I know that psse2mpc function converts a PSS/E RAW data file into a MATPOWER case struct, but when I do it, I get an error.
For instance, I want to prove a case with 9 Buses called "case9psse.raw", and I want to save the results in "MPC_prueba.m". So I have this:
MPC = psse2mpc('case9psse.raw','MPC_prueba.m')
But it show me this:
MPC = psse2mpc('case9psse.raw','MPC_prueba.m') Reading file 'case9psse.raw' ........................................... done. Splitting into individual lines ...................... 51 lines read ... done. Analyzing sections ..................................... 18 sections ... done. Attempting to determine PSS/E revision from content. Parsing case identification data ......... unknown rev, using rev 23 ... done. Parsing 9 lines of bus data .......................................??? Error using ==> cellfun Non-scalar in Uniform output, at index 1, output 1. Set 'UniformOutput' to false.
Error in ==> psse_parse_section at 211 data.num(:, c) = cellfun(xc_fcn, dd);
Error in ==> psse_parse at 157 [data.bus, warns] = psse_parse_section(warns, records, sections, s, verbose, ...
Error in ==> psse2mpc at 90 [data, warnings] = psse_parse(records, sections, verbose, rev);
It's the same advice that you had, but I don't undersntad how to solve it.
Satyaki Banik
il 13 Ott 2020
Hello Ana Martinez, I have encountered the same problem - "Error using ==> cellfun Non-scalar in Uniform output, at index 1, output 1. Set 'UniformOutput' to false." What is the solution to that?
Thanks in advance.
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!