2016-09-25 49 views
0

我试图从gui popupmenu中修改我的Farzeug结构。我正在尝试使用assignin函数。将Matlab中的Assignin Evalin变量struct

contents = get(hObject,'Value') 
Klima_Regler_GUI = evalin('base','Fahrzeug.Klima_Regler'); 
switch contents 
    case 1 
     Klima_Regler_GUI = 1; 
     assignin('base','Fahrzeug.Klima_Regler',Klima_Regler_GUI); 
    case 2 
     Klima_Regler_GUI = 0.75; 
     assignin('base','Fahrzeug.Klima_Regler',Klima_Regler_GUI); 
    case 3 
     Klima_Regler_GUI = 0.50; 
     assignin('base','Fahrzeug.Klima_Regler',Klima_Regler_GUI); 
    case 4 
     Klima_Regler_GUI= 0.25; 
     assignin('base','Fahrzeug.Klima_Regler',Klima_Regler_GUI); 
case 5 
     Klima_Regler_GUI = 0; 
     assignin('base','Fahrzeug.Klima_Regler',Klima_Regler_GUI); 
otherwise 

,但我不断收到此错误:

error

我会感谢所有帮助

+0

请将错误作为文本张贴,因为图像难以阅读。 – Adriaan

回答

0

这是不可能改变使用结构字段assignin因为

assignin(ws, 'var', val) assigns the value val to the variable var in the workspace ws. The var input must be the array name only; it cannot contain array indices.

但是你可以使用evalin要这样做:

evalin('base',['Fahrzeug.Klima_Regler = ' num2str(Klima_Regler_GUI)])