Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
program interpol implicit none real,dimension(14)::I,t,c,s,x real,dimension(14,14)::A,A1 real::soma integer::j,k,i1,N open(unit=110,file='C_O.txt',status='old') do j=1,14 read(110,*)I(j),t(j),c(j) open(unit=2,file='poli.interpolador.txt') end do do k=1,13 do j=1,14 A(j,k)=t(j)**k end do end do !do j=1,14 !write(2,*)I(j),A(j,1),A(j,2),A(j,3),A(j,4),A(j,5),A(j,6),A(j,7),A(j,8),A(j,9),A(j,10),A(j,11),A(j,12),A(j,13),c(j) !end do open(unit=3,file='matrizA1.txt') do j=1,14 A1(J,1)=i(J) end do do j=1,14 do k=1,13 A1(j,k+1)=A(j,k) end do end do do j=1,14 write(3,*)A1(j,1),A1(j,2),A1(j,3),A1(j,4),A1(j,5),A1(j,6),A1(j,7),A1(j,8),A1(j,9),A1(j,10),A1(j,11),A1(j,12),A1(j,13),A1(j,14) end do N=14 !Chute inicial x = 0.0 !Algoritmo de Gauss-Seidel do k = 1,3948341 do i1=1,N soma = 0.0 do j=1,N if(j.NE.i1) then soma=soma+A1(i1,j)*x(j) end if end do x(i1) = (c(i1)-soma)/A1(i1,i1) end do end do open(unit=1,file='solução.txt') write(*,*) write(1,*)'para ',k,'iterações temos a seguinte solução para o polinõmio interpolador' write(*,*) write(1,*) write(1,*) 'x1= ', x(1) write(1,*) 'x2= ', x(2) write(1,*) 'x3= ', x(3) write(1,*) 'x4= ', x(4) write(1,*) 'x5= ', x(5) write(1,*) 'x6= ', x(6) write(1,*) 'x7= ', x(7) write(1,*) 'x8= ', x(8) write(1,*) 'x9= ', x(9) write(1,*) 'x10= ', x(10) write(1,*) 'x11= ', x(11) write(1,*) 'x12= ', x(12) write(1,*) 'x13= ', x(13) write(1,*) 'x14= ', x(14) s(1)=1.0 do j=1,13 s=s(j)*(t(1)-t(j+1)) end do write(*,*)s(13) close(3) close(1) close(2) close(110) end program interpol
Compartilhar