Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


metodos numericos, Notas de estudo de Informática

algoritmo - algoritmo

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 04/12/2008

renato-10
renato-10 🇧🇷

6 documentos

1 / 2

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
#include <stdio.h>
// Equacao 1: 1X + 2Y + 3Z = 11
// Equacao 2: 3X + 3Y + 2Z = 9
// Equacao 3: 4X + 5Y + 3Z = 20
// Tolerancia 0,001
// Interacoes 100
void main () {
float C[3][4],x,y,z,xant=0,yant=0,zant=0,tol=1,tol1,tol2,tol3;
int i,j,k=0;
for(i=0;i<=2;i++) {
for(j=0;j<=3;j++) {
if(i==0){
printf("Digite Valor Variavel 1: ");
scanf("%f",&C[i][j]);
}
if(i==1){
printf("Digite Valor Variavel 2: ");
scanf("%f",&C[i][j]);
}
if(i==2){
printf("Digite Valor Variavel 3: ");
scanf("%f",&C[i][j]);
}
}
}
while (tol>0.00001 && k<100) {
getchar();
x = (C[0][3] - (C[0][2] * zant) - ( C[0][1] * yant)) / C[0][0];
y = (C[1][3] - (C[1][0] * xant) - ( C[1][2] * zant)) / C[1][1];
z = (C[2][3] - (C[2][1] * yant) - ( C[2][0] * xant)) / C[2][2];
tol1= x-xant;
tol2= y-yant;
tol3= z-zant;
printf("\nX Ant:%.6f\nY Ant:%.6f\nZ Ant:%.6f\nX Pro:%.6f\nY Pro:%.6f\nZ
Pro:%.6f\n",xant,yant,zant,x,y,z);
if (tol1<0) tol1 = tol1 * (-1);
if (tol2<0) tol2 = tol2 * (-1);
if (tol3<0) tol3 = tol3 * (-1);
if (tol1 > tol2 && tol1 > tol3) tol = tol1;
pf2

Pré-visualização parcial do texto

Baixe metodos numericos e outras Notas de estudo em PDF para Informática, somente na Docsity!

#include <stdio.h>

// Equacao 1: 1X + 2Y + 3Z = 11 // Equacao 2: 3X + 3Y + 2Z = 9 // Equacao 3: 4X + 5Y + 3Z = 20

// Tolerancia 0, // Interacoes 100

void main () {

float C[3][4],x,y,z,xant=0,yant=0,zant=0,tol=1,tol1,tol2,tol3; int i,j,k=0;

for(i=0;i<=2;i++) { for(j=0;j<=3;j++) { if(i==0){ printf("Digite Valor Variavel 1: "); scanf("%f",&C[i][j]); } if(i==1){ printf("Digite Valor Variavel 2: "); scanf("%f",&C[i][j]); } if(i==2){ printf("Digite Valor Variavel 3: "); scanf("%f",&C[i][j]); } } }

while (tol>0.00001 && k<100) {

getchar();

x = (C[0][3] - (C[0][2] * zant) - ( C[0][1] * yant)) / C[0][0]; y = (C[1][3] - (C[1][0] * xant) - ( C[1][2] * zant)) / C[1][1]; z = (C[2][3] - (C[2][1] * yant) - ( C[2][0] * xant)) / C[2][2];

tol1= x-xant; tol2= y-yant; tol3= z-zant;

printf("\nX Ant:%.6f\nY Ant:%.6f\nZ Ant:%.6f\nX Pro:%.6f\nY Pro:%.6f\nZ Pro:%.6f\n",xant,yant,zant,x,y,z);

if (tol1<0) tol1 = tol1 * (-1); if (tol2<0) tol2 = tol2 * (-1); if (tol3<0) tol3 = tol3 * (-1);

if (tol1 > tol2 && tol1 > tol3) tol = tol1;

if (tol2 > tol1 && tol2 > tol3) tol = tol2; if (tol3 > tol1 && tol3 > tol2) tol = tol3;

xant = x; yant = y; zant = z; k++;

printf("\nMod Tolerancia X: %.6f\nMod Tolerancia Y: %.6f\nMod Tolerancia Z: %.6f\nTolerancia Maxima %.6f\nInteracoes %d\n",tol1,tol2,tol3,tol,k);

printf("\n Valor1: %.6f \n Valor2: %.6f \n Valor3: %.6f \n\n",xant,yant,zant);