Error with delta function Matlab 2019
4 views (last 30 days)
Show older comments
Hello, I have been trying to get the delta function to work with my version of Matlab 2019. I have tried various combinations of code but I keep getting the errors when I try to use delta, even when I declare it as a variable.
Here's an example that I think should work but I keep getting this error. Can someone point me in the right direction of what I am missing?
error:
Insufficient number of outputs from right hand side of equal sign to satisfy assignment.
Here's the code I'm trying to run..
close all;
clc
N = 60; n = 0:N-1;
b = [0.18 0.1 0.3 0.1 0.18];
a = [1 -1.15 1.5 -0.7 0.25];
[d nd] = delta(n(1),0,n(end));
[u nu] = unitstep(n(1),0,n(end));
y1 = filter(b,a,d);
y2 = filter(b,a,u);
Thanks
0 Comments
Accepted Answer
Star Strider
on 4 Sep 2020
I have no idea what you actually want to do.
It is generally appropriate to use filtfilt rather than filter for signal processing applications, and to put the excitation signal in the centre of the vector, especaially if you want to do Fourier transforms on it later. Also, I can find no reference for either ‘delta’ or ‘unitstep’. I have substituted the functions that I can find references for.
Try this:
N = 60; n = 0:N-1;
b = [0.18 0.1 0.3 0.1 0.18];
a = [1 -1.15 1.5 -0.7 0.25];
d = dirac(1);
u = heaviside(1);
nd = n;
nu = n;
nd(N/2) = d;
nu(N/2) = u;
y1 = filter(b,a,nd);
y2 = filter(b,a,nu);
figure
plot(n, y1, n, y2)
grid
Experiment to get the results you want.
4 Comments
Star Strider
on 4 Sep 2020
My pleasure!
If my Answer helped you solve your problem, please Accept it!
.
More Answers (0)
See Also
Categories
Find more on Bartlett in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!