Forum: Digitale Signalverarbeitung / DSP / Machine Learning Matlab - kleinere Matrix in Größere einfügen?


von Jan K. (jan_k)


Lesenswert?

Hey Leute, ich habe folgendes Problem:

Ich erstelle z.B. mit fspecial eine kleine Matrix eines bestimmten 
Filters.
Dann möchte ich diese Matrix in eine große Null- oder Einsmatrix 
integrieren. Erstmal zentriert.

zb:
1
A=ones(50);
2
B=fspecial('disk',5);
3
4
A=[A(1:25),B,A(26:end)];

Mir ist klar, dass das so nicht funktioniert, das würde hinhauen, wenn 
die Zeilenanzahl von B der von A entspräche. Tut sie aber natürlich 
nicht.

Funktioniert das so mit eingebauten Mitteln oder kann ich das nur über 
Schleifen oder so lösen?

Danke & schöne Grüße

von Detlef _. (detlef_a)


Lesenswert?

Yo, das geht mit der eingebauten Syntax ohne Probleme, sieht nur bißchen 
kryptisch aus. Die folgende Zeile bettet eine 3*2 Nullmatrix in eine 5*4 
Einsmatrix ein.

[ones(5,1), [ones(1,2); zeros(3,2) ;ones(1,2)],ones(5,1)]

Cheers
Detlef

von Jan K. (jan_k)


Lesenswert?

Super, danke!

Es geht auch so, ist uns gerade eingefallen:
1
A=zeros(20);
2
B=ones(10);
3
A(6:15,6:15)=B;

Es kann so einfach sein :D

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.