MATLAB GUI用户输入更新

时间:2014-12-16 14:09:21

标签: matlab user-interface input

我有一个MATLAB GUI,它从用户输入中获取值,根据这些值进行一些计算并在GUI中绘制它们。

一切都很好并且正常工作但是当我更改GUI中的值时,它没有按预期绘制并给出尺寸不匹配的误差。但是,没有尺寸不匹配,如果我转到脚本并再次按下运行(大绿色箭头)然后再次单击绘图,则会按预期绘制值。

我已初始化了我使用的所有值,但我看不出如何解决这个问题。每次按下“情节”时,我都需要对所有脚本执行更新命令之类的操作。按钮。

感谢任何帮助,非常感谢!..

CODE:

a = str2double(get(handles.edit14,'String'));
b = str2double(get(handles.edit15,'String'));
c = str2double(get(handles.edit16,'String'));
d = str2double(get(handles.edit18,'String'));
e = str2double(get(handles.edit19,'String')); 
f = str2double(get(handles.edit20,'String'));

for Veff=[a:b:c] %user input speeds (a,b,c) (comes from user)
q = 0.5*1.225*(Veff*1000/3600)^2; 
F1=q*S; M1=q*S*Cref;
FX1=(F1*coef(:,1));  FZ1=(F1*coef(:,3)); MM1=(M1*coef(:,5));
 W=[d*g:e*g:f*g];  %define mass range (d,e,f comes from user)
 for lw=1:1:length(W)
XGEquation2max1 = ((((-FB*(Xa-Xb))-(((FX1(12)))*(Za-Zr))-(((FZ1(7))))*(Xa-Xr))-((max(MM1))))./W(lw)) + Xa;
CGPercent(lw,column) = (XGEquation2max1 - Cstart)/Cref * 100;

 end
 column=column+1;
end

speed_matrix = [a:b:c];
mass_matrix = [d:e:f];
ns = size(speed_matrix);
ns= ns(2);
count5 = 1;
for ns=1:1:ns
hold all
axes(handles.axes4) 
plot(CGPercent(:,ns),transpose(mass_matrix)/1000)
count5 = count5 + 1;
end 

主要问题是变量&#d; d,e,f'因为我改变了a,b,c'只有(即速度)没有问题。

0 个答案:

没有答案