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

MATLAB step Funktion

 

Juergen19
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 11.12.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2020, 21:02     Titel: MATLAB step Funktion
  Antworten mit Zitat      
Guten Abend,

ich habe einige Fragen zur step-Funktion. Und zwar will ich eine Spannung darstellen, die nach t=5s von 0V auf 1V geht. Dazu habe ich auch schon eine Simulink Datei erstellt, die einen Step-Block enthält.

Dann habe ich ein m-File erstellt, um diese Simulink Datei zu öffnen. Jetzt will ich durch das m-File die Parameter der Spannung einstellen können. Ich weiß. dass es eine Funktion step() gibt, jedoch weiß ich nicht, wie ich folgendes ausdrücke:

-Spannung soll nach 5 Sekunden von 0 auf 1V steigen


Zusätzlich habe ich noch folgende Frage:
Nehmen wir an ich habe eine Funktion mit einem Parameter. Wie kann ich es dann
hinbekommen, dass ich für mehrere Parameterwerte mehrere Funktionen hinbekomme.

Ich hoffe auf eure Hilfe.


Viele Grüße
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: 11.12.2020, 22:29     Titel:
  Antworten mit Zitat      
Hallo,

du trägst im Block Variablen ein und belegst im Skript die Variablen nach Wunsch.

Zitat:
Wie kann ich es dann hinbekommen, dass ich für mehrere Parameterwerte mehrere Funktionen hinbekomme.

Diese Frage verstehe ich nicht. Insbesondere: möchtest du wirklich Funktionen haben oder vielleicht nicht eher Funktionswerte? Was bedeutet "hinbekommen"? Soll die Funktion bzw. der Funktionswert ein Rückgabeargument sein, oder wie?
Hat diese Frage überhaupt einen Zusammenhang zur ersten Frage? Wenn nicht, dann generell bitte zwei getrennte Themen erstellen.

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
 
Juergen19
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 11.12.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.12.2020, 13:24     Titel:
  Antworten mit Zitat      
Hallo,
danke für die Antwort.

Zur 1. Frage:
Ich habe da die Variablen bei Simulink im Model Workspace angelegt und dort noch keinen Wert zugewiesen. Die Wertzuweisung soll im m-File geschehen.
Wie kann ich denn im m-File mit der Funktion step() ausdrücken, dass es nach einer bestimmten Zeit, zB 5s von 0 auf 1V gehen soll?

Zur 2. Frage:
Ich hätte da gerne sowas wie eine Funktionenschar, wenn es sowas in Matlab gibt.

Vielen Dank,

Grüße
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: 12.12.2020, 13:31     Titel:
  Antworten mit Zitat      
Hallo,

zu 1.:
du brauchst überhaupt keine step-Funktion, wenn du schon den Block verwendest. Wie gesagt: Variablen eintragen (für Step time und Final value) und im Skript setzen.

zu 2.:
Das ist immer noch sehr vage. Ein paar Möglichkeiten:
Code:
syms a t
y = a*t^2;

oder auch
Code:
a = ...
f = @(x) a*x^2;

Wenn es einen Bezug zur ersten Frage geben sollte, dann stelle ihn bitte her.

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
 
Juergen19
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 11.12.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.12.2020, 13:47     Titel:
  Antworten mit Zitat      
Danke für die Hilfe, es hat geklappt.

Es gibt einen Bezug zwischen beiden Fragen. Denn ich möchte verschiedene Eingangssignale (Step), die sich in ihrem Final Value unterscheiden darstellen, und dazu auch die entsprechenden Ausgangssignale, welche durch 2 Integrierer laufen.

Viele Grüße
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: 12.12.2020, 14:26     Titel:
  Antworten mit Zitat      
Hallo,

die zweite Frage würde ich dann allerdings ganz anders angehen: eine for-Schleife, in der die Variable für Final Value im Step-Block unterschiedlich gesetzt wird.
Je nach Modell kann es auch möglich sein, für Final Value - Variable einen Vektor anzugeben.

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
 
Juergen19
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 11.12.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.12.2020, 15:25     Titel:
  Antworten mit Zitat      
Danke für die Bemerkung.

Gibt es auch eine andere Methode als die for-Schleife um mehrere Eingangsgrößen in der selben Grafik darzustellen?

Ich habe jetzt für den Final Value einen Vektor erstellt:

finalValue = [0.1 0.2 0.5 1];

Wenn ich dann jedoch

plot(tout,yout(:,1),'r','LineWidth',1); schreibe, wird nur 1 Sprungfunktion dargestellt.

Entschuldigung dass ich sowas frage, aber ich bin noch recht am Anfang von MatLab.


Viele Grüße
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: 12.12.2020, 15:44     Titel:
  Antworten mit Zitat      
Hallo,

wenn yout mehrere Spalten hat, dann plotte sie doch alle:
Code:
plot(tout,yout,'LineWidth',1);


Ohne das Modell ist es schwer zu sagen, was du machst.

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
 
Juergen19
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 11.12.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.12.2020, 16:13     Titel:
  Antworten mit Zitat      
Vielen herzlichen Dank, jetzt sieht man die ganze Schar an Funktionen.

Sie haben mir sehr weitergeholfen,
Danke
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.