|
|
Definition von Funktionen |
|
woosar |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 25.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.10.2013, 00:22
Titel: Definition von Funktionen
|
 |
Hallo, ich habe ein Problem bei der Definition von Funktionen
Ich möchte eine Funktion mit der Hilfe von Vektoren definieren.
Beispielsweise will ich den Abstand eines Ellipsenrands zum Ursprung in Abhängigkeit des Winkels berechnen.
Dazu würde ich das gerne so machen:
Allerdings bekomme ich so nicht das Ergebnis raus, was ich möchte, und die Funktionen, um die es mir Eigentlich geht, lassen sich nicht so einfach direkt als "a²cos²+b²sin²" schreiben. Warum kann ich innerhalb der Funktion keine Vektoren, so wie sie sonst benutzt werden, einsetzen?
Vielen dank
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 26.10.2013, 08:55
Titel:
|
 |
Hallo,
du kannst in Funktionen genauso Vektoren einsetzen wie sonst auch. Um dir weiterhelfen zu können, müssten wir noch wissen:
- wie rufst du die Funktion auf?
- inwiefern weichen die Ergebnisse von den erwarteten ab?
Grüße,
Harald
|
|
|
woosar |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 25.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.10.2013, 10:47
Titel:
|
 |
|
 |
|
Hallo,
Bei der Funktion
(als myfun.m speichern)
rufe ich die Funktion zur Überprüfung mit
auf und es kommt richtigerweise ein Vekor der Länge 100 mit 1 in jedem Eintrag heraus, wobei mich das ".*" schon stört, aber es ja anders nicht geht, da MATLAB einen Vektor einsetzt.
Ich würde nun den Abstand innerhalb der Funktion gerne in der Form
definieren, allerdings scheint MATLAB den Term nicht zuerst symbolisch auswerten zu können, bevor der Vektor eingesetzt wird, weshalb ich auch schon erfolglos versucht habe, symbolische Variablen zu benutzen.
liefert beim Aufrufen mit einem Vektor eine -Matrix und
eine quadratische Matrix in der Größe der Länge des Vektors x.
Ich möchte nachher Abstände von Kurven und dann Oberflächen bezüglich ihrer Parameter minimieren (also immer die Parameter der Kurven (Oberflächen), welche zusammen den geringsten Abstand bilden berechnen)und für den Abstand eines Kreises, dessen Rand in einem sich drehenden Koordinatensystem gegeben ist, wird die Formel für den Abstand des Randes zum Ursprung schon zu
wobei die Matrix die Drehung ins Inertialsystem beschreibt. Dort die skalaren Funktionen per Hand auszurechnen, ist mir zu doof, weshalb ich hoffe, dass sie irgendwie durch Vektorschreibweise definiert werden können.
Vielen Dank,
PS: Ich weiß natürlich, dass ich die ganze Zeit mit dem quadrat des Abstands rechne, aber das spielt ja keine Rolle.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 26.10.2013, 11:10
Titel:
|
 |
Hallo,
dann nimm statt r'*r doch r(1)^2 + r(2)^2 ? Das kannst du dann auch auf Vektoren übertragen:
Der Aufruf
sollte dann das gewünschte liefern.
Alternativ könntest du intern mit einer Schleife arbeiten, aber warum kompliziert, wenns auch einfach geht?
Grüße,
Harald
|
|
|
woosar |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 25.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.10.2013, 12:07
Titel:
|
 |
So funktioniert es erstmal. Vielen Dank! Für die Absolutverschiebung muss ich halt mit einer Schleife Arbeiten und ich glaube, sobald ich mehr als eine Variable benutze, bekomme ich nochmal Probleme, denn wenn ich den Abstand zweier Kurven, welche durch
gegeben sind, muss ich
bezüglich und minimieren.
Beschreibung: |
|
 Download |
Dateiname: |
export_fig_out.png |
Dateigröße: |
22.82 KB |
Heruntergeladen: |
336 mal |
|
|
|
|
|
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.
|
|