Hallo Allerseits,
ich bin ein matlabanfänger und versuche gerade ein GUI zu erstellen.
Und zwar möchte ich einen Kreis plotten. Für den kreisradius habe ich eine Variable r erstellt. Nun möchte ich ein Feld im GUI erstellen, in dem man den Wert für r eintippen kann. Nun weiß ich nicht mit welchen GUI Element ich das hinbekomme.
Code:
functionvarargout = PushButtons(varargin) % PUSHBUTTONS M-file for PushButtons.fig % PUSHBUTTONS, by itself, creates a new PUSHBUTTONS or raises the existing % singleton*.
%
% H = PUSHBUTTONS returns the handle to a new PUSHBUTTONS or the handle to % the existing singleton*.
%
% PUSHBUTTONS('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in PUSHBUTTONS.M with the given input arguments.
%
% PUSHBUTTONS('Property','Value',...) creates a new PUSHBUTTONS or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before PushButtons_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to PushButtons_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
% Copyright 2002-2003 The MathWorks, Inc.
% Edit the above text to modify the response to help PushButtons
% Last Modified by GUIDE v2.5 29-Jan-2007 11:06:46
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @PushButtons_OpeningFcn, ...
'gui_OutputFcn', @PushButtons_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
ifnargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
% --- Executes just before PushButtons is made visible. function PushButtons_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 PushButtons (see VARARGIN)
% Choose default command line output for PushButtons
handles.output = hObject;
% UIWAIT makes PushButtons wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. functionvarargout = PushButtons_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;
% --- 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) figure;
% Eingangswerte
r = 30;% Radius
t = linspace(0,2*pi,360);
center=[000];
x=cos(t)*r+center(1);
y=sin(t)*r+center(2);
plot(x,y);
mit dem editierbaren Textfeld.
Übrigens ist App Designer eine in vielerlei Hinsicht deutlich angenehmere Alternative zu GUIDE.
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 ;)
Besten Dank für die Hilfe Harald,
habe es hinbekommen mit dem App Designer.
Nun wollte ich eine 3-dimensionalen ring im App Designer mit einem Push Botten plotten.
Dafür habe ich ein Edit field (Variable a) für den Innenradius und ein Edit field (Variable b) für den Außenradius des Ringes angelegt. Sowie ein Push Botten und ein Axesfeld. Eine Funktion für die beiden Variablen habe ich schon erstellt. Nun weiß ich aber nicht wie der Push Butten auf die beiden variablen zugreifen kann.
Code:
methods(Access = private) % Value changed function: aEditField function aEditFieldValueChanged(app, event)
a = app.aEditField.Value;
t = linspace(0,2*pi,360);
center=[000];
xin=cos(t)*a+center(1);
yin=sin(t)*a+center(2);
z=center(3)*ones(1,length(xin));
end % Value changed function: bEditField function bEditFieldValueChanged(app, event)
b = app.bEditField.Value;
t = linspace(0,2*pi,360);
center=[000];
xaus=cos(t)*b+center(1);
yaus=sin(t)*b+center(2);
z=center(3)*ones(1,length(xaus));
end % Button pushed function: Button function ButtonPushed(app, event)
Generell kannst du eigene Informationen (wie x,y,z) auch als Properties abspeichern.
Grüße,
Harald
P.S.: Bitte generell die Code-Umgebung verwenden.
_________________
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.