1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
function [f,g]=frac(n,m,x,y)
%x vecteur d'echantillonage
%y vecteur d'echantillonage
%if size(x) size(y) test à faire sur la taille de x , y
if size(x)~=size(y)
error('les tailles des vecteurs x et y sont différentes');
end
a=ones(1,n+1);
b=ones(1,m+1);
%maintenant on cree une fonction handle fraction rationnelle
F=@(g)polyval(g(1:n+1),x)./(polyval([g(n+2:n+m+1) 1],x).*y)-1;
%et on utilise cette fonction handle dans fminimax
z=fminimax(F,ones(1,n+m+1));
a(1:n+1)=z(1:n+1);
% on regroupe les coefficents du numerateur dans a
b(1:m)=z(n+2:n+m+1);
% on regroupe les coefficients du denominateur dans b.
f=a;
g=b; |
Partager