function figuras_uniforme
close all
fclose('all');
clc
%--- funcao a aproximar
%Se o parametro for 0 faz analise global
parametros.funcao = 0;
%--- dimensao do dominio
parametros.dim_dominio = 2;
%--- tamanho do dominio
%o dominio D eh a caixa [0,tam_dominio]^dim_dominio
%deve ser um inteiro positivo.
parametros.tam_dominio = [30 30];
%--- centros
%se {n_centros = 0} usa uma grade uniforme de centros com passo 1
%caso contrario, usa um  conjunto de
%n_centros centros nao uniforme {C(i)}.
parametros.n_centros = 0;
parametros.tam_grade_centros = parametros.tam_dominio;
%--- grade de integracao
%se {n_pontos = 0} usa uma grade uniforme de pontos
%caso contrario, usa um  conjunto de
%n_pontos centros nao uniforme {p(i)}.
%ha aproximadamente pts_por_celula pontos de amostragem por celula
parametros.n_pontos = 0;
parametros.pts_por_celula = 9; %troca E6plots
%--- base de aproximacao
parametros.tipobase = NaN;%definido abaixo
parametros.raio = NaN;  %definido abaixo
parametros.raios = NaN; %definido abaixo
parametros.raio_otimo = NaN;
parametros.le_matriz = true;
parametros.min_nivel = NaN;
parametros.max_nivel = NaN;
parametros.prebase_gorda = NaN;
parametros.adap_por_nivel = NaN; %usa reducao de base na hier_adap
parametros.hier_adap_recalc = NaN; %recalcula alpha depois de reduzir a base
parametros.tipoarvore = NaN;  %1=diadica, 2=quadtree
parametros.tensorial = NaN; %definido abaixo

% --- metodo de aproximacao
parametros.metodo = NaN; %definido abaixo
%--- criterio de aproximacao adaptativa
parametros.tol = NaN;
parametros.heu_adap = NaN;

%opcoes de plotagem
plota.funcao = false;
plota.pontos = NaN;
plota.arvore = false;
plota.base = true; %desenha os elementos da base
plota.curva_nivel = false; %desenha os elementos por curvas de niveis
plota.coeficientes = false;
plota.componentes = false;
plota.base_dual = true;
plota.aproximacao = false;
plota.erro = false;
plota.emax = NaN;
plota.mapa_erro = false;
plota.erro_curva_nivel = false;
plota.mapa_erro_curva_nivel = false;
plota.salva_eps = true;

for met = 1:1
    %--- metodo de aproximacao
    parametros.metodo = met; %1 MQ, 3 MQ com supressao de outliers.
    fprintf('--- Gaussiana -----------------------------------\n');
    parametros.tipobase = 9;
    parametros.tensorial = true; 
    %parametros.raios = [0.90 1.00 1.10 1.20:0.01:1.35 1.40];
    %parametros.raios = [0.90 1.00 1.20:0.02:1.28 1.29 1.30 1.31 1.32:0.02:1.50];
    parametros.raios = 0.90:0.1:1.40;
    %parametros.raios = [0.90 1.00 1.20:0.02:1.28 1.29 1.30 1.31 1.32:0.02:1.38];
    %parametros.raios = 1.24;%[1.20:0.02:1.30 1.35 1.4];
    principal_avalia_uniforme(parametros,plota);
    
%     fprintf('--- wendland 3,2 tensorial ------------\n');
%     parametros.tipobase = 2;
%     parametros.tensorial = true;
%     parametros.raios = [0.80 1.00:0.5:6];
%     principal_avalia_uniforme(parametros,plota);
%     
%     fprintf('--- wendland 5,4 tensorial ------------\n');
%     parametros.tipobase = 8;
%     parametros.tensorial = true;
%     parametros.raios = [0.80 1.00:0.5:6];
%     principal_avalia_uniforme(parametros,plota);
%     
%     %===++++++++++++++====================================
%     %--- um unico raio------------------------------------
%     %===++++++++++++++====================================
%     fprintf('--- b-spline de grau 1 tensorial ------------\n');
%     parametros.tipobase = 5;
%     parametros.tensorial = true;
%     parametros.raios = 1;
%     principal_avalia_uniforme(parametros,plota);
%     
%     fprintf('--- b-spline de grau 2 tensorial ------------\n');
%     parametros.tipobase = 6;
%     parametros.tensorial = true;
%     parametros.raios = 1;
%     principal_avalia_uniforme(parametros,plota);
%     
%     fprintf('--- b-spline de grau 3 tensorial ------------\n');
%     parametros.tipobase = 12;
%     parametros.tensorial = true;
%     parametros.raios = 1;
%     principal_avalia_uniforme(parametros,plota);
%     
%     fprintf('--- B-spline de grau 4 tensorial ------------\n');
%     parametros.tipobase = 14;
%     parametros.tensorial = true;
%     parametros.raio = 1;
%     parametros.raios = parametros.raio;
%     principal_avalia_uniforme(parametros,plota)
%     
%     fprintf('--- B-spline de grau 5 tensorial ------------\n');
%     parametros.tipobase = 15;
%     parametros.tensorial = true;
%     parametros.raio = 1;
%     parametros.raios = parametros.raio;
%     principal_avalia_uniforme(parametros,plota)
%     
end

%-------------------------------------------------------------------------
%Trabalhos anteriores
%
    %     fprintf('--- multiquadrica inversa radial --------------\n');
    %     parametros.tipobase = 3;
    %     parametros.tensorial = false;
    %     parametros.raios = [1.00:0.5:3.00 3.30:.05:3.70 3.80 4.00];
    %     principal_avalia_uniforme(parametros,plota);
    %
    %     fprintf('--- multiquadrica inversa tensorial ------------\n');
    %     parametros.tipobase = 3;
    %     parametros.tensorial = true;
    %     parametros.raios = [1.00:0.5:3.00 3.30:.05:3.70 3.80 4.00];
    %     principal_avalia_uniforme(parametros,plota);
    %
    %     fprintf('--- wendland 3,2 radial ------------\n');
    %     parametros.tipobase = 2;
    %     parametros.tensorial = false;
    %     parametros.raios = [0.80 1.00:0.5:3 3.25:0.3:4 4.00 4.50:0.5:6];
    %     principal_avalia_uniforme(parametros,plota);

%     fprintf('--- wendland 5,4 radial ------------\n');
    %     parametros.tipobase = 8;
    %     parametros.tensorial = false;
    %     parametros.raios = [0.80 1.00:0.5:6];
    %     principal_avalia_uniforme(parametros,plota)
    
    % %     fprintf('--- mexicana -----------------------------------\n');
    % %     parametros.tipobase = 13;
    % %     parametros.tensorial = true;
    % %     parametros.raios = [0.90 0.95 1.00 1.05];
    % %     principal_avalia_uniforme(parametros,plota);
    %
    %
    % %
    %
%       fprintf('--- Mexicana com sigma = 2,0-----------------------------\n');
%         parametros.tipobase = 13;
%         parametros.tensorial = true;
%         parametros.raios = 1.30:0.02:1.5;
%         principal_avalia_uniforme(parametros,plota);
%     
%         fprintf('--- Mexicana com sigma = 5.0 ---------------------------\n');
%         parametros.tipobase = 31;
%         parametros.tensorial = true;
%         parametros.raios = 0.98:0.01:1.02;%0.95:0.08:2;
%         principal_avalia_uniforme(parametros,plota);
% %     
%     
%         fprintf('--- Mexicana com sigma = 0.5 ---------------------------\n');
%         parametros.tipobase = 33;
%         parametros.tensorial = true;
%         parametros.raios = 2.3:0.1:5;
%         principal_avalia_uniforme(parametros,plota);
    
%         fprintf('--- Mexicana com sigma = 10.0 ---------------------------\n');
%         parametros.tipobase = 32;
%         parametros.tensorial = true;
%         parametros.raios = 1:0.03:1.3;
%         principal_avalia_uniforme(parametros,plota);
%     
%         fprintf('--- Mexicana com sigma = 1.0 ---------------------------\n');
%         parametros.tipobase = 34;
%         parametros.tensorial = true;
%         parametros.raios = 1.80:0.05:2.1;
%         principal_avalia_uniforme(parametros,plota);
%     
%         fprintf('--- Mexicana com sigma = 2.5 ---------------------------\n');
%         parametros.tipobase = 35;
%         parametros.tensorial = true;
%         parametros.raios = 1.2:.05:1.4;
%         principal_avalia_uniforme(parametros,plota);
%     
%     fprintf('--- Mexicana com sigma = 3.0 ---------------------------\n');
%     parametros.tipobase = 36;
%     parametros.tensorial = true;
%     parametros.raios = 1.05:.05:1.4;
%     principal_avalia_uniforme(parametros,plota); 
%     

%  fprintf('--- Mexicana com sigma = 3.5 ---------------------------\n');
%     parametros.tipobase = 37;
%     parametros.tensorial = true;
%     parametros.raios = 1.10 :0.05:1.40;
%     principal_avalia_uniforme(parametros,plota);

%  fprintf('--- Mexicana com sigma = 4.0 ---------------------------\n');
%     parametros.tipobase = 38;
%     parametros.tensorial = true;
%     parametros.raios = 0.85 :0.05:1.20;
%     principal_avalia_uniforme(parametros,plota);

    
%   fprintf('--- Lanczos a = 2.0 ---------------------------\n');
%         parametros.tipobase = 52;
%         parametros.tensorial = true;
%         parametros.raios = 1;
%         principal_avalia_uniforme(parametros,plota);
% %     
% 
% 
% fprintf('--- Lanczos a = 3.0 ---------------------------\n');
%         parametros.tipobase = 53;
%         parametros.tensorial = true;
%         parametros.raios = 1;
%         principal_avalia_uniforme(parametros,plota);
%     
%    
    
%     fprintf('--- Gabor com sigma = 0.5 ---------------------------\n');
%     parametros.tipobase = 40;
%     parametros.tensorial = true;
%     parametros.raios = 0.90:.1:2;
%     principal_avalia_uniforme(parametros,plota);
%     
%     fprintf('--- Gabor com sigma = 0.75 ---------------------------\n');
%     parametros.tipobase = 41;
%     parametros.tensorial = true;
%     parametros.raios = 0.90:.1:2;
%     principal_avalia_uniforme(parametros,plota);
%     
%     fprintf('--- Gabor com sigma = 1 ---------------------------\n');
%     parametros.tipobase = 42;
%     parametros.tensorial = true;
%     parametros.raios = 0.90:.1:2;
%     principal_avalia_uniforme(parametros,plota);
%     
%     fprintf('--- Gabor com sigma = 1.25 ---------------------------\n');
%     parametros.tipobase = 43;
%     parametros.tensorial = true;
%     parametros.raios = 0.90:.1:2;
%     principal_avalia_uniforme(parametros,plota);
%     
%     
%     fprintf('--- Gabor com sigma = 1.5 ---------------------------\n');
%     parametros.tipobase = 44;
%     parametros.tensorial = true;
%     parametros.raios = 0.90:.1:2;
%     principal_avalia_uniforme(parametros,plota);
    
%     fprintf('--- Gabor com sigma = 2 ---------------------------\n');
%     parametros.tipobase = 45;
%     parametros.tensorial = true;
%     parametros.raios = 0.90:.1:2;
%     principal_avalia_uniforme(parametros,plota);
%     
%     fprintf('--- Gabor com sigma = 3 ---------------------------\n');
%     parametros.tipobase = 46;
%     parametros.tensorial = true;
%     parametros.raios = 0.90:.1:2;
%     principal_avalia_uniforme(parametros,plota);
%     
%     fprintf('--- Gabor com sigma = 5 ---------------------------\n');
%     parametros.tipobase = 47;
%     parametros.tensorial = true;
%     parametros.raios = 0.90:.1:2;
%     principal_avalia_uniforme(parametros,plota);
%     
    
