Ich möchte gerne minVelocity in einem anderen Matlab script verwenden und damit berechnungen durchführen. Ich habe es bereits in der Callback funktion gespeichert. Weiß aber nicht wie ich von anderen Skripten darauf zugreifen kann.
Das ist mein Code. Ich habe nur ein Textfelt und ein Button. Nach dem ich das Testfeld befülle und dann auf Execute drücke wird in minVelocity der Wert gespeichert. Für den nächsten schroitt brauche ich eure Hilfe.
Code:
functionvarargout = Filtering(varargin) % FILTERING MATLAB code for Filtering.fig % FILTERING, by itself, creates a new FILTERING or raises the existing % singleton*.
%
% H = FILTERING returns the handle to a new FILTERING or the handle to % the existing singleton*.
%
% FILTERING('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in FILTERING.M with the given input arguments.
%
% FILTERING('Property','Value',...) creates a new FILTERING or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before Filtering_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to Filtering_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help Filtering
% Last Modified by GUIDE v2.5 13-Dec-2019 10:51:41
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Filtering_OpeningFcn, ...
'gui_OutputFcn', @Filtering_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
ifnargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
% --- Executes just before Filtering is made visible. function Filtering_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to Filtering (see VARARGIN)
% Choose default command line output for Filtering
handles.output = hObject;
% UIWAIT makes Filtering wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. functionvarargout = Filtering_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure varargout{1} = handles.output;
% Find the gui using your unique tag
guiHandle = findobj('Type','Figure','Tag','Filtering');
%data = guiHandle.UserData;
guidata(hObject,handles);
function minVelocity_text_Callback(hObject, eventdata, handles) % hObject handle to minVelocity_text (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% --- Executes during object creation, after setting all properties. function minVelocity_text_CreateFcn(hObject, eventdata, handles) % hObject handle to minVelocity_text (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
ifispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in execute_button. function execute_button_Callback(hObject, eventdata, handles)
minVelocity = str2double(get(handles.minVelocity_text, 'string'));
% Store the data in the "UserData" property of the GUI Figure % This assumes that the hObject is a child of the GUI figure
data.minVelocity = minVelocity;
hObject.Parent.UserData = data;
disp(minVelocity)
Ich habe mir überlegt meine Main in nach in dem Execute_button callback auszuführen und in der Main möchte ich sozusagen minVelocity verwenden.
Code:
function execute_button_Callback(hObject, eventdata, handles)
minVelocity = str2double(get(handles.minVelocity_text, 'string'));
% Store the data in the "UserData" property of the GUI Figure % This assumes that the hObject is a child of the GUI figure
data.minVelocity = minVelocity;
hObject.Parent.UserData = data;
disp(minVelocity)
Analysis_Main
wenn Analysis_Main eine Funktion ist (und das sollte es sein), dann musst du die benötigten Variablen übergeben.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
OZLEM---3
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 13.12.2019, 13:48
Titel:
Wie übergebe ich denn die Variable? Das ist auch mein problem denke ich.
OZLEM---3
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 13.12.2019, 13:51
Titel:
Analysis_Main ist keine Funktion.
Ich habe das nur so gemacht, ich weiß nicht ob die Idee überhaupt stimmt meine mein in der Callback funktion audzurufen.
von dem, was du zur Verfügung gestellt hast, kann ich keinen Grund für die Fehlermeldung erkennen. Da müsstest du mehr Infos zur Verfügung stellen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
OZLEM---3
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 13.12.2019, 14:13
Titel:
Also ich habe ja zwei Skripte einmal der von der gui --> Filtering und einmal Analysis_Main. ich muss die daten austauschen können.
Also ich habe ja zwei Skripte einmal der von der gui --> Filtering und einmal Analysis_Main
Bitte Skripte und Funktionen unterscheiden. Die GUI ist kein Skript, sondern eine Funktion mit Unterfunktionen (erkennbar an den function - Statements).
Zitat:
ich muss die daten austauschen können.
Das habe ich verstanden. Nach den Informationen, die ich bisher sehe, sollte das auch gehen. Das bedeutet, dass ein Teil, den du noch nicht zur Verfügung gestellt hast, das Problem darstellt.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.