matlab,plot,matrix&vektor < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Aufgabe | hab durch svd von einer Matrix [mm] A^{2xn} [/mm] den Vektor S berechnet und soll jetzt das ergebnis graphisch darstellen lassen |
mein problem ist wie ich einen Vektor zeichnen lassen kann, un zudem kommen ja noch n punkte von der Matrix A dazukommen
also ich denke ich brauche auf jeden fall den befehl hold on?
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 18:56 So 07.06.2009 | Autor: | Frasier |
Hallo Kinghenni,
ja, mit hold on kannst du mehrere Plots (z.B. Vektor und mehrere Punkte) in ein Koordinatensystem einzeichnen.
lg
F.
|
|
|
|
|
danke für deine antwort,
aber wie plotte ich einen vektor?
das hab ich noch nicht hinbekommen
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 19:14 So 07.06.2009 | Autor: | Frasier |
Hallo Kinghenni,
im einfachsten Fall stellst du den Vektor einfach mit plot dar
1: | vektor=[ 3 4 2 5 1];
| 2: | % x y
| 3: | punkte=[2 5;
| 4: | 3 6;
| 5: | 4 -2]
| 6: | plot(vektor);
| 7: | hold on;
| 8: | plot(punkte(:,1),punkte(:,2),'ro'); |
Hier nimmt Matlab die Werte im Vektor der Reihe nach als y-Werte, also 1/3, 2/4, 3/2, 4/5, 5/1.
Du kannst auch paarweise Koordinaten an plot übergeben, wie hier bei punkte. Das sind dann explizit x- und y-Werte.
Alles klar?
lg
F.
|
|
|
|
|
vielen dank für das Beispiel,
dennoch 2 fragen
> plot(punkte(:,1),punkte(:,2),'ro');[/code]
was macht 'ro' ?
> Hier nimmt Matlab die Werte im Vektor der Reihe nach als
> y-Werte, also 1/3, 2/4, 3/2, 4/5, 6/1.
also was matlab da macht versteh ich jetzt, vektor ist nur der form [mm] \vektor{x_1 \\ x_2}, [/mm] also geht auch durch den [mm] \IR^2
[/mm]
aber wenn du sagst plot(vektor) funktioniert, test ich das einfach
kanns aber leider erst morgen in der uni ausprobieren
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 10:28 Mo 08.06.2009 | Autor: | Frasier |
Hallo,
> was macht 'ro' ?
Es markiert die Punkte mit roten Kreisen ohne die Punkte untereinander zu verbinden. Näheres dazu findest du in der Hilfe von linespec.
Die zweite Frage verstehe ich nicht.
lg
F.
|
|
|
|
|
mhh.. das mit dem vektor scheint nicht zu stimmen
mein vektor ist s=[0,7 ; 0,3]
jetzt möcht ich eben einen vektor plotten, der 0,3 schritte nach rechts geht und 0,7 nach oben
und mit der vorherigen Frage meinte ich, ich habe nicht verstanden was matlab da macht
nachtrag:
ist in ordnung ich habs so gemacht
xv = [0:0.2:1];
yv = (s(1,1)/s(2,1))*xv;
plot(xv,yv);
und es funktioniert
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:17 Mo 08.06.2009 | Autor: | Frasier |
> mhh.. das mit dem vektor scheint nicht zu stimmen
> mein vektor ist s=[0,7 ; 0,3]
> jetzt möcht ich eben einen vektor plotten, der 0,3
> schritte nach rechts geht und 0,7 nach oben
ach so war das gemeint. Das hatte ich falsch verstanden, weil in Matlab die (numerischen) Variablen auch Vektoren (oder Matrizen) heißen...
lg
F.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:52 Mo 08.06.2009 | Autor: | Kinghenni |
okay, trotzdem vielen dank für deine mühe
und das mit der matrix hast du mir ja auch richtig gesagt
gruß kinghenni
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 11:53 Mi 10.06.2009 | Autor: | Frasier |
Hi,
jetzt bin ich wieder verwirrt,
einen Pfeil von 0/0 nach 7/3 kriegst du mit
quiver(0,0,7,3,0)
axis equal
lg
F.
Gemeint war wohl von 0/7 nach 0/3, das geht so:
quiver(0,7,0,-4,0)
axis equal
|
|
|
|