|
|
Gleichung mit der Schleife lösen |
|
SerKuz |

Forum-Anfänger
|
 |
Beiträge: 42
|
 |
|
 |
Anmeldedatum: 07.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: MATLAB R2016b
|
 |
|
|
 |
|
Verfasst am: 23.04.2014, 18:56
Titel: Gleichung mit der Schleife lösen
|
 |
Hallo Community,
ich möchte folgende Gleichung:
kappa=1.4
Ma=4
delta=20°
theta=gesucht
Mein Ansatz sieht so aus:
Da ich das ganze im Forum poste, klappt es selbstverständlich nicht. Deswegen bitte um Hilfe.
Bin ich total auf dem falschem Dampfer ?
Danke im Voraus.
Gruß
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 23.04.2014, 19:11
Titel:
|
 |
hallo. welche fehlermeldungen treten denn auf? ich kann mir schon vorstellen welche aber sowas ist immer wichtig mitzuposten.
delta nd theta werden in der schleife nicht geändert. also wird an der while bedingung auch nichts geändert.
ist eine zuweisung. wenn du also tan als variablen namen überspeichert hast und delta eine positive ganze zahl ist geht das . sonst nicht.
_________________
richtig Fragen
|
|
|
SerKuz |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 42
|
 |
|
 |
Anmeldedatum: 07.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: MATLAB R2016b
|
 |
|
|
 |
|
Verfasst am: 23.04.2014, 19:21
Titel:
|
 |
Winkow hat Folgendes geschrieben: |
hallo. welche fehlermeldungen treten denn auf? ich kann mir schon vorstellen welche aber sowas ist immer wichtig mitzuposten.
delta nd theta werden in der schleife nicht geändert. also wird an der while bedingung auch nichts geändert.
ist eine zuweisung. wenn du also tan als variablen namen überspeichert hast und delta eine positive ganze zahl ist geht das . sonst nicht. |
Danke für die schnelle Antwort.
Fehlermeldung:
Subscript indices must either be real positive integers or logicals.
Error in Triebwerke_Berechnung_theta_aus_delta (line 13)
tan(delta)=2*cot(theta(i)).*(Ma^2*sin(theta(i)).^2-1)/...
Ähm, die Frage wird wahrscheinlich ziemlich trivial erscheinen, aber wie bewältigt man das Problem ?
|
|
|
SerKuz |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 42
|
 |
|
 |
Anmeldedatum: 07.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: MATLAB R2016b
|
 |
|
|
 |
|
Verfasst am: 23.04.2014, 19:37
Titel:
|
 |
Winkow hat Folgendes geschrieben: |
...und delta eine positive ganze zahl ist geht das . sonst nicht. |
Delta ist 0.3491(20°in rad umgerechnet).
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 23.04.2014, 20:54
Titel: Re: Gleichung mit der Schleife lösen
|
 |
Hallo SerKuz,
Was soll denn diese Zeile bewirken:
Da steht auf der linken Seite ein Ausdruck, der berechnet wird, nämlich "tan(delta)". Das erlaubt aber keine Zuweisung. Winkow hatte bereits darauf hingewiesen.
Meinst Du vielleicht:
Gruß, Jan
|
|
|
SerKuz |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 42
|
 |
|
 |
Anmeldedatum: 07.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: MATLAB R2016b
|
 |
|
|
 |
|
Verfasst am: 23.04.2014, 21:10
Titel: Re: Gleichung mit der Schleife lösen
|
 |
Jan S hat Folgendes geschrieben: |
Hallo SerKuz,
Was soll denn diese Zeile bewirken:
Da steht auf der linken Seite ein Ausdruck, der berechnet wird, nämlich "tan(delta)". Das erlaubt aber keine Zuweisung. Winkow hatte bereits darauf hingewiesen.
Meinst Du vielleicht:
Gruß, Jan |
Hallo Jan,
die Zeile sollte im Prinzip den Ausdruck auf der rechten Seiten auf den Ausdruck auf der linken Seite angleichen. Also quasi die Gleichung ins Gleichgewicht bringen.
Ich verstehe nicht so wirklich, was ich anstatt der Zuweisung benutzt werden sollten.
Gruß SerKuz
P.S.:
Ist der logische Operator sinnvoller ?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 23.04.2014, 21:40
Titel:
|
 |
Hallo,
wenn du die Gleichung nach theta auflösen willst, wie die eingängliche Beschreibung nahelegt, dann ist die Vorgehensweise nicht sinnvoll.
Schau dir stattdessen mal fzero oder fsolve an.
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 24.04.2014, 04:17
Titel: Re: Gleichung mit der Schleife lösen
|
 |
Hallo Harald,
So weit ich es verstehe, geht es um delta, und das steht nur auf der linken Seite.
Hallo SerKuz,
Der "="-Operator weist der Variablen auf der linken Seite den Wert zu, der auf der rechten Seite berechnet wird. Der "=="-Operator vergleicht zwei Werte.
In Deinem Fall steht bei "tan(delta) = ..." aber keine Variable auf der linken Seite, sondern ein mathematischer Ausdruck. Mit "tan" meinst Du ja keinen Vektor, sondern die Tangens-Funktion, oder?
Eigentlich suchst Du aber doch nach dem wert für delta, oder?
Wenn Du nun eine Gleichung für "tan(delta) = x" hast, kann man auf beiden Seiten die ArcusTangens-Funktion anwenden und die Gleichung so auflösen, dass man "delta = atan(x)" erhält.
Hilft das? Wenn nicht, beschreibe doch bitte, was der gezeigte Code machen soll. Nur auf Grundlage eines Codes mit einem Fehler kann man ja einen Verbesserungsvorschlag nur erraten.
Gruß, Jan
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 24.04.2014, 09:21
Titel:
|
 |
Hallo Jan,
Zitat: |
So weit ich es verstehe, geht es um delta, und das steht nur auf der linken Seite. |
Das ist die entscheidende Frage, die wohl nur der Fragesteller endgültig beantworten kann. Ich verstehe es andersherum, da eingangs steht:
Zitat: |
delta=20°
theta=gesucht |
Die folgenden input-Befehle unterstützen die Vermutung.
Grüße,
Harald
|
|
|
SerKuz |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 42
|
 |
|
 |
Anmeldedatum: 07.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: MATLAB R2016b
|
 |
|
|
 |
|
Verfasst am: 24.04.2014, 19:52
Titel:
|
 |
Harald hat Folgendes geschrieben: |
Hallo,
wenn du die Gleichung nach theta auflösen willst, wie die eingängliche Beschreibung nahelegt, dann ist die Vorgehensweise nicht sinnvoll.
Schau dir stattdessen mal fzero oder fsolve an.
Grüße,
Harald |
Hallo Harald,
danke für den Tipp.
Gruß SerKuz
|
|
|
SerKuz |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 42
|
 |
|
 |
Anmeldedatum: 07.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: MATLAB R2016b
|
 |
|
|
 |
|
Verfasst am: 24.04.2014, 19:57
Titel: Re: Gleichung mit der Schleife lösen
|
 |
|
 |
|
Jan S hat Folgendes geschrieben: |
Hallo Harald,
So weit ich es verstehe, geht es um delta, und das steht nur auf der linken Seite.
Hallo SerKuz,
Der "="-Operator weist der Variablen auf der linken Seite den Wert zu, der auf der rechten Seite berechnet wird. Der "=="-Operator vergleicht zwei Werte.
In Deinem Fall steht bei "tan(delta) = ..." aber keine Variable auf der linken Seite, sondern ein mathematischer Ausdruck. Mit "tan" meinst Du ja keinen Vektor, sondern die Tangens-Funktion, oder?
Eigentlich suchst Du aber doch nach dem wert für delta, oder?
Wenn Du nun eine Gleichung für "tan(delta) = x" hast, kann man auf beiden Seiten die ArcusTangens-Funktion anwenden und die Gleichung so auflösen, dass man "delta = atan(x)" erhält.
Hilft das? Wenn nicht, beschreibe doch bitte, was der gezeigte Code machen soll. Nur auf Grundlage eines Codes mit einem Fehler kann man ja einen Verbesserungsvorschlag nur erraten.
Gruß, Jan |
Hallo Jan,
mit der Schleife wollte ich theta bestimmen. Da es für die Gleichung keine analytische Lösung gibt, dachte ich, dass es mit der while-Schleife klappen würde den Wert "theta" auf der rechten Seite so anzupassen, dass er dem tan(delta) gleich ist. So war der Grundgekannte beim Angehen des Problems.
Gruß SerKuz
|
|
|
SerKuz |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 42
|
 |
|
 |
Anmeldedatum: 07.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: MATLAB R2016b
|
 |
|
|
 |
|
Verfasst am: 24.04.2014, 20:01
Titel:
|
 |
|
 |
|
Harald hat Folgendes geschrieben: |
Hallo Jan,
Zitat: |
So weit ich es verstehe, geht es um delta, und das steht nur auf der linken Seite. |
Das ist die entscheidende Frage, die wohl nur der Fragesteller endgültig beantworten kann. Ich verstehe es andersherum, da eingangs steht:
Zitat: |
delta=20°
theta=gesucht |
Die folgenden input-Befehle unterstützen die Vermutung.
Grüße,
Harald |
Jan S hat Folgendes geschrieben: |
Hallo Harald,
So weit ich es verstehe, geht es um delta, und das steht nur auf der linken Seite.
Hallo SerKuz,
Der "="-Operator weist der Variablen auf der linken Seite den Wert zu, der auf der rechten Seite berechnet wird. Der "=="-Operator vergleicht zwei Werte.
In Deinem Fall steht bei "tan(delta) = ..." aber keine Variable auf der linken Seite, sondern ein mathematischer Ausdruck. Mit "tan" meinst Du ja keinen Vektor, sondern die Tangens-Funktion, oder?
Eigentlich suchst Du aber doch nach dem wert für delta, oder?
Wenn Du nun eine Gleichung für "tan(delta) = x" hast, kann man auf beiden Seiten die ArcusTangens-Funktion anwenden und die Gleichung so auflösen, dass man "delta = atan(x)" erhält.
Hilft das? Wenn nicht, beschreibe doch bitte, was der gezeigte Code machen soll. Nur auf Grundlage eines Codes mit einem Fehler kann man ja einen Verbesserungsvorschlag nur erraten.
Gruß, Jan
|
Verzeihung, wenn ich mich zweideutig ausgedrückt habe.
Harald hat recht. Meine Absicht ist es den Wert "theta" zu bestimmen.
Vielen Dank an euch für die Tipps und aktive Hilfe. Ich werde es noch mit dem
Ansatz probieren an das Problem ranzugehen.
Gruß SerKuz
|
|
|
|
|
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.
|
|