indizes? < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 14:18 Mo 17.09.2007 | Autor: | anitram |
halli hallo!!
momentan steh ich wohl ein bisschen auf dem schlauch...
kann mir bitte jemand erklären, was dieses (1,1,:) in:
R = 1:50;
R2(1,1,:) = R.^2;
zu bedeuten hat?
Vielen dank für jede antwort!
lg anitram
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 14:30 Mo 17.09.2007 | Autor: | dormant |
Hi!
Also R2 ist ein drei-dimensionales Array.
> R = 1:50;
> R2(1,1,:) = R.^2;
Das bedeutet, dass den ersten 50 Elementen der 3. Dimension von R2 die jeweiligen Quadraten der Zahlen von 1 bis 50 zugewiesen werden. Es ist R2(1,1,1)=1, R2(1,1,2)=4, R2(1,1,3)=9 usw.
Die beiden einsen vorne sind die Indizies der ersten beiden Dimensionen. Das kann man sich am Besten im 3-dimensionalen Koordinatensystem vorstellen: Ab dem Punkt (1,1,1) werden in R2 noch die Punkte (1,1,4) bis (1,1,2500) gespeichert. Ab (1,1,1) nach "oben" so zu sagen.
Gruß,
dormant
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 14:49 Mo 17.09.2007 | Autor: | anitram |
hallo dormant!
vielen dank für deine schnelle antwort!
aber jetzt stellt sich eine weitere frage:
ich bekomme folgende fehlermeldung:
??? Assignment has more non-singleton rhs dimensions than non-singleton subscripts.
hoffentlich gibts auch hierfür eine logische erklärung!
vielen dank!
lg anitram
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 14:59 Mo 17.09.2007 | Autor: | dormant |
Hi!
Ich vermute in dem Script hast vor diesen 2 Zeilen die Dimension von R2 auf 1 oder 2 festgelegt. Das könnte die Fehlermeldung verursachen.
Gruß,
dormant
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 15:11 Mo 17.09.2007 | Autor: | anitram |
hallo!
tja, leider ist das das erste vorkommen von R2 und auch von R...
auch wenn ich diese zwei zeilen einfach ins command window hineinschreibe erhalte ich diese fehlermeldung.
schreibe ich allerdings
r2(1,1,:) = R.^2; (also schreibe das erste r klein)
erhalte ich keine fehlermeldung (im command window).
schreibe ich aber z.b.
k(1,1,:) = R.^2;
erhalte ich wieder die selbe fhelremeldung.
jetzt bin ich aber wirklich verwirrt!
dank!!!
lg anitram
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:22 Mo 17.09.2007 | Autor: | dormant |
Hi!
Vielleicht kommt er mit dem workspace durcheinander.
Versuch Folgendes:
1. Alle wichtigen Ergebnisse speichern.
2. Folgenden Script ausführen:
clear;
R=1:50;
R2=zeros(1,1,50);
R2(1,1,:)=R.^2;
Wenn das nicht geht, weiß ich auch nicht weiter.
Gruß,
dormant
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:42 Mo 17.09.2007 | Autor: | anitram |
so klappts!
gott sei dank!
danke für deine hilfe!
lg anitram
|
|
|
|