Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresCódigo-Fonte Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais

Java ::: Dicas & Truques ::: Matemática e Estatística

Regressão linear - Como calcular o coeficiente de correlação linear de Pearson em Java - Java para Machine Learning

Quantidade de visualizações: 599 vezes


No estudo de Machine Learning, uma das primeiras ferramentas que aprendemos é Regressão Linear. E, para o bom entendimento da regressão linear, temos que aprender sobre o coeficiente de correlação linear, mais especificamente o coeficiente de correlação linear de Pearson.

A fórmula do coeficiente de correlação linear de Pearson é:

\[r_\text{xy} = \frac{n \sum x_i y_i - \sum x_i \sum y_i}{\sqrt{n \sum {x_i}^2 - \left(\sum {x_i}\right)^2} \cdot \sqrt{n \sum {y_i}^2 - \left(\sum {y_i}\right)^2}} \]

Onde:

x e y são os conjuntos de valores cuja correlação queremos testar.

É claro que encontraremos algumas variações desta fórmula na internet e também em livros de estatística, mas o resultado é sempre o mesmo.

A correlação de Pearson é uma técnica estatística para medir se duas variáveis estão linearmente relacionadas. Essa técnica também pode ser chamada de r de Pearson, correlação produto-momento de Pearson ou, mais coloquialmente, de correlação de Pearson.

O r de Pearson é uma métrica que expressa a relação linear entre variáveis por meio de um número que vai de -1 a +1. Isto é, quanto mais próximo dos extremos (-1 ou +1), maior é a força da correlação. Por outro lado, valores próximos de zero indicam que a correlação é fraca.

O sinal da correlação, por sua vez, indica a direção da relação entre variáveis. Se a correlação é positiva, então o aumento em uma variável implica o aumento na outra variável. Por outro lado, se a correlação é negativa, então o aumento em uma variável implica o decréscimo na outra variável.

Veja agora o código Java completo no qual calculamps o coeficiente de correlação linear de Pearson a partir de valores x e y, dispostos em dois vetores, ou seja, dois arrays unidimensionais:

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar os vetores com os valores x e y
    double x[] = {13, 32, 47, 54, 69, 73};
    double y[] = {208, 184, 145, 14, 65, 32};
    // as variáveis para os somatórios
    double soma_x = 0, soma_y = 0, soma_x_quadrado = 0;
    double soma_y_quadrado = 0, soma_x_vezes_y = 0;
    
    // vamos percorrer os vetores e efetuar as somas
    for (int i = 0; i < x.length; i++) {
      // primeiro o somatório de x
      soma_x = soma_x + x[i];
      // agora o somatório de y
      soma_y = soma_y + y[i];
      // então o somatório de x^2
      soma_x_quadrado = soma_x_quadrado + Math.pow(x[i], 2);
      // e o somatório de y^2
      soma_y_quadrado = soma_y_quadrado + Math.pow(y[i], 2);
      // e finalmente o somatório de x*y 
      soma_x_vezes_y = soma_x_vezes_y + x[i] * y[i];
    }
    
    // vamos obter a quantidade de valores na observação
    int n = x.length;
    
    // e finalmente calculamos o coeficiente de correlação
    // linear
    double r_xy = ((n * soma_x_vezes_y) - (soma_x * soma_y)) /
      (Math.sqrt((n * soma_x_quadrado) - Math.pow(soma_x, 2)) *
      Math.sqrt((n * soma_y_quadrado) - Math.pow(soma_y, 2)));
    
    // e mostramos o resultado
    System.out.println("O coeficiente de correlação é: " +
      r_xy);
  }
}

Ao executar este código Java nós teremos o seguinte resultado:

O coeficiente de correlação é: -0.8713675107044452


GNU Octave ::: GNU Octave para Engenharia ::: Cálculo Diferencial e Integral

Como calcular a derivada de uma função usando a função diff() do GNU Octave - Regra do Tombo (ou Regra da Potência)

Quantidade de visualizações: 4020 vezes
No cálculo, a derivada em um ponto de uma função y = f(x) representa a taxa de variação instantânea de y em relação a x neste ponto.

Um exemplo típico é a função velocidade que representa a taxa de variação (derivada) da função espaço. Do mesmo modo, a função aceleração é a derivada da função velocidade.

Geometricamente, a derivada no ponto x = a de y = f(x) representa a inclinação da reta tangente ao gráfico desta função no ponto (a,~f(a)). A função que a cada ponto x associa a derivada neste ponto de f(x) é chamada de função derivada de f(x). [Citação da Wikipédia]

Nesta dica mostrarei como podemos usar a função diff() do GNU Octave para calcular a derivada de uma função usando a Regra do Tombo ou, mais formalmente, a Regra da Potência.

Dada uma função:



A Regra do Tombo pede que o n desça e multiplique o x, que agora estará elevado a n - 1. Vamos ver um exemplo então? Observe como a derivada de f(x) = x5 é calculada na imagem a seguir:



Veja agora como podemos fazer este cálculo em GNU Octave. Para isso, abra a janela de comandos e dispare as linhas a seguir:

>> pkg load symbolic [ENTER]
>> syms x [ENTER]
>> f = x ** 5 [ENTER]
f = (sym)

   5
  x

>> diff(f, x) [ENTER]
ans = (sym)

     4
  5*x

>>

É possível que, após o comando "syms x" você veja algumas mensagens de aviso relacionadas à sua versão instalada do Python. Não se preocupe, pois esses avisos não interferem na funcionalidade da função diff().


Python ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como criar um laço while() infinito na linguagem Python

Quantidade de visualizações: 10395 vezes
Nesta dica eu mostrarei como é possível criar um laço (loop) while infinito em Python. Esta técnica é útil para as situações nas quais queremos interagir com o usuário do nosso programa até que um determinado valor seja informado.

No exemplo abaixo temos um laço while() que será executado até que o texto "fim" seja informado pelo usuário.

Veja o código completo:

def main():
  while True:
    frase = input("Digite uma frase: ");
    print("Você digitou: ", frase)
 
    # vamos sair do laço
    if frase == "fim":
      print("Você acaba de sair do laço while()")
      break
 
if __name__== "__main__":
  main()

Ao executar este código nós teremos o seguinte resultado:

Digite uma frase: Estou estudando Python
Você digitou: Estou estudando Python
Digite uma frase: Preciso viajar amanhã
Você digitou: Preciso viajar amanhã
Digite uma frase: fim
Você digitou: fim
Você acaba de sair do laço while()


C# ::: LINQ ::: LINQ to Objects

Como retornar o menor elemento em um array de int em C# usando a função Min() do LINQ

Quantidade de visualizações: 1622 vezes
Nesta dica mostrarei, em um exemplo bem simples, como podemos usar o método Min() do LINQ (Language-Integrated Query) do C# para retornar o menor elemento de um vetor de inteiros.

Note que temos um vetor de int com os valores {5, 2, 8, 3, 0, 1} e o valor 0 deverá ser retornado como sendo o menor.

Veja o código completo para o exemplo:

using System;
using System.Linq;

namespace Estudos {
  class Principal {
    static void Main(string[] args) {
      // vamos construir um vetor de inteiros
      int[] valores = {5, 2, 8, 3, 0, 1};

      // vamos obter o menor elemento do vetor
      int menor = valores.Min();

      // vamos mostrar o resultado
      Console.WriteLine("O menor valor é: {0}", menor);

      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

Ao executar este código C# nós teremos o seguinte resultado:

O menor valor é: 0

Fique atento ao fato de que o método Min() pode atirar uma exceção do tipo InvalidOperation se o array ou coleção estiver vazia ou não incluir nenhum elemento que se encaixe nas condições testadas.

Veja o resultado ao chamarmos este método em um vetor vazio:

System.InvalidOperationException
HResult=0x80131509
Message=Sequence contains no elements
Source=System.Linq
StackTrace:
at System.Linq.ThrowHelper.ThrowNoElementsException()
at System.Linq.Enumerable.Min(IEnumerable`1 source)
at Estudos.Principal.Main(String[] args) in C:\estudos_c#\Estudos\Principal.cs:line 11


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser. Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 32,90

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


© 2026 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 37 usuários muito felizes estudando em nosso site.