mikrocontroller.net

Forum: PC-Programmierung MATLAB GUI


Autor: jak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte mit MATLAB ein kleines Tool schrieben, mit dem einen
Tiefpass grafisch ausgeben kann.
Das Programm soll so sein, dass ich den Widerstandswert und
Kondensatorwert immer über die EDIT BOXEN abändern kann.
Wie mache ich dies mit MATLAB?

/******************************************************************/
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)
 s = tf('s');
 % Tiefpass 1. Ordnung
 %figure(1)
 % Aufruf Bode-Darstellung
 bode(G);
 grid;
 axis equal;

function edit1_Callback(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text
%        str2double(get(hObject,'String')) returns contents of edit1
as a double

Autor: jak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Tiefpass funktioniert ja soweit.
Ich möchte nur noch die Zeitkonstante R*C=T variable gestalten mit
Hilfe von EDIT Boxen.

Autor: jak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Tiefpass funktioniert ja soweit.
Ich möchte nur noch die Zeitkonstante R*C=T variable gestalten mit
Hilfe von EDIT Boxen.

Autor: jak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie erhalte ich den Wert (string,int) von einer EDIT Box?
Im Internet habe ich nichts gefunden. Die Hilfe von Matlab bringt mir
auch nichts.

Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo jak,

mit

[c]
deinWert = get(handles.nameDeinerEditBox, 'Value');
[\c]

bekommst Du den gewünschten Wert.

Ich weiß allerdings nicht, ob das Plotten des Bodediagramms aus einem
Callback so einfach möglich ist. Wenn Du ein neues Fenster willst,
könnstest Du mit

[c]
evalin('base', ['figure(1); bode(' G '); grid; axis equal;']);
[\c]

dieses erzeugen. Eleganter ist es aber (wenn Du schon bei GUIs bist),
den Plot in einem in deinem GUI eingebetteten Graphen zu zeichnen.

Die Matlab Hilfe ist doch sehr gut, wieso bringt die Dir nichts? Ich
hjabe zwar zwei Matlab-Bücher hier stehen, aber meistens erwische ich
mich dabei, wie ich in die Matlab-Hilfe schaue. Da sind doch super
Beispiele drin (auch zur GUI-Programmierung)...

Der Nils.

Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verdammt, ständig vergesse ich, wie das mit den Tags geht.

Test:

<c>
deinWert = get(handles.nameDeinerEditBox, 'Value');
<\c>

Vielleicht so?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.