Expected one output from a curly brace or dot indexing expression, but there were 2 results.
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    SS
      
 el 13 de Ag. de 2019
  
    
    
    
    
    Comentada: Van Thai Pham
 el 2 de Dic. de 2020
            Hi.I working with a code to manipulate some data and here are the lines which gives error
S12(m).x2(n)=S2(tn4).x(ts4) % line 104
S12(m).dx2(n)=S2(tn4).dx(ts4) % line 105
S12(m).z(n)=S2(tn4).y(ts4) % line 106
The error is,
Expected one output from a curly brace or dot indexing expression, but there were 2 results.
Error in data_man (line 104)     S12(m).x2(n)=S2(tn4).x(ts4)
How can I fix this error?
3 comentarios
Respuesta aceptada
  Bruno Luong
      
      
 el 13 de Ag. de 2019
        
      Editada: Bruno Luong
      
      
 el 13 de Ag. de 2019
  
      In general you are not allow to assign multi-level structures with non-scalar indexing in one shot, you need to do in 2 steps.
%  S12(m).x2(n)=S2(tn4).x(ts4)
x2 = {S12(m).x2};
x = {S2(tn4).x};
for k=1:length(x2)
    x2{k}(n) = x{k}(ts4);
end
[S12(m).x2] = deal(x2{:});
3 comentarios
  Chuck Olosky
    
 el 2 de Ag. de 2020
				This approach worked for:
   names = {'a' 'b' 'c'};
   dStruct = repmat(struct('name',''),size(names));
   [dStruct.name] = deal(names{:});
Also works without "deal":
   [dStruct.name] = names{:};
In other threads, there are discussions regarding "deal" being unnecessary in later releases.
Más respuestas (0)
Ver también
Categorías
				Más información sobre Whos en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!