The following error was reported evaluating the function in FunctionLine update: Unable to convert expression containing remaining symbolic function calls into double array
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Konstantinos
am 20 Okt. 2023
Beantwortet: Walter Roberson
am 20 Okt. 2023
Hello,
I am trying to plot a signal using the fourier function.I dont know how to solve it or if i do something wrong.This is my code:
syms t w;
% Define the first signal u(t)-u(t-2) using the heaviside function
x1 = heaviside(t) - heaviside(t-2);
% Define the second signal u(t)-u(t-4)
x2 = heaviside(t) - heaviside(t-4);
%Multiply the signals
Z = fourier(x1) .* fourier(x2);
% Compute the convolution in the time domain
signal_in_time = ifourier(Z);
%display the graph:
figure(1);
fplot(signal_in_time);
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 20 Okt. 2023
syms t w;
% Define the first signal u(t)-u(t-2) using the heaviside function
x1 = heaviside(t) - heaviside(t-2);
% Define the second signal u(t)-u(t-4)
x2 = heaviside(t) - heaviside(t-4);
%Multiply the signals
Z = fourier(x1) .* fourier(x2)
% Compute the convolution in the time domain
signal_in_time = ifourier(Z)
Notice that this has unresolved fourier() calls -- places that the inverse fourier has trouble handling.
What can you do? Well you can use the laplace transform instead.
Z2 = laplace(x1) .* laplace(x2)
signal_in_time2 = ilaplace(Z2)
fplot(signal_in_time2)
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Transforms finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!