diskrete Faltung, Matlab (rect(t))

Neue Frage »

pipesmoker Auf diesen Beitrag antworten »
diskrete Faltung, Matlab (rect(t))
Hallo Leute,
ich habe ein kleiens Problem mit Matlab. Ich wollte eine Faltung durchfuehren, das hat aber nicht so funktioniert wie ich mir das gedacht habe, also habe ich mein Problem so weit vereinfacht, dass ich jetzt nur noch ein einfaches Rechteck mit sich selbst falten moechte.
An sich kein Problem, aber schaut selbst:
code:
1:
2:
3:
4:
5:
n=-0.5:0.1:0.5;
u=rectpuls(n);
z=conv(u,u);
t=linspace(-1.1,1,21);
plot(t,z);


ich kann das Rechteck nicht mit sich selbst falten. Fehlermeldung: ??? Undefined function or method 'conv2' for input arguments of type 'logical'.

Nun kommts aber: wenn ich mir den Vektor u ausgeben lasse, bekomme ich
code:
1:
2:
3:
>> u
u =
     1     1     1     1     1     1     1     1     1     1     0


okay, dann kopiere ich einfach diese Werte in mein matlab-file und probiere es erneut:

code:
1:
2:
3:
4:
5:
6:
n=-0.5:0.1:0.5;
u=rectpuls(n);
x=[1 1 1 1 1 1 1 1 1 1 0];  %kopierte Werte von u
z=conv(x,x);
t=linspace(-1.1,1,21);
plot(t,z);


Und siehe da, es funktioniert! Was ist also 'falsch' an der Funktion rectpuls? Naja, dann pruefe ich mal, ob u und x wirklich gleich sind:
code:
1:
2:
3:
>> x==u
ans =
     1     1     1     1     1     1     1     1     1     1     1


100%ige Uebereinstimmung. Was sagt man dazu? Wieso kann ich nicht mit u rechnen?
Achso, x=u setzen bringt auch nicht.... :-(

Hoffe, ihr koennt mir helfen.

Gruss,
Pipesmoker
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »