Assign a 'double' variable to struct
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Ziv Kassner
 el 10 de En. de 2018
  
    
    
    
    
    Comentada: Ziv Kassner
 el 11 de En. de 2018
            I have a variable as such:
A.b = 'example';
And I want to change it to:
A.b.c = 2;
How can I do it without it prompting:
'Field assignment to a non-structure array object'
It worked on matlab's version before 2014.
Thank you,
Ziv
2 comentarios
  Stephen23
      
      
 el 10 de En. de 2018
				You can't.
You first define the field b as a double. You cannot then try to access field b as a structure.
Respuesta aceptada
  Jan
      
      
 el 10 de En. de 2018
        
      Editada: Jan
      
      
 el 10 de En. de 2018
  
      A.b = 'example';
A.b = struct('c', 2);  % Overwrite field "b"
Or:
A.b   = 'example';
A.b   = [];
A.b.c = 2
It is strange, that this works with the empty matrix, if it fails with an error for a char vector. But the first method is better, because it overwrites the field clearly.
Más respuestas (0)
Ver también
Categorías
				Más información sobre Structures 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!



