Postagens

Mostrando postagens de outubro, 2019

Criando um array de um tipo/classe em Java

Tipo[] array = new Tipo[50];          //array de tipo Tipo,  //ou seja, irá armazenar várias objetos do tipo Tipo //inicia o array com 50 espaços for(int i=0 ; i< array.length; i++){     array[i] = new Tipo(10); } Exemplo prático:  Pilha[] array = new Pilha[50];  //array de tipo Pilha // ou seja, irá armazenar vários objetos do Tipo Pilha //inicia o array com 50 espaços for(int i=0 ;  i< array.length; i++){     array[i] = new Pilha(10); }

Cálculo do Erro para Interpolação em Scilab

Versão do Scilab: 5.5.2 clear clc function [orderValues] = getOrder(lastOrder, vectorX, orderNumber)     for i = 1 : size(lastOrder, 2) - 1 // size 1 = quantas linhas, size 2 = quantas colunas        orderValues(1,i) = (lastOrder(1,i+1) - lastOrder(1,i)) / (vectorX(1,orderNumber+i-1) - vectorX(1,i))     end endfunction function [f, polyF] = newtonInterpol(vectorY, vectorX)     lastOrder = vectorY     polyF = poly([vectorY(1,1)],"x", "coeff")     for i = 2 : size(vectorX, 2) // size 1 = quantas linhas, size 2 = quantas colunas         lastOrder = getOrder(lastOrder, vectorX, i)         polyA = poly([-vectorX(1,1) 1],"x","coeff")         for j = 2 : i-1             polyA = polyA * poly([-vectorX(1,j) 1],"x","coeff")         end         polyA = polyA * lastOrder(1,1) ...

Método da Interpolação por Eliminação Gaussiana em Scilab

Versão do Scilab: 5.5.2 Observação: Só calcula equação linear e quadrática; clear clc //Eliminação Gaussiana //Variavel matriz é a matriz incompleta //Variavel matrizResposta é a matriz que contem as respostas dos sistemas lineares function  matrizCoeficientes= eliminacaoGauss(matriz, matrizResposta)     matrizCompleta=[matriz matrizResposta];     n=size(matriz,1);     disp("Resolução do Sistema")     disp("Matriz Ampliada = ")     disp(matrizCompleta)     for j=1:(n-1)         for i=(j+1):n            mij=matrizCompleta(i,j)/matrizCompleta(j,j)            matrizCompleta(i,:)=matrizCompleta(i,:)-mij*matrizCompleta(j,:)         end     end     disp("Matriz Escalonada")     disp(matrizCompleta)     //Fazer Retrosubstituição     matrizCoeficientes(n)=matr...

Método da Interpolação de Newton em Scilab

Versão do Scilab: 5.5.2. clc clear function [polinomio] = polinomioNewton(vetX, vetY)     n  = size(vetX, 1) - 1     x = poly(0,"x")     cpy = vetY     coeficientes = []     polinomio = vetY(1)     for i=1:n         diferences = []         for j=1:(n - i+1)             diference = (cpy(j+1) - cpy(j) ) / (vetX(j+1) - vetX(j))             diferences = [diferences ; diference]         end         coeficientes(i) = diferences(1);         cpy = diferences     end     cpy = x -vetX     for i=1: n          polinomio = polinomio + prod(cpy(1:i)) * coeficientes(i)     end endfunction //ENTRADA DE DADOS vetX = [0; 1822; 2994; 3640; 8848] vetY = [100; 94; 91; 87; 71] polinomio = poli...

Método de Interpolação de Lagrange em Scilab

Versão do Scilab : 5.5.2 clc  clear //funcao que retorna o polinomio de lagrange function y=polinomioLagrange(tab); // calcula o polinomio interpolador pelo metodo de lagrange;     [l,n]=size(tab);     x=tab(1,:);     for i=1:n           if i>size(x) then            error(" i incompativel com dimensao da tabela");         end;         [l,n]=size(x);         for k=1:i-1             r(k)=x(k)         end;         for k=i:n-1              r(k)=x(k+1)         end;         P=1;         for k=1:(n-1)              P=P*(x(i)-r(k))         end;         if P==0 then    ...

Método da Bisseção em Scilab

Versão do Scilab: 5.5.2 clear clc //METODO DA BISSEÇÃO function [resultado] = equacao(x)     resultado = x^2+log(x)             //aqui vai a equacao de entrada endfunction //INTERVALO DAS RAIZES a = 0.5;    //intervalo inicial b = 1 ;        //intervalo final //ERRO TOLERAVEL e=10^(-4);            //erro d=2*e;                   //diferença - condicao de parada do laço x0 = 0;          // x inicial    contIteracao = 0; while d > e     fa = equacao(a)      fb = equacao(b)       x = (a*fb - b*fa)/(fb - fa);     fx = equacao(x)     if fa*fx         b = x     else          a = x     end     d = abs(x-x0);      x0 = x;...

Método da Secante em Scilab

Versão do Scilab: 5.5.2. clear  clc //METODO DA SECANTE function [resultado] = equacao(x)     resultado = %e^(x/2)-x^2             //aqui vai a equacao original endfunction //INTERVALO CONTENDO AS S RAIZES x0 = 1; //intervalo inicial x1 = 2 ; //intervlo final //Erro Tolerável erro=5*10^(-5)                 //erro diferenca=2*erro;           //Condição de parada do               contIteracao = 0;           //Contador de Iterações while diferenca > erro     fx0 = equacao(x0)      fx1 = equacao(x1)       x = (x0*fx1 - x1*fx0)/(fx1 - fx0);     //printf("%g",x)     //printf("\n")     fx = equacao(x)     diferenca = abs(x-x1);     x0 = x1     x1 = x     ...

Método Iteração Linear em Scilab

Versão do Scilab: 5.5.2 clear clc //Método Iterativo Linear //ISOLAR O X em diferentes formas e fazer os teste abaixo para usar o melhor método deles. //Ou seja, uma nova equação da que foi dada //para sabe se o programa vai entrar em looping faça o seguinte com a nova equação que voce descobriu // se -1< derivada de f(x) < 1 é divergente, não usar o metodo //se 0 < derivada de f(x) < 1 convergencia monotonica //se -1 < derivada de f(x) < 0 é convergencia oscilante //exemplo : Função Original : x²^3-9x-3 --- equação que converge -> x = (x^3 + 3)/9 //fazer os testes com x0 dado na equação ou tirado do intervalo inicial (geralmente a metade do intervalo) //AQUI  vai a nova equação, sendo a melhor para a questao function [resultado] = equacao(x)         resultado = sqrt(%e^(x/2))             //aqui vai a equacao de entrada endfunction x0 = 1.5      //variavel que armazena o...

Método de Newton Raphson em Scilab

Versão do Scilab: 5.5.2 clear clc //Método Newton-Raphson function [resultado]=equacao(x)     resultado=(sin(x)-x^2+4)   //colocar a equação de entrada aqui endfunction x0= 2.5;   //x inicial  numeroIteracoes=0; // Erro tolerável: e=10^-5    //erro tolerável d=2*e;     //diferença - condição de parada df = numderivative(equacao, 2) pol= df n=size(pol,2) y=[] while d > e     j=1     for i=n:-1:1         y(j)=[x0^(i-1)]         j=j+1     end     derivada=pol*y;     x=x0-equacao(x0)/derivada     d=abs(x-x0)     x0=x;     numeroIteracoes=numeroIteracoes+1; end disp("Raiz da Função : ") disp(x) disp("Número de Iterações : ") disp(numeroIteracoes)