MATLAB
MATLAB CODE
Problem2
Part b
% test linspline function
x = [-4 -2 0 1 3 5];
y = [-2 3 -1 0 4 2];
a = -4.5 + randi([1,8],1,1);
ys1 = linspline(x,y,a);
x = [-4 -2 0 1 3 5];
y = [-2 3 -1 0 4 2];
a = -4 + 9*randi([0,1],1,1);
ys2 = linspline(x,y,a);
n = randi([10,15]);
a = randi([-20,-15]);
b = a + 30;
i = n:-1:1;
x = (a+b)/2 + (b-a)/2.*cos( (2.*i - 1).*pi./(2*n));
y = randi([-10,10],1,n);
a = -1+rand;
ys3 = linspline(x,y,a);
solution
function s = linspline(x,y,a)
if a==x(end) %if a is the last x value, %then return the corresponding y value s=y(end); else k=1; while ~(a>=x(k) && a<=x(k+1)) k=k+1; end s=y(k)+(y(k+1)-y(k))*(a-x(k))/(x(k+1)-x(k)); end end
Part c
%test sine here
x = 500*rand(1)+100;
ysin1 = sine(x);
x = -500*rand(1)-100;
ysin2 = sine(x);