PDA

View Full Version : [Frage] Bsp. Matrizen Nr.3


VTEC
21-10-2003, 20:37
Hi,

schaut das Ergebnis bei Euch so ähnlich aus. Habt ihr ne besserere Farbskalierung fürs Bild gefunden - welche?

buschti
22-10-2003, 10:52
der mesh schaut bei uns genauso aus, scheint also zu stimmen

-gero-
23-10-2003, 18:07
irgendeinen Tipp bei Bsp1 für Matitzen ?

irgendwie einen Hänger

alpi
28-10-2003, 20:47
Die P(n)-Funktion hab ich mittels Matrizenaddition gelöst.. Ohne For-Schleife gings bei mir aber nicht :)

z.B. bei Bei P(6) hast du dann 3 Matrizen, die du addieren musst:

1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1


0 0 0 0 0 0
0 1 1 1 1 0
0 1 1 1 1 0
0 1 1 1 1 0
0 1 1 1 1 0
0 0 0 0 0 0


0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0

alpi 8)

HaRdCoReBaStArD
29-10-2003, 11:38
Hi,

schaut das Ergebnis bei Euch so ähnlich aus. Habt ihr ne besserere Farbskalierung fürs Bild gefunden - welche?

wie geht denn das ?!?! wir grübeln schon seit längerem dran, aber unsere plots schauen total anders aus.

function z = Z(x, y, sigma)
x_plus_y = (x.^2 + y.^2);
sin_2x = sin(x.*2);
exp_xy = exp(-(x_plus_y/2*sigma^2));
exp_xy = exp_xy';
z = exp_xy*sin_2x;


und die ausgabe...

x = -2*pi:2*pi;
y = -2*pi:2*pi;
sigma = pi/2;

z = Z(x, y, sigma);

subplot(1, 2, 1);
mesh(z);

subplot(1, 2, 2);
imshow(z, []);


Thx Dere

Locutus of Borg
01-11-2003, 18:23
Ich komm auch nicht weiter. Groß X und groß Y sind doch Matrizen, oder?
Wie bekomme ich die? So sicher nicht: X = [x; x; x.*x]
Kann jemand die Lösung (oder Teile davon) posten?

Filz
02-11-2003, 17:32
Die P(n)-Funktion hab ich mittels Matrizenaddition gelöst.. Ohne For-Schleife gings bei mir aber nicht :)

andere Möglichkeit ist Rekursion: (oder auch in einer FOR-Schleife)
zB für P(6):
pyramid(1:6,1:6)=1; %(1)
pyramid(2:5,2:5)=2; %(2)
pyramid(3:4,3:4)=3; %(3)

gibt:

(1)
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1

(2)
1 1 1 1 1 1
1 2 2 2 2 1
1 2 2 2 2 1
1 2 2 2 2 1
1 2 2 2 2 1
1 1 1 1 1 1


(3)
1 1 1 1 1 1
1 2 2 2 2 1
1 2 3 3 2 1
1 2 3 3 2 1
1 2 2 2 2 1
1 1 1 1 1 1

Filz
02-11-2003, 17:44
function z = Z(x, y, sigma)
x_plus_y = (x.^2 + y.^2);
sin_2x = sin(x.*2);
exp_xy = exp(-(x_plus_y/2*sigma^2));
exp_xy = exp_xy';
z = exp_xy*sin_2x;


warum so kompliziert? Es funktioniert auch, wenn du alles in eine Zeile schreibst und nicht 3 überflüssige Variablen erstellst... Und dein Fehler ist wahrsacheinlich das "-" bei exp_xy - probier mal (-1).*(........)

s = -2*pi:0.1:2*pi;
[X,Y]=meshgrid(s,s);
Z=Zfunc(X,Y,pi/2)
mesh(Z);

lithium
04-11-2003, 23:47
also bei mir kommt sowas raus:



hab die funktion imshow nicht -> verwende stattdessen imagesc oder image.

Welche Matlab-Version verwendet ihr?

lithium
05-11-2003, 01:06
also imshow hab ich gfunden, war bei der image processing toolbox dabei....
allerdings zeigt er mir auch den mesh jetzt grayscale an...

wie habt ihr die farbsettings beim mesh verändert?

nafets
05-11-2003, 22:13
also imshow hab ich gfunden, war bei der image processing toolbox dabei....
allerdings zeigt er mir auch den mesh jetzt grayscale an...

wie habt ihr die farbsettings beim mesh verändert?
Wir haben colormap(jet); für die farbsettings und colorbar für die Legende verwendet:
figure
subplot(2,1,1);
mesh(r); colormap(jet); colorbar
subplot ...

lithium
06-11-2003, 13:51
Wir haben colormap(jet); für die farbsettings und colorbar für die Legende verwendet:
figure
subplot(2,1,1);
mesh(r); colormap(jet); colorbar
subplot ...
ja, so funzts
Danke!