WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

GUI Variable erstellen

 

MaTlAb 1234
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 05.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.08.2018, 17:37     Titel: GUI Variable erstellen
  Antworten mit Zitat      
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:
function varargout = 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',   []);
   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


% --- 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;

   % Update handles structure
   guidata(hObject, handles);

   % UIWAIT makes PushButtons wait for user response (see UIRESUME)
   % uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = 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=[0 0 0];
x=cos(t)*r+center(1);
y=sin(t)*r+center(2);
plot(x,y);


[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.08.2018, 22:56     Titel:
  Antworten mit Zitat      
Hallo,

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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
MaTlAb 1234
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 05.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.08.2018, 14:44     Titel:
  Antworten mit Zitat      
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=[0 0 0];
            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=[0 0 0];
            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)

              fill3(app.UIAxes,xaus,yaus,z,'r');
        fill3(app.UIAxes,xin,yin,z,'y');


        end
    end
    % App initialization and construction
    methods (Access = private)



[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
[EDITED, Jan, Bitte nicht die gesamte vorhergehende Nachricht zitieren - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.08.2018, 14:48     Titel:
  Antworten mit Zitat      
Hallo,

genauso wie du in den anderen Callbacks auch darauf zugreifen kannst, also z.B. mit
Code:
a = app.aEditField.Value;


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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.