Baixe o app para aproveitar ainda mais
Prévia do material em texto
Instituto Federal De EducaçÃo, ciência e Tecnologia da BahIA. RELATÓRIO – I ° UNIDADE Relatório para fins avaliativos à disciplina prática de Cálculo Numérico – T01 do Curso de Engenharia Elétrica, semestre 2017.2. Discente: Diego Carvalho Docente: Alessandra Picanço Salvador, 2018 Bahia %Questão 1– Método da bissecção Determinar a menor raiz positiva da função pelo método da bissecção. a=1; b=2; tol=0.1; e=1; f=(a^3-3.23*a^2-5.54*a+9.84)*(b^3-3.23*b^2-5.54*b+9.84); if f<0 x=(a+b)/2; y=x*3-3.23*x^2-5.54*x+9.84; while e > tol if y<0 a=x; else b=x; end x=(a+b)/2; e=abs((b-a)/b); end else disp('nao há raizes no intervalo') end %Questão 2 – Método de Newton – Raphson Determine a raiz de pelo método de Newton-Raphson com ponto inicial em 1,0. iter=10; tol=0.1; x(1)=1; for i=1:iter; y(i)=x(i)-2*exp(-x(i)); yd(i)=1+2*exp(-x(i)); x(i+1)=x(i)-(y(i)/yd(i)); erro(i)=abs((x(i+1)-x(i))/x(i+1)); if erro (i)<=tol disp('a raiz é') disp(x(i+1)) break end end figure subplot(2,1,1) plot(erro) xlabel('iterações') ylabel('erro') subplot(2,1,2) plot(x) xlabel('iterações') ylabel('x') % Questão 03 - A localização do centroide de um arco é dada por: Determine o ângulo para pelo método da secante considerando os pontos 0,5 e 1,5. symsa symsa0 symsa1 symsa2 f=input ('Digite a expressao desejada:'); a0=input ('Digite o intervalo inicial: '); a1=input ('Digite o intervalo final: '); erro=input('Digite o valor do Erro: '); f1=inline(f); a2=a1-(f1(a1)*(a1-a0)/(f1(a1)-f1(a0))); m=abs((a1-a0)/a1); while (m>=erro) a0=a1; a1=a2; a2=a1-(f1(a1)*(a1-a0)/(f1(a1)-f1(a0))); m=abs(a1-a0); end fprintf('%d\n',a2); Angulo_de_alpha=radtodeg(a2) %Questão 4 – O balanceamento da seguinte reação química pelo número pela conservação do número de átomos de cada elemento entre reagentes e produtos é dada por: %Gauss - Jordam a = [0 0 2 0 0 0 0 0; 0 0 0 0 0 1 0 0; 0 -2 0 0 0 0 0 2; 0 0 0 0 1 0 0 0; -4 4 7 4 2 3 4 1; -1 0 2 0 0 1 2 0; -1 0 0 1 0 0 0 0; 0 -1 0 1 0 0 1 0]; b = [7; 66; 96; 42; 24; 0; 0; 0]; v =[1; 2 ; 3; 4; 5; 6; 7; 8]; abv = [a,b,v]; [L,C] = size(abv); for j=1:L-1 if abv(j,j)==0 for k = j+1:L if abv(k,j)~=0 t= abv(j,:); abv(j,:)=abv(k,:); abv(k,:)= t; break end end end for i = j+1:L abv(i,j:C-1)= abv(i,j:C-1) - abv(j,j:C-1)*(abv(i,j)/abv(j,j)); end end for j = L:-1:2 for i = j-1:-1:1 abv(i,j:C-1)= abv(i,j:C-1)- abv(j,j:C-1)*(abv(i,j)/abv(j,j)); end end for s = 1:L abv(s,s:C-1)= abv(s,s:C-1)/abv(s,s); x(s)= abv(s,C-1); end r = b - a*x; %Primeira etapa – pivotação da matriz equivalente %Segunda etapa representar o cálculo dos elementos da nova matriz e calcular as incógnitas a = [0 0 2 0 0 0 0 0; 0 0 0 0 0 1 0 0; 0 -2 0 0 0 0 0 2; 0 0 0 0 1 0 0 0; -4 4 7 4 2 3 4 1; -1 0 2 0 0 1 2 0; -1 0 0 1 0 0 0 0; 0 -1 0 1 0 0 1 0]; b = [7; 66; 96; 42; 24; 0; 0; 0]; v =[1; 2 ; 3; 4; 5; 6; 7; 8]; abv = [a,b,v]; Ab=abv; [L,C]= size(Ab); for j=1:L-1 for z=2:L if Ab(j,j)==0 t = Ab(1,:); Ab(1,:)=Ab(z,:); Ab(z,:)= t; end end for i =j+1:L Ab(i,:)= Ab(i,:)- Ab(j,:)*(Ab(i,j)/Ab(j,j)); end end for j= L:-1:2 for i = j-1:-1:1 Ab(i,:)= Ab(i,:)-Ab(j,:)*(Ab(i,j)/Ab(j,j)); end end for s=1:L Ab(s,:)= Ab(s,:)/Ab(s,s); x(s)= Ab(s,C); end %Próxima etapa fazer a decomposição da matriz dos coeficientes em LU: a = [0 0 2 0 0 0 0 0; 0 0 0 0 0 1 0 0; 0 -2 0 0 0 0 0 2; 0 0 0 0 1 0 0 0; -4 4 7 4 2 3 4 1; -1 0 2 0 0 1 2 0; -1 0 0 1 0 0 0 0; 0 -1 0 1 0 0 1 0]; b = [7; 66; 96; 42; 24; 0; 0; 0]; v =[1; 2 ; 3; 4; 5; 6; 7; 8]; abv= [a,b,v]; [L,C]=size(abv); l=zeros(L,C-2); u=zeros(L,C-2); t=1; for j=1:L-1 if abv(j,j)==0 for k=j+1:L if abv(k,j)~=0 t=abv(j,:); abv(j,:)=abv(k,:); abv(k,:)=t; break end end end for i=j+1:L abv(i,j:C-1)= abv(i,j:C-1)- abv(j,j:C-1)*(abv(i,j)/abv(j,j)); end end %Questão 5 – O balanceamento da seguinte reação química pelo número pela conservação do número de átomos de cada elemento entre reagentes e produtos é dada por: %Crout clear clc A=[0 0 2 0 0 0 0 0;0 0 0 0 0 1 0 0;0 -2 0 0 0 0 0 2;0 0 0 0 1 0 0 0;-4 4 7 4 2 3 4 1;-1 0 2 0 0 1 2 0;-1 0 0 1 0 0 0 0;0 -1 0 1 0 0 1 0]; b=[7;66;96;42;24;0;0;0]; [m, n] = size(A); L=eye(n); P=eye(n); U=A; for k=1:m-1 pivot=max(abs(U(k:m,k))); for j=k:m if(abs(U(j,k))==pivot) ind=j; break end end U([k,ind],k:m)=U([ind,k],k:m); L([k,ind],1:k-1)=L([ind,k],1:k-1); P([k,ind],:)=P([ind,k],:); for j=k+1:m L(j,k)=U(j,k)/U(k,k); U(j,k:m)=U(j,k:m)-L(j,k)*U(k,k:m); end end %LU n=length(b); y(1,1)=b(1)/L(1,1); for i=2:n y(i,1)=(b(i)-L(i,1:i-1)*y(1:i-1,1))./L(i,i); end n=length(y); x(n,1)=y(n)/U(n,n); for i=n-1:-1:1 x(i,1)=(y(i)-U(i,i+1:n)*x(i+1:n,1))./U(i,i); end
Compartilhar