|
|
Alternative für if-Anweisung um array auswerten zu können |
|
Sarah_1234 |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 03.04.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.04.2019, 09:33
Titel: Alternative für if-Anweisung um array auswerten zu können
|
|
|
|
|
Halli hallo,
kurz zum Hintergrund und dem Ziel meines Codes:
Ich habe mittels einer Wertetabelle Splines erzeugt, die eine Wirkungsgradkurve einer Turbine darstellen.
Damit ich nun auch die Werte zwischen den Stützpunkten (z.B. 0.08 und 0.1) in 0. 01 Schrittlänge ermitteln kann, habe ich eine if-Anweisung wie folgt in einer for-Schleife integriert.
Darauf erhalte ich diese Fehlermeldung:
Operands to the || and && operators must be convertible to logical scalar values.
Error in Turbine_Pelton_ifAnweisung_kiA_v1 (line 13)
if (0<=a_Tu) && (a_Tu<0.075)
Soweit ich das verstanden habe, ploppt diese Fehlermedlung auf, da a_Tu kein Scalar, sondern ein array ist. Kennt jemand eine Möglichkeit die n_Turbine(n)-Werte für aTu=0:0.01:0.15 (bzw. 1) dennoch berechnen zu lassen? Evtl. mit einer anderen Anweisung (die ich noch nicht kenne, da ich noch Matlab-Neuling bin )?
Würde mich rießig über einen Input freuen.
Grüße Sarah
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.04.2019, 10:24
Titel:
|
|
Hallo,
um den Code zum laufen zu bringen, müsstest du die einzelnen Elemente abfragen, also:
etc.
Da die Polynome gleich strukturiert sind, wäre mein Vorschlag, Koeffizientenvektoren a0 bis a3 mit repelem aufzubauen, z.B.
Dann kannst du komponentenweise Operationen nutzen und dir die Verzweigungen ersparen.
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 ;)
|
|
|
Sarah_1234 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 03.04.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.04.2019, 12:58
Titel:
|
|
Hallo Harald,
vielen Dank für die schnelle Rückmeldung.
Der Hinweis mit den "einzelnen Elementen (a_Tu(ii_Tu))" hat mir sehr geholfen. Besten Dank dafür!
Die Idee die Polynome mittels den Koeffizientenvektoren a0 bis a3 mit repelem zu erzeugen, klingt für mich als Neuling vielversprechend. Leider verstehe ich den Code noch nicht, da ich bis dato nur folgende Schreibweise für Polynome kenne:
Der Aufbau scheint mir mittels Repelem anders zu sein. Könntest du mir diesen näher erläutern? Wenn ich das richitg sehen, handelt es sich bei deinem Beispiel immer um den Koeffizienten der 3 Potenz. Weshalb wird der Koeffizienten -168866.333 nicht in einem repelem verarbeitet?
Beste Grüße Sarah
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.04.2019, 13:57
Titel:
|
|
Hallo,
Zitat: |
Wenn ich das richitg sehen, handelt es sich bei deinem Beispiel immer um den Koeffizienten der 3 Potenz. |
Genau. Die Idee wäre, dass du zu jedem a_Tu einen Satz von Koeffizienten erstellst. Übrigens ist die Abfrage momentan so, dass es keinen Zweig für a_Tu=0.08 gibt (nur für größer oder kleiner).
Zitat: |
Weshalb wird der Koeffizienten -168866.333 nicht in einem repelem verarbeitet? |
Weil er momentan nur für (maximal) ein a_Tu angenommen wird, nämlich 0.08.
Wahrscheinlich musst du aber a_Tu ohnehin mit einer feineren Schrittweite abtasten, damit du ein vernünftiges Ergebnis bekommst.
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 ;)
|
|
|
|
|
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.
|
|