мне нужно вычислить свертку функций:
Р (х) = 1 при -1 < < х 2, 0 в противном случае
г (х) = SGN (х) * (дираковской абс (х) -1)Calcuating свертки двух функций в MATLAB
у меня этот код:
Fs=1;
t=-10:1/Fs:10;
d=dirac(abs(t)-1);
s=sign(t);
x=d.*s;
x2=1*(t>-1 & t<2);
spl=conv(x,x2,'same');
disp(spl);
Но что я получаю много значений NaN.
Где моя ошибка? Что я должен изменить?
Вопрос, кажется, спрашивали о дираковской дельта, в непрерывном времени - бесконечно высокая и бесконечно тонкая функция - это аналитическая концепция, которая не переводится хорошо участвовали в дискретном времени для решения с помощью Matlab. Если это специально не проблема с дискретным временем, я предлагаю решить это аналитически или символически с помощью системы компьютерной алгебры? –
Я уже решил эту проблему аналитически. Теперь мне нужно решить это с помощью Matlab. – annamataris
Кажется, вы пытаетесь выполнить свертку, используя символическую библиотеку. Однако в символической библиотеке нет функции 'conv',' conv' для дискретной числовой свертки. Если вы хотите проверить свою интеграцию, перепишите свертку как интеграл и используйте функцию 'int' для символической интеграции. – Florian