|
sofie |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.11.2007, 12:23
Titel: Skalarprodukt
|
|
Hallo
Ich fange gerade an mit Matlab zu arbeiten und habe leider anfänger Probleme. Ich soll ein Programm schreiben, dass das Skalarprodukt zweier Vektoren berchnet. Kann mir jemand ein Tipp geben wie ich anfangen soll?
Ich habe es so probiert:
funktion Skalarprodukt (s)
s=v(x)*w(y)'
V(x)=[x^2,x^2,x^2,y^2,y^2]
W(y)=[x^2,4*x*y,6*y^2,4*x*y,y^2]
end
bitte nich lachen ok!!
|
|
|
|
|
W31dn3r |
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 10.11.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.11.2007, 13:38
Titel:
|
|
Viel Erfolg
Zuletzt bearbeitet von W31dn3r am 10.11.2007, 13:51, insgesamt einmal bearbeitet
|
|
|
nschlange |
Ehrenmitglied
|
|
Beiträge: 1.320
|
|
|
|
Anmeldedatum: 06.09.07
|
|
|
|
Wohnort: NRW
|
|
|
|
Version: R2007b
|
|
|
|
|
|
Verfasst am: 10.11.2007, 13:42
Titel:
|
|
Hallo,
google mal nach "Matlab an der ETH".
Dann findest Du ein gutes Tutorial, mit dem Du
Dir die Matlab-Grundlagen erarbeiten kannst.
Ein ganz einfaches Programm könnte so aussehen:
Die Matlab-eigene Routine zum Berechnen des Skalar-Produktes
ist dot.
Viele Grüße
nschlange
|
|
|
Sofie |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.11.2007, 13:58
Titel: so?
|
|
So habe dies jetzt als function gemacht. Hab nur noch ein problem. X soll eingegeben werden und y=x-1.
y hab ich auch so definiert aber er zeigt mir dann immer an das x nicht definiert ist. wie bekomme ich x als eingabe hin?
so sieht es jetzt aus:
function sErgebnis=Skalarprodukt(vOne,vTwo)
vOne=v(x)
v(x)=[x^2,x^2,x^2,y^2,y^2]
vTwo=w(y)
w(y)=[x^2;4*x*y;6*y^2;4*x*y;y^2]
y=x-1
sErgebnis=vOne*vTwo';
end
|
|
|
nschlange |
Ehrenmitglied
|
|
Beiträge: 1.320
|
|
|
|
Anmeldedatum: 06.09.07
|
|
|
|
Wohnort: NRW
|
|
|
|
Version: R2007b
|
|
|
|
|
|
Verfasst am: 10.11.2007, 14:11
Titel:
|
|
Sollst Du das symbolisch machen oder numerisch?
|
|
|
Sofie |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.11.2007, 14:16
Titel: Aufgabe
|
|
Ich soll ein Programm schreiben, mit hilfe des funcktion-befehls, das von den Vektoren:v(x) und w(y) das Skalarprodukt berechnet. Dabei soll y=x-1 sein. x soll vom Benutzer beim aufruf der Funktion eingegeben werden.
|
|
|
nschlange |
Ehrenmitglied
|
|
Beiträge: 1.320
|
|
|
|
Anmeldedatum: 06.09.07
|
|
|
|
Wohnort: NRW
|
|
|
|
Version: R2007b
|
|
|
|
|
|
Verfasst am: 10.11.2007, 14:47
Titel:
|
|
aha,
und wie sehen v(x) und w(y) konkret aus?
Sollen die
v(x)=[x^2,x^2,x^2,y^2,y^2]
w(y)=[x^2;4*x*y;6*y^2;4*x*y;y^2]
sein?
Dann muss Du eine Funktion schreiben, die als Parameter
nur x hat,
dann rechnest Du y aus,
danach erstellst Du die Vektoren
und lieferst dann das Skalarprodukt zurück.
Wenn Du in einer Funktion
function sErgebnis=Skalarprodukt(vOne,vTwo)
vOne=v(x)
.
.
.
sowas schreibst, dann überschreibst Du den Parameter vOne mit dem
Wert von v(x), das ist nicht Sinn der Sache.
Ausserdem ist in diesem Fall v(x) ja noch gar nicht definiert,
daher auch der Fehler.
Man muss die Reihenfolge beachten, in der man Variable definiert.
|
|
|
W31dn3r |
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 10.11.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.11.2007, 14:51
Titel:
|
|
du must zuerst die "Eingabevariablen" initialiesieren , errechnen oder an die Funktion übergeben.
dieses wäre falsch(falls v(x) nicht global ist), da du zuerst v(x) der Variable zuweist und erst im nächster Zeile v(x) selbst initialiesierst. Ich nehme an das v(x) das Vector ist ,welches von Benutzer eingegen werden soll? Dann muss dieser aus dem "Eingabefeld" ausgelesen werden oder als Funktionsparameter in die Funktion (vOne in diesem Fall) übergeben werden.
Anschließend must du deinen zweiten Vector (in diesem Fall vTwo) initialiesieren oder errechnen.
|
|
|
nschlange |
Ehrenmitglied
|
|
Beiträge: 1.320
|
|
|
|
Anmeldedatum: 06.09.07
|
|
|
|
Wohnort: NRW
|
|
|
|
Version: R2007b
|
|
|
|
|
|
Verfasst am: 10.11.2007, 15:44
Titel:
|
|
Ich habe es jetzt so verstanden:
Du schreibst eine Funktion skalarprodukt.m:
und rufst die dann so auf:
skalarprodukt(2)
Ist das gemeint?
|
|
|
Sofie |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.11.2007, 13:25
Titel: ja
|
|
Das das sollte so gemeint sein, nur leider würft er mir dann das ergebniss von y=x-1 vor die nase ((((
|
|
|
W31dn3r |
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 10.11.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.11.2007, 14:27
Titel:
|
|
Wie rufst du den die Funktion auf? Die Funktion von nschlange funktioniert.
Erstelle doch mal ein m-file [skalarprodukt.m].
Kopiere die funktion von nschlange da rein und speichre diese ab.
Jetzt sollte man auf diese Funktin mit hilfe von skalarprodukt(x) [x z.B 2] zugreifen können.
ps. Falls du die Funktion mit hilfe von Run auszuführen versucht. Dann wirst du ganz klar fehlermeldung erhalten...
|
|
|
Sofie |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.11.2007, 14:55
Titel:
|
|
Ok es funktioniert jetzt. Hatte noch v(x) und W(y) geschrieben hab das jetzt in v,w geändert. Danke für die Hilfe:))))))
|
|
|
matlab-noob |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.11.2007, 00:01
Titel: Wie würde das programm dann komplet getippt aussehen???
|
|
Könntet ihr das sozusagen so komplet von anfang bis ende aufschreiben habe kein plan wie ich das machen soll hier ist die aufgabe
a) Programmieren Sie mit Hilfe des function-Befehls eine Matlab-Funktion namens
skalarprodukt.m, die das Skalarprodukt der Vektoren
v(x) =[x2, x2, x2, y2, y2],
w(x) =[x2, 4xy, 6y2, 4xy, y2]^T
berechnet. Dabei sei y = 1-x. Die Zahl x (element) 2 R(reele zahlen) soll vom Benutzer beim Aufruf der Funktion eingegeben werden.
b) Rufen Sie Ihre Funktion für folgende Werte von x auf:
x = Pie, x = 10Pie, x = 100Pie, x = 1000Pie, x = 10000Pie, x = 100000Pie,
Was erhalten Sie als Ergebnis? (Schreiben Sie ein kleines Programm namens -
skalarprodukteval.m, das die Funktion skalarprodukt.m mit den vorgegebenen
x-Werten aufruft.)
|
|
|
|
|
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 - 2024
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.
|
|