Hallo,
tja, also wie das mit einer Do[] Schleife geht,
weiß ich auch nicht aber
statt
|
>Do[z[i]=Chop[DFT[image[i]]-DFT[image[i+1]],10-4],{i,Length[list]-1}]
könte man z. B. sagen das list die Liste der
Bilder enhält dann
sollte
Chop[Subtract @@ (DFT /@ #)] & /@
Partition[list,2,1]
das ohne eine Do[] Schleife erledigen.
Und statt
| >Do[z[i][[k,l]]=z[i][[k,l]]/((k*a[i])^2+(
k*a[i])^2)
| ,{k,1,m1[i]},{l,1,m2[i]}, {i,Length[list]-1}]
kann man auch
MapIndexed[#1/(2*a[i]*#2[[1]])^2,z,{2}]
schreiben falls das da oben kein Tippfehler ist
und nicht
MapIndexed[#1/(a[i]^2*(#2.#2)),z,{2}]
gemeint ist ...
Gruß
Jens
----- Original Message -----
From: "ulenia" <ulenia@XXXXXXX.com>
To: <demug@XXXXXXX.ch>
Sent: Sunday, July 31, 2005 3:05 PM
Subject: Array Manipulation, Image Processing
| Hallo!
|
| Ich habe ein kleines Problem. Ich bin sicher,
dass es
| einfach zu lösen ist, nur ich schaffe es nicht.
Ich
| lese i-Anzahl von Bildern aus dem
Arbeitsverzeichnis
| ein. Length[list1] sagt mir, wie viele Bilder da
sind.
| Ich versuche, alle Berechnungen in Schleifen zu
| machen. Zum Beispiel
|
|
>Do[z[i]=Chop[DFT[image[i]]-DFT[image[i+1]],10-4],{i,Length[list]-1}]
|
| Einige Parameter hängen von den jeweiligen
Bildern ab,
| z.B. a[i] und b[i] oder:
|
| >Do[m1[i]=Dimensions[image[i]][[1]],
| ],{i,Length[list]}]
| >Do[m2[i]=Dimensions[image[i]][[2]],
| ],{i,Length[list]}]
|
| Weiterhin möchte ich für jedes Matrixelement
[[k,l]]
| für jedes Bild z[i] berechnen:
|
| >Do[z[i][[k,l]]=z[i][[k,l]]/((k*a[i])^2+(
k*a[i])^2)
| ,{k,1,m1[i]},{l,1,m2[i]}, {i,Length[list]-1}]
|
| Leider, ich kriege eine Fehlermeldung:
|
| Set : : setps: z[i] in assignment of part is not
a
| symbol
| ????????????????????????????.
| General : : stop : Further output of Set : :
setps
| will be suppressed during this calculation.
|
| Wenn ich für ein bestimmtes Element des Bildes
das
| gleiche z separat ausrechne, gibt es keine
Probleme:
| Hier für Element [[1,2]] des Bildes z[1]:
|
| >z[1][[1,2]]/((1*a[1])^2+( 2*a[1])^2)
|
| Ich kriege ganz vernünftige Ergebnisse:
|
| >8.59575x10-7 + 1.07787x10-6 i
|
| Wieso kann ich das mit Hilfe von "Do" -Schleifen
für
| jedes Element k und l für alle Bilder machen?
| Ich bin für jede Hilfe sehr dankbar.
|
| Ula
|
|
|
|
|
|
|
|
___________________________________________________________
| Gesendet von Yahoo! Mail - Jetzt mit 1GB
Speicher kostenlos - Hier anmelden:
http://mail.yahoo.de
|
|