|
|
Kontinuierlich wechselnde Variablen |
|
SparX |

Forum-Anfänger
|
 |
Beiträge: 47
|
 |
|
 |
Anmeldedatum: 11.07.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.08.2018, 09:47
Titel: Kontinuierlich wechselnde Variablen
|
 |
Hallo Matlab-Forum,
ich habe eine Frage zur Programmierung von Vektoren, die aus einer Funktion erstellt werden.
Meine Ausgangsdaten sind:
Für diese Rechnung soll die Drehzahl n zwischen 1500<n<3000 liegen. Dazu soll sich i kontinuierlich nach diesen Bedingungen ändern können. Die Ergebnisse sollen dann in einen Vektor geschrieben werden.
Wie kann diese Bedingung am besten programmiert werden? Bisher war mein Ansatz zunächst erstmal die Drehzahlen über 3000 zu ersetzen mit:
Das klappt zwar, berücksichtigt aber nicht, dass sich die Drehzahlen unter 3000 auch mit einer anderen Übersetzung i ändern.
Viele Grüße,
SparX
|
|
|
|
|
J0nas |

Forum-Century
|
 |
Beiträge: 208
|
 |
|
 |
Anmeldedatum: 10.09.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab 2016a
|
 |
|
|
 |
|
Verfasst am: 06.08.2018, 10:33
Titel:
|
 |
Hallo SparX,
zumindest für mich ist dein Beitrag etwas unverständlich:
Zitat: |
Dazu soll sich i kontinuierlich nach diesen Bedingungen ändern können |
Nach welchen Bedingungen? Und wie genau soll sich i ändern?
Zitat: |
Für diese Rechnung soll die Drehzahl n zwischen 1500<n<3000 liegen. [...] Bisher war mein Ansatz zunächst erstmal die Drehzahlen über 3000 zu ersetzen mit: [...] |
Wäre es nicht sinnvoller die einfach zu löschen? Die sollen ja schließlich nicht berücksichtigt werden?!
Dann solltest du auf jeden Fall bei folgender Zeile den Nenner in Klammern setzen, falls ich das richtig sehe:
Bei den weiteren entsprechenden Zeilen natürlich ebenfalls.
Grüße
Jonas
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
SparX |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 47
|
 |
|
 |
Anmeldedatum: 11.07.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.08.2018, 10:43
Titel:
|
 |
Hallo J0nas,
ja, mein Beitrag ist etwas verwirrend geschrieben, da ich es schwer erklären kann.
In der Formel
soll sich i anhand seines Vektors i=[4,3,2,1] ändern.
Ist beispielsweise n=3500 für i(1), soll in der oberen Gleichung ab dieser Zeile im Vektor mit i(2) weitergerechnet werden. Fällt dann mit i(2) das n wieder unter 1500, soll mit i(1) weitergerechnet werden.
Es wäre auch gut zu sehen, ab welcher Zeile sich i ändert.
Gruß,
SparX
|
|
|
J0nas |

Forum-Century
|
 |
Beiträge: 208
|
 |
|
 |
Anmeldedatum: 10.09.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab 2016a
|
 |
|
|
 |
|
Verfasst am: 06.08.2018, 10:59
Titel:
|
 |
Hallo SparX,
ich glaube, dass das auf eine Schleife rauslaufen wird
Grüße
Jonas
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
SparX |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 47
|
 |
|
 |
Anmeldedatum: 11.07.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.08.2018, 12:14
Titel:
|
 |
Ja, das dachte ich mir. Allerdings bin ich in Schleifen nicht sehr bewandert. Joch habe ein paar while - Schleifen probiert, aber die haben nicht funktioniert.
Gruß,
SparX
|
|
|
J0nas |

Forum-Century
|
 |
Beiträge: 208
|
 |
|
 |
Anmeldedatum: 10.09.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab 2016a
|
 |
|
|
 |
|
Verfasst am: 06.08.2018, 12:33
Titel:
|
 |
Hi,
könnte so in der Art aussehen:
Hoffe das passt so. Hab' ich eben schnell runtergeschrieben & nicht getestet. Und muss je nachdem wie der Geschwindigkeitsvektor aussieht dann auch angepasst werden (oben und innerhalb der Formel natürlich auch).
Grüße
Jonas
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
Zuletzt bearbeitet von J0nas am 06.08.2018, 12:57, insgesamt 4-mal bearbeitet
|
|
|
SparX |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 47
|
 |
|
 |
Anmeldedatum: 11.07.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.08.2018, 12:41
Titel:
|
 |
Vielen Dank, das werde ich gleich einmal probieren.
Liefert die if-Schleife für i dann den Wert i(2) oder 2? Da der Startgang ja eigentlich i=i(1) und nicht i=1 ist.
Gruß,
SparX
|
|
|
J0nas |

Forum-Century
|
 |
Beiträge: 208
|
 |
|
 |
Anmeldedatum: 10.09.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab 2016a
|
 |
|
|
 |
|
Verfasst am: 06.08.2018, 12:56
Titel:
|
 |
Momentan i = 1. Falls anders gewünscht ist das ja eine kurze Anpassung
Grüße
Jonas
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
SparX |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 47
|
 |
|
 |
Anmeldedatum: 11.07.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.08.2018, 13:50
Titel:
|
 |
Okay, ich habe den Code einmal wie folgt angepasst:
Irgendetwas stimmt dabei noch nicht ganz, da ich folgenden Fehlermeldung bekomme:
Gruß,
SparX
Zuletzt bearbeitet von SparX am 06.08.2018, 14:13, insgesamt einmal bearbeitet
|
|
|
J0nas |

Forum-Century
|
 |
Beiträge: 208
|
 |
|
 |
Anmeldedatum: 10.09.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab 2016a
|
 |
|
|
 |
|
Verfasst am: 06.08.2018, 14:06
Titel:
|
 |
Kann's sein, dass P auch ein Vektor ist? Dann musst da auch noch auf die einzelnen Einträge zugreifen.
Grüße
Jonas
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
SparX |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 47
|
 |
|
 |
Anmeldedatum: 11.07.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.08.2018, 14:11
Titel:
|
 |
Ja, P is auch ein Vektor. Ich habe mal die Schleife nur für die Drehzahl laufen lassen:
Und bekomme dafür die Fehlermeldung
v hat dabei die Länge 1186. Auch ist die Definition von i in der Schleife noch nicht richtig.
Gruß,
SparX
Zuletzt bearbeitet von SparX am 06.08.2018, 14:22, insgesamt einmal bearbeitet
|
|
|
J0nas |

Forum-Century
|
 |
Beiträge: 208
|
 |
|
 |
Anmeldedatum: 10.09.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab 2016a
|
 |
|
|
 |
|
Verfasst am: 06.08.2018, 14:22
Titel:
|
 |
v ist ein 1186x1 oder 1x1186 Array mit nummerischen Werten?
Wenn ich mir so einen Vektor für v erstellen lasse und dann den Code durchlaufen lasse, kommt kein Fehler.
Grüße
Jonas
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
SparX |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 47
|
 |
|
 |
Anmeldedatum: 11.07.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.08.2018, 14:27
Titel:
|
 |
v ist ein 1186x1 Vektor.
Stimmt die Definition
dennoch für einen i(k)-Vektor oder muss sie dann auch umgeschrieben werden wie bspw.
Gruß,
SparX
|
|
|
J0nas |

Forum-Century
|
 |
Beiträge: 208
|
 |
|
 |
Anmeldedatum: 10.09.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab 2016a
|
 |
|
|
 |
|
Verfasst am: 07.08.2018, 07:54
Titel:
|
 |
Hi SparX,
muss natürlich auch umgeschrieben werden.
Grüße
Jonas
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
SparX |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 47
|
 |
|
 |
Anmeldedatum: 11.07.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.08.2018, 08:24
Titel:
|
 |
Hi J0nas,
ich bekomme noch den selben Fehler wie gestern. Auch wenn ich die Schleife umschreibe wie in meinem Post oben drüber mit i(k).
Mir ist gerade aufgefallen, dass die ersten zwei Einträge meine v-Vektors "NaN"-Einträge sind. Aber wenn ich die Schleife von Position 3 aus starten lasse
bekomme ich auch diesen Fehler. Allerdings funktioniert die Schleife für ein eigenes Beispiel mit v als 25x1 Vektor. Liegt das das tatsächlich nur an den NaN-Einträgen?
Das ist allerdings eines meiner letzten Probleme, die ich noch lösen muss. Der Rest der Programmierung sollte danach kein Problem mehr sein
Gruß,
SparX
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
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 - 2025
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.
|
|