Plotting values from a function in different script
5 views (last 30 days)
Show older comments
function [xvals,yvals]=fourier(L,nmax,numpoints)
xvals=[];
yvals=[];
for x=1:numpoints
y=0;
for n=1:2:nmax
y=y+(1/n)*(sin((n*pi*x)/L));
end
y=4*y/pi;
xvals=[xvals;x];
yvals=[yvals;y];
end
end
====================================================
[xvals,yvals]=fourier(L,nmax,numpoints);
x = xvals;
y = yvals;
L= 0;
plot(x, y);
I have a function that returns two very long column vectors for xvals and yvals. I'm struggling to create another script that calls upon this function and plots the respective xvals vs yvals. The code below the line gives me an error saying L is not recognized but I don't use it so I'm a bit confused.
0 Comments
Accepted Answer
KSSV
on 11 Feb 2022
Edited: KSSV
on 11 Feb 2022
You have to define the required input variables first and then call the function.
L = 1. ;
nmax = 100 ;
numpoints = 1000 ;
[x,y]=fourier(L,nmax,numpoints);
plot(x,y);
function [xvals,yvals]=fourier(L,nmax,numpoints)
xvals=zeros(numpoints,1) ;
yvals=zeros(numpoints,1) ;
for i=1:numpoints
y=0;
for n=1:2:nmax
y=y+(1/n)*(sin((n*pi*i)/L));
end
y=4*y/pi;
yvals(i) = y ;
xvals(i) = i ;
end
end
3 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!