% fichier script de demo_tp3E
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                           Fonctions connexes appelées
%
% outils_pol (donc diff_div_dist et base_pn),deriv_app
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


% initialisations diverses
global d base;

% indéterminée classique des polynomes
syms X real;
deg_max=6;

% Création des variables symboliques nécessaires;
% pourrait se faire dans une fonction à part!
x=[];y=[];
ch1='x';ch2='y';
for i=0:deg_max
    sym([ch1 num2str(i)],'real');
    x=[x sym([ch1 num2str(i)])];
    sym([ch2 num2str(i)],'real');
    y=[y sym([ch2 num2str(i)])];
end

% détermination une seule fois des outils pour le calcul
% du polynome d'interpolation maximal.
[d,base]=outils_pol(x,y,X);

% boucle des recherches de formules de dérivation approchée

% initialisation
rep=1;
while rep==1
    
    % Choix de l'ordre de dérivation et du degré du polynome d'interpolation;
    % les acharnés échapperont au controle!
    k=-1;compt=0;
    while ((k<=0)|(k>deg_max))&(compt<4)
        ch1=input('Choisissez un ordre de dérivation k (0<k<6)\n','s');
        k=floor(str2num(ch1));
        compt=compt+1;
        % si compt==4 message d'injure...
    end
    n=-1;compt=0;
    while ((n<=0)|(n<k)|(n>deg_max))&(compt<4)
        ch2=input('Choisissez un degré n (n<7)de polynome d''interpolation cohérent\n','s');
        n=floor(str2num(ch2));
        compt=compt+1;
        % si compt==4 message d'injure...
    end
    
    % Calcul proprement dit
    res=deriv_app(k,n,x,y,X);
    
    % Désir d'un autre calcul
    ch=input('Voulez-vous effectuer d''autres calculs ?(si oui: taper 1) \n','s');
    rep=str2num(ch);
end
    
    
    
    

