Parameterübergabe in Matlab

Neue Frage »

Alb Auf diesen Beitrag antworten »
Parameterübergabe in Matlab
Meine Frage:
Hallo,
Ich möchte die variable eines slider(in val1, val2, val3, val4 abgespeichert) in der Funktion chua_function ganz unten aufrufen.
Leider kommt es dazu zu Fehlern. Wie muss ich das machen?



Meine Ideen:
Hier der Code:
function varargout = chaos_simulation_gui(varargin)
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @chaos_simulation_gui_OpeningFcn, ...
'gui_OutputFcn', @chaos_simulation_gui_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT

function chaos_simulation_gui_OpeningFcn(hObject, eventdata, handles, varargin)
[t,y] = ode45(@chua_function,[0 150],[1 0 0]);
axes(handles.axes1);
plot3(y(:,1),y(:,2),y(:,3)) = Plot
xlabel('D^-^1 Region')
ylabel('D^0 Region')
zlabel('D^1 Region')
grid
...
% Choose default command line output for chaos_simulation_gui
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = chaos_simulation_gui_OutputFcn(hObject, eventdata, handles)
% Get default command line output from handles structure
varargout{1} = handles.output;
function slider_a_Callback(hObject, eventdata, handles)
val1=get(hObject,'value');
set(handles.edit1,'string',num2str(val1));
guidata(hObject,handles);
function slider_a_CreateFcn(hObject, eventdata, handles)
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
...
function slider_n_Callback(hObject, eventdata, handles)
val4=get(hObject,'value');
set(handles.edit4,'string',num2str(val4));
guidata(hObject,handles);
function slider_n_CreateFcn(hObject, eventdata, handles)
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
function edit1_Callback(hObject, eventdata, handles)
value1=get(hObject,'string');
set(handles.text,'value',num2str(value1));
guidata(hObject,handles);
function edit1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

...
function edit4_Callback(hObject, eventdata, handles)
value4=get(hObject,'string');
set(handles.text,'value',num2str(value4));
guidata(hObject,handles);
function edit4_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function out = chua_function(t,p)
a = 16; % here i want to write a = val1
B = 30; % here i want to write b = val2
m = -1.2;
n = -0.7;
x = p(1);
y = p(2);
z = p(3);
g = n*x+0.5*(m-n)*(abs(x+1)-abs(x-1)); %St?ckweise Lineare Gleichung der Diode
xdot = a*(y-x-g);
ydot = x - y+ z;
zdot = -B*y;
out = [xdot ydot zdot]';
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »