Azzera filtri
Azzera filtri

gui error

1 visualizzazione (ultimi 30 giorni)
pawan kumar
pawan kumar il 22 Set 2011
this programme is for flatfire trajectory of projectile,i solved it using odesolver(ode45)with event location;i made its gui by dirrectly drag and drop buttons from options and linked this programme in to the gui programme with pushbutton. i define function which odesolver will call just above the pushbutton and put the solver programmme inside the push button. i am taking some input from user which is being used in the programme .so that after pressing button it can execute the programme.but i found an error.if i simply(not from gui) run this programme from .m file it doesn't give error.this is the error which command window is showing;
??? Reference to a cleared variable handles.
Error in ==> guiflatfiredragwind>pushbutton1_Callback at 257 v0 = str2num(get(handles.edit1,'String'));
this is the programme which i have defined, function [value,isterminal,dircn] = fnflatfiredragwind(t,c,flag,w1,w2,w3,k) g = 9.8; % c(1) = x; c(2) = dx/dt = vx ; c(3) = y ; c(4) = dy/dt = vy ; c(5) = w % c(6) = dc/dt = vc
if nargin<7 isempty(flag)
value = [c(2); -k*(c(2)-w1)^2; c(4); (-k*(c(2)-w1)*(c(4)-w2))-g; c(6); -k*(c(2)-w1)*(c(6)-w3)];
else
switch flag
case 'events'
value = c(3);
isterminal = 1;
dircn = 0;
otherwise
error('function not programmed for this event');
end
end
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
disp('programme for simple trajectory using ode solver') % here tspan is the approximation time for the event occur i-e y = 0; tspan = [0 10]; % for the graph should be smooth time approximation must be near flight % time
v0 = str2num(get(handles.edit1,'String'));
theta = str2num(get(handles.edit2,'String'));
w1 = str2num(get(handles.edit3,'String'));
w2 = str2num(get(handles.edit4,'String'));
w3 = str2num(get(handles.edit5,'String'));
k = str2num(get(handles.edit6,'String'));
c0 = [0; v0*cos(theta); 1; v0*sin(theta); 0; 0];
options = odeset('events','on');
[t,c,te,ze,ie] = ode45('fnflatfiredragwind',tspan,c0,options,w1,w2,w3,k);
how will i solve this problem; reply soon, thanks pawan kumar
  1 Commento
Jan
Jan il 22 Set 2011
Please use code formatting to improve the readability of your code - follow the "Markup help" link on this page to learn how to do this.

Accedi per commentare.

Risposte (1)

Jan
Jan il 22 Set 2011
The error message seems to be descriptive:
??? Reference to a cleared variable handles.
Error in ==> guiflatfiredragwind>pushbutton1_Callback at 257
v0 = str2num(get(handles.edit1,'String'));
Obviously the variable handles is out of date. The description "if i simply (not from gui) run this programme from .m file" is not precise enough to find the cause of this problem. I suggest to use the debugger:
dbstop if error
Then Matlab stops, if the problem occurs and you can inspect the current variables.

Categorie

Scopri di più su Dialog Boxes in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by