A)
type factr.m
function f=factr(n)
if n==0
f=1;
else
f = n*factr(n-1);
end
end
B)
type combina.m
function c=combina(n,i)
c=factr(n)/(factr(i)*factr(n-i));
end
%C) type bernstein.m
function b=bernstein(n,i,t)
b=combina(n,i).*t.^i.*(1-t).^(n-i);
end
D)
t = linspace(0,1,100); V=[1, 2, 4, 4.6; 1, 3, -1, 1.5]; plot(V(1,:),V(2,:),'-o'); n=size(V); n=n(2); s=size(t); x=zeros(n,s(2)); y=zeros(n,s(2)); for i=1:n x(i,:)=bernstein(n-1,i-1,t)*V(1,i); y(i,:)=bernstein(n-1,i-1,t)*V(2,i); end a=sum(x); b=sum(y); hold on plot(a,b,'Linewidth',2) hold off