Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a transposta de uma matriz em Python - Python para Geometria Analítica e Álgebra LinearQuantidade de visualizações: 7550 vezes |
|
A matriz transposta de uma matriz A é a matriz AT. Tal matriz é obtida quando copiamos os elementos da matriz A para uma outra matriz (ou para ela mesma) e trocamos de posição as linhas e colunas. Dessa forma, a primeira linha da matriz A se transforma na primeira coluna da matriz transposta, a segunda linha da matriz A se transforma na segunda coluna da matriz transposta e assim por diante. Em termos de notação, podemos dizer, de forma algébrica, que: ATji = Aij Onde i representa as linhas e j representa as colunas, tanto na matriz original quanto na matriz transposta. É importante estar atento à quantidade de linhas e colunas na matriz original e na matriz transposta equivalente. Assim, se a matriz original for 3x2, a matriz transposta será 2x3. Antes de vermos o código Python, dê uma olhada na seguinte matriz de duas linhas e três colunas: \[A = \left[\begin{matrix} 3 & 5 & 7 \\ 1 & 2 & 9 \end{matrix}\right] \] Sua matriz transposta correspondente é: \[A^T = \left[\begin{matrix} 3 & 1 \\ 5 & 2 \\ 7 & 9 \end{matrix}\right] \] E agora veja o código Python que declara uma matriz 2x3 e gera a matriz transposta 3x2:
# importamos a bibliteca NumPy
import numpy as np
def main():
# vamos declarar e construir uma matrix
# 2x3 (duas linhas e três colunas
matriz = np.array([(3, 5, 7), (1, 2, 9)])
# vamos exibir os valores da matriz
print("Elementos da matriz:")
for i in range(np.shape(matriz)[0]):
for j in range(np.shape(matriz)[1]):
print("%7.2f" % matriz[i][j], end="")
print()
# como temos uma matriz 2x3, a transposta deverá ser
# 3x2, ou seja, três linhas e duas colunas
linhas = np.shape(matriz)[0] # linhas da matriz original
colunas = np.shape(matriz)[1] # colunas da matriz original
transposta = np.empty((colunas, linhas))
# e agora vamos preencher a matriz transposta
for i in range(np.shape(matriz)[0]):
for j in range(np.shape(matriz)[1]):
transposta[j][i] = matriz[i][j]
# vamos exibir os valores da matriz transposta
print("\nElementos da matriz transposta:")
for i in range(np.shape(transposta)[0]):
for j in range(np.shape(transposta)[1]):
print("%7.2f" % transposta[i][j], end="")
print()
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado:
Elementos da matriz:
3 5 7
1 2 9
Elementos da matriz transposta:
3 1
5 2
7 9
É possível também obter a matriz transposta de um outra matriz usando o método transpose() da biblioteca NumPy da linguagem Python. Veja:
# importamos a bibliteca NumPy
import numpy as np
def main():
# vamos declarar e construir uma matrix
# 2x3 (duas linhas e três colunas
matriz = np.array([(3, 5, 7), (1, 2, 9)])
# vamos exibir os valores da matriz
print("Elementos da matriz:")
for i in range(np.shape(matriz)[0]):
for j in range(np.shape(matriz)[1]):
print("%7.2f" % matriz[i][j], end="")
print()
# vamos transpor a matriz usando o método transpose()
transposta = matriz.transpose()
# vamos exibir os valores da matriz transposta
print("\nElementos da matriz transposta:")
for i in range(np.shape(transposta)[0]):
for j in range(np.shape(transposta)[1]):
print("%7.2f" % transposta[i][j], end="")
print()
if __name__== "__main__":
main()
Ao executar este novo código Python veremos que o resultado é o mesmo. |
PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como ordenar um array em PHP usando a função sort() - PHP para iniciantesQuantidade de visualizações: 9872 vezes |
|
Em várias situações nós precisamos ordenar os elementos de um vetor de inteiros, de caracteres, de strings, etc. Para isso nós podemos usar a função sort() da linguagem PHP. Veja o código a seguir:
<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
<?php
// um vetor com quatro elementos
$pessoas = array("Kelly", "Alice", "Mônica", "Cíntia");
// mostra os elementos sem ordenação
echo "Sem ordenar: ";
foreach($pessoas as $pessoa){
echo $pessoa . ", ";
}
// vamos ordenar o vetor em ordem alfabética
// crescente
sort($pessoas);
// mostra os elementos ordenados
echo "<br><br>Ordenados: ";
foreach($pessoas as $pessoa){
echo $pessoa . ", ";
}
?>
</body>
</html>
Ao executar este código nós teremos o seguinte resultado: Sem ordenar: Kelly, Alice, Mônica, Cíntia Ordenados: Alice, Cíntia, Kelly, Mônica Note que a função sort() requer o vetor (array) a ser ordenado e uma flag opcional indicando como a ordenação deverá ser feita. Esta flag pode ser um dos seguintes valores: SORT_REGULAR - padrão, compara os itens normalmente (não modifica o tipo). SORT_NUMERIC - compara os items numericamente. SORT_STRING - compara os itens como strings. SORT_LOCALE_STRING - compara os itens como strings, utilizando o locale atual. Utiliza o locale que pode ser modificado com setlocale(). SORT_NATURAL - compara os itens como strings utilizando "ordenação natural" tipo natsort(). SORT_FLAG_CASE - pode ser combinado (bitwise OR) com SORT_STRING ou SORT_NATURAL para ordenar strings sem considerar maiúsculas e minúsculas. |
Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o arco cosseno de um número em Java usando o método acos() da classe MathQuantidade de visualizações: 12217 vezes |
|
O arco cosseno, ou arco coseno (também chamado de cosseno inverso) pode ser representado por cos-1 x, arccos x ou acos x. Esta função é a inversa do cosseno, ou seja, se o cosseno é a relação entre o cateto adjacente ao ângulo e a hipotenusa, o arco cosseno parte desta relação para encontrar o valor do ângulo. Em Java, o arco cosseno de um número pode ser obtido por meio do método acos() da classe Math. Este método recebe um valor double e retorna também um double, na faixa 0 <= x <= PI, onde PI vale 3.1416. Veja um código Java completo no qual informamos um número e em seguida calculamos o seu arco-cosseno:
package arquivodecodigos;
public class Estudos{
public static void main(String args[]){
double numero = 0.5;
System.out.println("O arco cosseno de " +
numero + " é " + Math.acos(numero));
}
}
Ao executar este código nós teremos o seguinte resultado: O arco cosseno de 0.5 é 1.0471975511965979 Não se esqueça de que as funções trigonométricas são usadas para modelar o movimento das ondas e fenômenos periódicos, como padrões sazonais. Elas formam a base para análises avançadas em engenharia elétrica, processamento digital de imagem, radiografia, termodinâmica, telecomunicações e muitos outros campos da ciência e da tecnologia. |
R ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o comprimento da hipotenusa em R dadas as medidas do cateto oposto e do cateto adjascenteQuantidade de visualizações: 1281 vezes |
Nesta dica mostrarei como é possível usar a linguagem R para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando a imagem a seguir:![]() Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos a fazer a converter esta fórmula para código R (um script do R). Veja:
a <- 20 # medida do cateto oposto
b <- 30 # medida do cateto adjascente
# agora vamos calcular o comprimento da hipotenusa
c <- sqrt(a ^ 2 + b ^ 2)
# e mostramos o resultado
paste("O comprimento da hipotenusa é:", c)
Ao executar este código R (script do R) nós teremos o seguinte resultado: [1] "O comprimento da hipotenusa é: 36.0555127546399" Como podemos ver, o resultado retornado com o código R confere com os valores da imagem apresentada. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
Exercícios Resolvidos de Java - Escreva uma classe Biblioteca que possui uma ArrayList de objetos da classe Livro. Forneça um menu para listar, cadastrar, pesquisar e excluir livrosQuantidade de visualizações: 737 vezes |
|
Pergunta/Tarefa: Escreva um programa Java contendo duas classes: Biblioteca e Livro. A classe Biblioteca deverá ter uma coleção de livros, ou seja, uma ArrayList de objetos da classe Livro. Além da coleção de livros a classe Biblioteca deverá conter um atributo nome, que será informado assim que a classe for instanciada. A classe Livro, por sua vez, deverá possuir os atributos id, titulo, autor e paginas. O atributo id deverá ser auto-incremento, isto é, 1 para o primeiro livro cadastrado, 2 para o segundo, e assim por diante. Além disso, a exclusão de livros deverá ser feita de acordo com o seu id ou título. Seu programa deverá exibir um menu de opções para as diversas operações da biblioteca. Uma boa opção em Java é usar a estrutura switch case para a criação do menu de opções. Atenção: todos os métodos de manipulação de livros deverão estar na classe Biblioteca, e não na classe principal do programa Java. Para finalizar, tanto a classe Biblioteca quanto a classe Livro deverão apresentar boas práticas de programação orientada a objetos: nomenclatura correta de classes, atributos e métodos, encapsulamento de dados e construtores. Sua saída deverá ser parecida com: ------------------------------------------------- :: Biblioteca Programação e Artes :: ------------------------------------------------- Bem-vindo(a) ao sistema. Escolha a opção desejada 1 - Novo Livro 2 - Listar Livros 3 - Pesquisar Livro 4 - Excluir Livro 5 - Sair Sua opção: 1 Título: JAVA PARA INICIANTES Autor: OSMAR J SILVA Quant Páginas: 480 O livro foi cadastrado com sucesso Veja a resolução comentada deste exercício em Java: Código para a classe Livro, que deve estar no arquivo Livro.java:
package estudos;
// definição da classe Livro
public class Livro {
private int id; // id do livro. Não pode repetir
private String titulo;
private String autor;
private int paginas;
// construtor vazio da classe Livro
public Livro() {}
// construtor cheio da classe Livro
public Livro(int id, String titulo, String autor, int paginas) {
this.id = id;
this.titulo = titulo;
this.autor = autor;
this.paginas = paginas;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getAutor() {
return autor;
}
public void setAutor(String autor) {
this.autor = autor;
}
public int getPaginas() {
return paginas;
}
public void setPaginas(int paginas) {
this.paginas = paginas;
}
}
Código para a classe Biblioteca, que deve estar no arquivo Biblioteca.java:
package estudos;
// imports necessários
import java.util.ArrayList;
import java.util.Scanner;
// definição da classe Biblioteca
public class Biblioteca {
String nome;
ArrayList<Livro> livros; // ArrayList para guardar os livros
// variável do tipo int para gerar IDs auto-incremento para os livros
int idUltimoLivroCadastrado = 0;
// construtor da classe
public Biblioteca(String nome) {
this.nome = nome;
this.livros = new ArrayList();
}
// exibe o menu de opções da biblioteca
public void exibirMenu(){
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// variáveis temporárias
Livro temp;
String pesquisaLivro;
// um laço infinito com as opções do menu
while(true){
System.out.println("\n-------------------------------------------------");
System.out.println(":: " + this.nome + " ::");
System.out.println("-------------------------------------------------");
System.out.println("Bem-vindo(a) ao sistema. Escolha a opção desejada\n");
System.out.println("1 - Novo Livro");
System.out.println("2 - Listar Livros");
System.out.println("3 - Pesquisar Livro");
System.out.println("4 - Excluir Livro");
System.out.println("5 - Sair");
System.out.print("\nSua opção: ");
// lê a opção do usuário
int opcao = Integer.parseInt(entrada.nextLine());
// um menu switch para ler as opções do menu
switch(opcao){
case 1: // vamos cadastrar um novo livro
System.out.print("\nTítulo: ");
String titulo = entrada.nextLine();
System.out.print("Autor: ");
String autor = entrada.nextLine();
System.out.print("Quant Páginas: ");
int quantPaginas = Integer.parseInt(entrada.nextLine());
// vamos gerar o id deste livro
int id = ++this.idUltimoLivroCadastrado;
// agora vamos criar um novo objeto da classe Livro
Livro livro = new Livro(id, titulo, autor, quantPaginas);
// e o adicionamos no ArrayList de livros
livros.add(livro);
// e finalmente mostramos uma mensagem de sucesso.
System.out.println("\nO livro foi cadastrado com sucesso");
break;
case 2: // vamos listar os livros cadastrados
if(livros.isEmpty()){
System.out.println("\nNão há nenhum livro cadastrado.");
}
else{
for(int i = 0; i < livros.size(); i++){
temp = livros.get(i); // obtém o livro da iteração atual
System.out.println("\nId: " + temp.getId());
System.out.println("Título: " + temp.getTitulo());
System.out.println("Autor: " + temp.getAutor());
System.out.println("Quant. Paginas: " + temp.getPaginas());
}
}
break;
case 3: // vamos pesquisar um livro
System.out.print("\nInforme o id ou título do livro: ");
pesquisaLivro = entrada.nextLine();
// chamamos o método que pesquisa o livro
temp = this.pesquisarLivro(pesquisaLivro);
if(temp == null){ // livro não encontrado
System.out.println("\nO livro náo foi encontrado.");
}
else{
// mostra o livro encontrado
System.out.println("\nId: " + temp.getId());
System.out.println("Título: " + temp.getTitulo());
System.out.println("Autor: " + temp.getAutor());
System.out.println("Quant. Paginas: " + temp.getPaginas());
}
break;
case 4: // vamos excluir um livro
System.out.print("\nInforme o id ou título do livro a ser excluído: ");
pesquisaLivro = entrada.nextLine();
// chamamos o método que pesquisa o livro
temp = pesquisarLivro(pesquisaLivro);
if(temp == null){ // livro não encontrado
System.out.println("\nO livro não foi encontrado.");
}
else{
// vamos excluir este livro
livros.remove(temp);
System.out.println("\nLivro excluído com sucesso.");
}
break;
case 5: // sai da aplicação
System.out.println("\nObrigado por usar a biblioteca\n");
System.exit(0);
default:
System.out.println("\nOpção inválida\n");
break;
}
}
}
// método que pesquisa um livro pelo id ou e retorna um objeto da classe Livro
public Livro pesquisarLivro(String pesquisaLivro){
Livro livro = null;
// este livro existe?
for(int i = 0; i < livros.size(); i++){
// pesquisa pelo id
if(Integer.toString(livros.get(i).getId()).equals(pesquisaLivro)){
return livros.get(i);
}
// pesquisar por título
else if(livros.get(i).getTitulo().contains(pesquisaLivro)){
return livros.get(i);
}
}
return livro;
}
}
E aqui está o código para a classe principal Estudos, no arquivo Estudos.java:
package estudos;
public class Estudos {
public static void main(String[] args) {
// vamos criar um novo objeto da classe Biblioteca
Biblioteca b = new Biblioteca("Biblioteca Programação e Artes");
// mostra o menu da biblioteca
b.exibirMenu();
}
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






