|
|
trapz-Funktion in Simulink |
|
justy |
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 12.12.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.12.2021, 14:48
Titel: trapz-Funktion in Simulink
|
|
Ich würde gerne die trapz-Funktion in meinem Simulink-Modell nutzen, in einem "Matlab Function"-Block. Der Block hat zwei Input-Siganle, soll das eine Signal über das andere integrieren und das Ergebnis als Output herausgeben.
Damit die funktion trapz als trapz(X,Y) ausgeführt wird (und nicht beispielsweise als trapz(Y, dim)), habe ich nur diesen Teil der Funktion in den "Matlab Function"-Block kopiert.
die Input-Signale sind je nach Simulationslaufzeit z.B. 12000x1 Arrays, die mit der Laufzeit größer werden.
Leider habe ich bisher nur 0 als Lösung bekommen und auch viel Ausprobieren und Fehlermeldungen beheben hat nicht zu einer guten Lösung geführt.
Wenn ich die Funktion in Matlab ausführe, funktioniert sie einwandfrei, nur in Simulink während der Laufzeit funktioniert es nicht.
Hat jemand eine Idee?
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 12.12.2021, 17:00
Titel:
|
|
Hallo,
bitte hänge ein Beispielmodell an. So ist es am einfachsten, das Problem nachzuvollziehen.
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 ;)
|
|
|
justy |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 12.12.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.12.2021, 23:04
Titel:
|
|
Ich habe mal den Teil des Modells, bei dem ich nicht weiterkomme, einzeln dargestellt. Im Matlab-Skript funktioniert die funktion und errechnet einen Wert, im simulink-Modell leider nicht.
Viele Grüße
Beschreibung: |
|
Download |
Dateiname: |
trapez_test_modell.mdl |
Dateigröße: |
79.59 KB |
Heruntergeladen: |
290 mal |
Beschreibung: |
|
Download |
Dateiname: |
trapez_test.m |
Dateigröße: |
419 Bytes |
Heruntergeladen: |
257 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.12.2021, 11:00
Titel:
|
|
Hallo,
mit welchem Release ist das denn erstellt?
Ich bekomme in R2021b die Fehlermeldung "Invalid ConsecutiveZCsStepRelTol specified in the Configuration Parameters dialog".
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 ;)
|
|
|
justy |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 12.12.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.12.2021, 11:31
Titel:
|
|
Hallo,
ich benutze auch das R2021b Release. Ich habe mir die beiden Dateien nochmal runtergeladen und ausgeführt und bekomme keine Fehlermeldung.
Ich habe zuerst das Modell ausgeführt, um die Werte in den Arrays im Workspace zu haben und dann das .m-File ausgeführt.
Vielleicht hast du andere Konfigurations-Parameter? Ich habe einen Screenshot von meinen angehängt (Solver).
Viele Grüße!
Beschreibung: |
|
Download |
Dateiname: |
screenshot_matlab.PNG |
Dateigröße: |
60.38 KB |
Heruntergeladen: |
232 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.12.2021, 11:46
Titel:
|
|
Hallo,
ich habe mal Nullstellenerkennung deaktiviert. So kann ich das Problem nachvollziehen. Das Problem scheint mir, dass du in jedem Schritt immer nur einen Wert in die Funktion bekommst. Das siehst du, wenn du einen Haltepunkt setzt. Du müsstest also mit Vektorsignalen arbeiten.
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 ;)
|
|
|
justy |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 12.12.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.12.2021, 20:42
Titel:
|
|
Hi,
ja, genau das ist das Problem Habe heute nochmal vieles probiert, MUX, Deserializer, concatenate...aber nichts will funktionieren...
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 14.12.2021, 08:57
Titel:
|
|
Hallo,
vielleicht nochmal einen Schritt zurück: was möchtest du erreichen?
a) Soll in jedem Zeitschritt ein (eventuell komplett neues) vektorielles Signal integriert und das Ergebnis ausgegeben werden? Dann muss in der Tat sichergestellt werden, dass diese Signale zu jedem Zeitschritt zur Verfügung stehen.
b) Soll ein großer Vektor schrittweise diskret oder kontinuierlich integriert werden, beispielsweise um aus einer Geschwindigkeit eine Beschleunigung zu machen? Dann würde ich statt deines Ansatzes einen Unit Delay bzw. Integrator Block verwenden.
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 ;)
|
|
|
justy |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 12.12.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.12.2021, 10:25
Titel:
|
|
Hallo,
ich möchte, dass jede Halbwelle des y-Signals über den entsprechenden Bereich des x-Signals integriert wird.
In meinem Modell wird die Arbeit berechnet, indem ich die Kraft (y-Signal) über den Weg (x-Signal) integriere.
Ich wollte die y/x-Werte der einen Halbwelle sammeln und dann mit der trapz-funktion integrieren.
Viele Grüße
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|