Insufficient input parameters.

function [Xm, faxis, xtw] = CalcFourierSpectrum (xt ,tmax, fmax, UseWindow )
%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
dt = tmax/(length(xt)-1);%----<<< Insufficient input parameters. message here
t = 0: dt : tmax ;
%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
xtw = xt ;
if ( UseWindow )
% window
fw = 1/ (2*tmax ) ;
% Hamming window
fw = 1 / ( tmax ) ;
w = 0.54-0.46*cos (2*pi*t / tmax ) ;
xtw = xt.*w;
end
% continuousf requency range
OmegaMax = 2*pi*fmax ;
dOmega = OmegaMax* 0.001 ;
%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
fvec = [ ];
Xmvals = [ ];
p = 1;
for Omega = 0 : dOmega : OmegaMax
coswave = cos(Omega*t);
sinwave = -sin(Omega*t);
% perform the Four ier Transform v i a numerical i n t e g r a t i o n
Xreal = sum( xtw .*coswave*dt ) ;
Ximag = sum( xtw .*sinwave*dt ) ;
mag = sqrt (Xreal*Xreal + Ximag*Ximag ) ;
% s c a l e f requency to Hz , magnitude to maximum time
fHz = Omega/(2*pi);
mag = 2*mag/tmax ;
% save f requency and magnitude
faxis(p) = fHz ;
Xm(p) = mag ;
p = p + 1;
end
end

6 Comments

When you press the green Run button to run the function, what is your expectation of where MATLAB will search for values to use for xt, tmax, fmax, and UseWindow ?
How can i fix that? this is my first time for Matlab. I don't know well
You are supposed to provide values as input for the code to run. See Declare Function name, inputs and outputs.
%Providing values as input
z = trig(pi/6,pi/3)
z = 0.5000
function z = trig(x,y)
z = 2.*sin(x).*cos(y);
end
where should I put into?
You should have other code that creates or calculates input values or requests information from the user about what data to use. And then that code should call CalcFourierSpectrum .
You should consider taking the MATLAB Onramp free course. https://matlabacademy.mathworks.com/details/matlab-onramp/gettingstarted
thank you.

Sign in to comment.

Answers (1)

Neeraj
Neeraj on 15 May 2023
Hello,
As per my understanding, you are trying to call the function ‘CalcFourierSpectrum’. To do so you have to pass 4 input parameters: ‘xt ,tmax, fmax, UseWindow’. You will have to create these input parameters and store them in variables before calling the function ‘CalcFourierSpectrum’ with the respective variables as arguments.
Refer to the below documentation link for more details regarding function declaration:
If you are new to MATLAB I would highly recommend to take the MATLAB Onramp course:

Tags

Asked:

on 10 May 2023

Answered:

on 15 May 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!