![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
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 LearningQuantidade de visualizações: 782 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 |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string em um valor de ponto-flutuante em Ruby usando a função to_f da classe StringQuantidade de visualizações: 7610 vezes |
|
Em algumas situações precisamos transformar um valor contido em uma string em um valor numérico do tipo ponto-flutuante (float ou double). Em Ruby podemos fazer isso usando o método to_f da classe String. Veja o exemplo: # um número fracionário declarado como string valor = "3.5" # vamos somar este número a um outro resultado = 30 + valor.to_f # exibe o resultado puts resultado Ao executar este código Ruby nós teremos o seguinte resultado: 33.5 |
Java ::: Pacote java.util ::: Iterator |
Como usar objetos da interface Iterator do Java em suas aplicaçõesQuantidade de visualizações: 3267 vezes |
|
Um objeto da interface Iterator<E>, no pacote java.util, é usado para percorrer os elementos de uma coleção. Um Iterator é usado com frequencia em substituição a um Enumeration. Há duas diferenças principais entre os dois: a) Um Iterator permite a remoção de elementos na coleção sendo percorrida no momento. b) Os métodos do Iterator são mais curtos e apresentam melhoria em relação aos métodos do Enumeration. As subinterfaces conhecidas de Iterator<E> são ListIterator<E> e XMLEventReader. As classes conhecidas que implementam esta interface são BeanContextSupport.BCSIterator, EventReaderDelegate e Scanner. Veja um trecho de código no qual usamos um Iterator para percorrer e exibir os valores dos elementos de uma ArrayList:
package estudos;
import java.util.ArrayList;
import java.util.Iterator;
public class Estudos{
public static void main(String[] args){
// vamos criar uma ArrayList
ArrayList<String> pessoas = new ArrayList();
pessoas.add("Osmar");
pessoas.add("Carlos");
pessoas.add("Fernanda");
// vamos obter um Iterator para a lista e percorrer todos os elementos
for(Iterator<String> pessoa = pessoas.iterator(); pessoa.hasNext();){
System.out.println(pessoa.next());
}
}
}
Ao executar este exemplo nós teremos o seguinte resultado: Osmar Carlos Fernanda |
Java ::: Dicas & Truques ::: Data e Hora |
Como obter o dia da semana como um valor inteiro usando a constante DAY_OF_WEEK da classe Calendar do JavaQuantidade de visualizações: 13632 vezes |
|
Em algumas situações nós precisamos obter o dia da semana como um inteiro. Para isso podemos usar a constante DAY_OF_WEEK da classe Calendar, do pacote java.util, que nos permite obter o dia da semana como um valor inteiro na faixa de 1 a 7. O valor 1 é domingo, 2 é segunda, 3 é terça, e assim por diante. Veja um exemplo:
package arquivodecodigos;
import java.util.Calendar;
public class Estudos{
public static void main(String args[]){
// vamos obter a data e hora atual
Calendar agora = Calendar.getInstance();
// vamos obter o dia da semana como um
// valor inteiro
System.out.println("O dia da semana é: " +
agora.get(Calendar.DAY_OF_WEEK));
}
}
Ao executarmos este códigos nós teremos o seguinte resultado: O dia da semana é: 6 |
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar a quantidade de linhas e colunas de um vetor ou matriz usando a propriedade shape do objeto ndarray da biblioteca NumPy do PythonQuantidade de visualizações: 3506 vezes |
Podemos usar a propriedade shape do objeto ndarray da biblioteca NumPy para obter a quantidade de linhas e colunas em um vetor ou matriz. Para um vetor, o retorno será a quantidade de colunas seguida por uma vírgula. Para matrizes, a propriedade retornará a quantidade de linhas e colunas. Veja:
# importamos a bibliteca NumPy
import numpy as np
def main():
# vamos criar um vetor com 8 elementos
vetor = np.array([5, 1, 10, 7, 2, 3, 9, 4])
# vamos mostrar a quantidade de linhas e colunas nesse vetor
print("Linhas e colunas no vetor:", vetor.shape)
# agora vamos criar uma matriz de 2 linhas e 4 colunas
matriz = np.array([[8, 51, 2, 35], [90, 42, 0, 71]])
# vamos mostrar a quantidade de linhas e colunas nessa matriz
print("Linhas e colunas na matriz:", matriz.shape)
if __name__== "__main__":
main()
Ao executarmos este código nós teremos o seguinte resultado: Linhas e colunas no vetor: (8,) Linhas e colunas na matriz: (2, 4) Além de usar a propriedade shape do objeto ndarray, nós podemos também efetuar uma chamada ao método global shape() da NumPy. Veja:
# importamos a bibliteca NumPy
import numpy as np
def main():
# vamos criar um vetor com 8 elementos
vetor = np.array([5, 1, 10, 7, 2, 3, 9, 4])
# vamos mostrar a quantidade de linhas e colunas nesse vetor
print("Linhas e colunas no vetor:", np.shape(vetor))
# agora vamos criar uma matriz de 2 linhas e 4 colunas
matriz = np.array([[8, 51, 2, 35], [90, 42, 0, 71]])
# vamos mostrar a quantidade de linhas e colunas nessa matriz
print("Linhas e colunas na matriz:", np.shape(matriz))
if __name__== "__main__":
main()
Execute e veja que o resultado é o mesmo para ambos os códigos. |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





