Matlab Syntax Problem < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 00:23 So 17.03.2013 | Autor: | Massmix |
Hey Leute,
ich bin gerade dabei mir Matlab anzueignen und sollte eine Funktion um den Teil des harmonischen Mittels erweitern.
Dabei bin ich auf folgendes Problem gestoßen bzw. "Eigenart" die ich mir nicht erklären kann. Meine Formel zu Berechnung des harmonisch gewogenen Mittels habe ich geschrieben als:
harmon = length(x) / sum(1/x);
mit diesem Code funktioniert die Funktion aber nicht so wie sie soll. Erst wenn man die Funktion umschreibt zu
harmon = length(x) / sum(x.^(-1))
klappt es so wie es soll!
Jetzt kann ich mir nicht genau erklären woran das liegt, da die Ausdrücke mathematisch ja identisch sind. Meine Vermutung ist jetzt, dass ich x.^(-1) schreiben muss, da Matlab Werte in Vektoren und Matrizen verpackt. Also das einfach so Programmtechnisch bedingt ist...
Lieg ich damit richtig? Bzw. wenn ja wo muss man dann noch aufpassen auf die richtige Formulierung wenn man Code schreibt?
Grüße und Danke schon mal :)
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 01:40 So 17.03.2013 | Autor: | leduart |
Hallo
du hast schon richtig erkannt, dein x ist ja ein vektor, d.h. 1/x gibt es gar nicht, während x.^-1 das inverse der komponenten bildet. Und ja, du musst immer n vektorrechnung denken, das ist ja das gute an matlab, dass du direkt mit einer variablen als Vektor rechnest.
gruss leduart
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:42 So 17.03.2013 | Autor: | Massmix |
Alles klar, vielen Dank :)
Grüße
|
|
|
|