Essays.club - TCC, Modelos de monografias, Trabalhos de universidades, Ensaios, Bibliografias
Pesquisar

Trabalho de Calculo Numérico

Por:   •  21/3/2018  •  1.467 Palavras (6 Páginas)  •  360 Visualizações

Página 1 de 6

...

n=size(x,1);%Quantidade de pontos presentes no arquivo

syms p X %Variáveis simbólicas para o polinômio e sua variável

% AJUSTE POLINOMIAL %

z=1; %guardará a posição em que o gráfico do polinômio será plotado no subplot

grau=1; %grau inicial do polinômio

%laço criado para que em um mesmo programa o grau do polinômio varie e seja

%plotado os gráficos de seus diferentes graus do mesmo conjunto de pontos

while(grau

disp(['AJUSTE POLINOMIAL DE GRAU ', num2str(grau)])

%Matriz que guarda as operações feitas com a coordenada x dos pontos,

%resultante do método dos mínimos quadrados

A=zeros(grau+1);

for k=1:grau+1 %varia as linhas da matriz, será importante na definição do expoente inicial dos pontos em x

%a variável e controla os expoentes dos xi presentes nos somatórios

%a cada vez que uma linha for acrescentada o expoente fica com o

%número dessa linha

e=k;

for l=1:grau+1 %varia as colunas da matriz

for i=1:n %somatório dos xi cujos expoentes dependem da coluna e da linha que estão

A(k,l)=A(k,l)+x(i)^(e-1);

end

e=e+1;%imcremento nos expoentes cada vez que uma coluna for pulada

end

end

%Matriz que guarda as operações feitas com a coordenada y e x dos pontos,

%resultante do método dos mínimos quadrados

B=zeros(grau+1,1);

for k=1:grau+1 %varia as linhas da matriz

%somatório dos xi*yi cujos expoentes dos xi dependem da linha que estão

for i=1:n

B(k)=B(k)+(x(i)^(k-1)*y(i)); %o expoente ao qual o x é elevado depende do número da linha em que está

end

end

a=eliminacao(A, B); %encontrado os coeficientes resultantes do método dos mínimos quadrados

%o ' após a variável realiza a transposição do vetor (vetor coluna para vetor linha)

%a função fliplr inverte a ordem dos coeficientes da direita para esquerda

c=fliplr(a');

p=symfun(poly2sym(c, X),X)%cria um polinômio a partir da base canônica de acordo com os coeficientes presentes em c

%plotando o gráfico

subplot(2,ceil(n/4),z)

i=x(1):0.1:x(n); %intervalo do gráfico

ezplot(p,i)

hold on

grid on

plot(x,y, 'p r')

title(['AJUSTE POLINOMIAL DE GRAU ', num2str(grau)])

hold off

[e1 e2 e3]=erros(p, x, y); %calculando os erros pedidos a partir da função erros

%Informando os erros

fprintf('Erro relativo: %.4f\nDesvio relativo em relação a média: %.4f\n', e1,e2)

fprintf('Coeficiente de variação da amostra: %.4f\n\n\n', e3)

grau=grau+2; %incrementando o grau do polinômio em 2

z=z+1; %alterando a posição do gráfico no subplot

end

% AJUSTAMENTO POR UMA FUNÇÃO EXPONENCIAL %

disp('AJUSTAMENTO POR UMA FUNÇÃO EXPONENCIAL')

Y=log(y); %matriz de y resultante do processo de linearização de equações não-lineares

%As matrizes A e B resultantes do m. dos mínimos quadrados apresentam

%quatro somatórios distintos

sx=0; %somatórios com todos os x

sy=0; %somatório com todos os y (onde x é elevado a 0, =1)

sxy=0; %somatório com todos os x e y (onde x é elevado a 1)

sxx=0; %somatório dos x ao quadrado

for i=1:n %varre todos os pontos do arquivo

sx=sx+x(i);

sy=sy+Y(i); %o Y é o resultante da linearização

sxy=sxy+(x(i)*Y(i)); %o Y é o resultante da linearização

sxx=sxx+(x(i)*x(i));

end

%montando as matrizes

A=[n, sx; sx, sxx];

B=[sy; sxy];

a=eliminacao(A, B); %encontrado os coeficientes resultantes do método dos mínimos quadrados

b=exp(a(1)); %encontrando o coeficiente do polinômio

m=a(2);

p=symfun(b*exp(m*X),X) %contruindo um polinômio em função de X do ajuste exponencial

%plotando o gráfico

figure

i=x(1):0.1:x(n);

...

Baixar como  txt (13.5 Kb)   pdf (72.7 Kb)   docx (26.8 Kb)  
Continuar por mais 5 páginas »
Disponível apenas no Essays.club