Faltungsintegral plotten

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Faltungsintegral plotten
Hallo,

zur Veranschaulich hab ich mal versucht, das Faltungsintegral, das in der Vorlesung an der Tafel gezeigt wurde, zu plotten. Allerdings sieht das ziemlich überdimensioniert und verschoben aus.

g(x) = 1 falls 0 <= x <= 1
g(x) = 0 sonst

Und der erzeugende Matlab-Code:

x = linspace(-1, 2);
g = 0 * x;
g(0<=x & x<=1) = 1*(x/x);   % Make sure that g that both g sections have the same dimensions

figure;
hold on;
plot(x, g, 'color', 'blue');
plot(conv(g, g), 'color', 'red');
hold off;

Was ist da schief gegangen?


Statt der vorletzten Zeile:

plot(x, conv(g, g, "same"), 'color', 'red');

Schon besser. Die Höhe des entstehenden Dreickecks scheint mit der Anzahl der Punkte in x-Richtung zu steigen. Bei linspace(-1, 2) sind es 100 x-Werte.
Kommt die Höhe dann daher, das die Integrale über jedem einzelnen x-Werte aufaddiert werden?


% g(x) = 1 falls 0 <= x <= 1
% g(x) = 0 sonst

clear; close all;

% Grenzen des Darstellungsbereichs
x_min = -1.5;
x_max = 2.5;


% Zeitpunkte
dx = 1/1000;
x = x_min:dx:x_max;


% Definition von g
g = 0 * x;
g(x >= 0 & x <= 1) = 1*(x/x);


figure;
hold on;    % Bereits gezeichnete Graphen nicht loeschen
plot(x, g, 'color', 'blue');    % Zeichne g
plot(x, conv(g, g, 'same')*dx, 'color', 'red'); % Zeichne die Faltung von g mit sich selbst
hold off;