cellfun can not combines the outputs in arrays, even the outputs have the same size?
30 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Yang
el 13 de Jun. de 2013
Comentada: Satyaki Banik
el 13 de Oct. de 2020
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 comentarios
Respuesta aceptada
Vishal Rane
el 13 de Jun. de 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 comentarios
Más respuestas (2)
Yang
el 14 de Jun. de 2013
2 comentarios
Ana Martínez
el 18 de Abr. de 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
el 13 de Oct. de 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.
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!