Faltungsintegral mit Matlab berechnen

Neue Frage »

Marcus Aurelius Auf diesen Beitrag antworten »
Faltungsintegral mit Matlab berechnen
Meine Frage:
Hallo Miteinander,

ich versuche gerade als blutiger Anfänger einen Matlab Code für die Faltung zweier Signale zu schreiben.

Stark vereinfacht gesagt, ist das Ziel, aus einem Eingangssignal und der Übertragungsfunktion das Ausgangssignal zu bestimmen.



Meine Ideen:
Zunächst mal habe ich in der .m-File die Eingangsfunktion (Modifizierte Gauss) definiert:


function y=E(A,t0,xc,w,y0,t)

y = y0 + A./t0 .* exp(0.5.*(w./t0).^2-(t-xc)./t0).*(erf((t-xc)./w - w./t0./sqrt(2))+1)./2;
end



Sowie die Übertragungsfunktion:


function k=Uebertr(Pe,tmean,t)
k=sqrt(Pe./(4.*pi.*t.*tmean)).*exp((-Pe./(4.*t./tmean)).*(1 - (t./tmean)).^2);
end



Nun füge ich alle Paramter in den workspace ein (macht man das so? erscheint mir irgendwie unhandlich...):


A1 = 0.9535
t01 = 0.0212
w1 =0.0022
xc1 = 1.0342
y01 = 0
t=0:0.01:5



Dann weise ich, der Einfachheit halber, zwei Variablen die Daten der jeweiligen Funktionen zu:


k=Uebertr(1000, 0.5, t);
y=E(A1,t01,xc1,w1,y01,t);



Und nun dachte ich, ich könnte beide Signale einfach mit dem conv Befehl falten und darstellen:


z=conv(y,k);
plot (z);



Leider kommt dabei kein "sinnvolles" Signal raus, sondern nur ein Peak.


Wie bereits gesagt, arbeite ich mich gerade noch in Matlab ein und bin auch kein Mathematiker. Daher verzweifele ich z.Z. etwas an diesem Problem.... Hat jemand einen Tipp für mich, wo hier der Fehler liegen könnte?

Vielen Dank schonmal

Gruß

Frank
knutshut Auf diesen Beitrag antworten »

hallo

also formal ist alles richtig. nur bin ich grad zu faul zu schauen was conv usw. machen.
aber es kommt ja auch keine fehlermeldung. hast du denn die beiden funktionen jeweils in einem m-file gespeichert, dass genauso wie die funktion heißt? ansonsten müsste der fehler in den formeln für y oder k sein?
Neue Frage »
Antworten »



Verwandte Themen

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