Trabalho de Calculo Numérico
Por: Fábio Coêlho • 23/7/2016 • Relatório de pesquisa • 2.622 Palavras (11 Páginas) • 385 Visualizações
[pic 1]
UFPE – UNIVERSIDADE FEDERAL DE PERNABUCO
CAA – CENTRO ACADÊMICO DO AGRESTE
NÚCLEO DE TECNOLOGIA
QUINTO RELATÓRIO DE CÁLCULO NUMÉRICO
Alunos: Fábio de Sousa Coêlho
José Thiago Gomes da Silva
Trabalho submetido a avaliação do
Prof. Alessandro Romario Echevarria Antunes
Da turma de Engenharia Civil
Em cumprimento parcial para obtenção de aprovação.
CARUARU – PE
2016
INTRODUÇÃO
O 5º projeto da disciplina teve como objetivo a construção de um algoritmo que ajustasse uma função f(x) à um conjunto de pontos. Podendo esses ajustes serem polinomiais (de grau 1,2,3...), exponencial e potencial.
MATERIAIS
Para o desenvolvimento do código foram utilizadas as seguintes maquinas com suas respectivas configurações e sistema operacional:
Notebook 1:
Fabricante: SANSUNG
Processador: Intel Core i5
Memória RAM: 8 GB
Disco Rígido (HD): 1 TB
Sistema Operacional: Windows 10
Notebook 2:
Fabricante: LENOVO
Processador: AMD E1-2100 APU with Radeon(TM) HD Graphics
Memória RAM: 4 GB
Disco Rígido (HD): 465,76 GB
Sistema Operacional: Windows 8.1
DISCUSSÕES
O entendimento dos assuntos dados em sala às vezes não se dá por completo, por isso a necessidade da elaboração dos programas acerca dos temas vistos. No decorrer da implantação dos algoritmos foi necessária muita pesquisa sobre os mesmos para uma maior eficiência dos algoritmos. O recebimento de dados via arquivo recebeu uma atenção especial, visto que foi a primeira vez de uso em nossos trabalhos.
A diferença em relação ao quarto trabalho foi que anteriormente a função era ajustada à pontos de modo polinomial, e neste, houve ajustes de modo exponencial e potencial. O trabalho foi relativamente fácil devido a ser muito similar ao antecessor.
CÓDIGO
clear
clc
% Lendo o arquivo de entrada
% O arquivo de entrada deve apresentar na primeira linha: 'x y'
% Nas linhas seguintes primeiro contém o valor da coordenada x e em seguida
% da coordenada y
% ex:
% x y
% 1 2
% 10 20
arquivo = fopen('nome.txt');
tam=[2 inf]; %2 colunas(x,y) com número infinito de linhas(pontos)
fscanf(arquivo, ['x y']); %após executado, o cursor vai para segunda linha do arquivo
M=[fscanf(arquivo, '%f', tam)]'; %matriz com 2 colunas onde a 1ª contém os valores de x e a 2ª os de y
x=M(:,1); %gravando as coordenadas x dos pontos
y=M(:,2); %gravando as coordenadas y dos pontos
%Imprimindo o conjunto de pontos do arquivo
fprintf('CONJUNTO DE PONTOS:\nx: ')
fprintf('\t%.4f', x')
fprintf('\ny: ')
fprintf('\t%.4f', y')
fprintf('\n\n')
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<=(n-1))
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
...