Clear Filters
Clear Filters

gui error

1 view (last 30 days)
pawan kumar
pawan kumar on 22 Sep 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 Comment
Jan
Jan on 22 Sep 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.

Sign in to comment.

Answers (1)

Jan
Jan on 22 Sep 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.

Categories

Find more on Dialog Boxes in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!