Python - Matrizes e vetores. George Sand

Documentos relacionados
Minicurso de Python Básico

Minicurso de Python Básico

Aula de hoje. Python para disciplinas básicas. Computação científica. Introdução. Álgebra Linear. Álgebra linear

Aula 10 Introdução ao NumPy

Econometria. Operações básicas de vetores. Operações básicas de vetores. Operações básicas de vetores. Independência de vetores

Econometria. Operações básicas de vetores. Operações básicas de vetores. Operações básicas de vetores. Independência de vetores

Introdução ao Python. Prof. Fabrício Olivetti de França Universidade Federal do ABC

Uma matriz m x n é um quadro de elementos dispostos em m linhas e n colunas. Os valores de m e n são sempre positivos e inteiros.

AULA 2 1) Comando linspace 2) Indexação de matriz

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO LEEC EXERCÍCIOS DE ÁLGEBRA

(x 1, y 1 ) (x 2, y 2 ) = (x 1 x 2, y 1 y 2 ); e α (x, y) = (x α, y α ), α R.

Análise multivariada

Revisão: Matrizes e Sistemas lineares. Parte 01

Geometria Analítica e Álgebra Linear

ALGEBRA LINEAR 1 RESUMO E EXERCÍCIOS* P1

Curso básico de Python para estudantes de Física

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 3. Transformações Geométricas

Álgebra Linear. Professor Alessandro Monteiro. 1º Sábado - Matrizes - 11/03/2017

GAN00140-Álg. Linear GAN00007 Int à Alg. Linear Aula 3 2ª. Parte: Matrizes e Operações Matriciais

5. Considere os seguintes subconjuntos do espaço vetorial F(R) das funções de R em R:

Soluções dos trabalhos de 1 a 7

Aula 7 - Revisão de Álgebra Matricial

Parte 2 - Espaços Vetoriais

Instituto de Física Universidade Federal do Rio de Janeiro. Cap. 1 - Vetores. Prof. Elvis Soares - Física I

INTRODUÇÃO À ÁLGEBRA LINEAR. Prof.ª Chiara Maria S. L. Dias 3ª fase Licenciatura em Matemática

MAT Álgebra Linear para Engenharia II - Poli 2 ō semestre de ā Lista de Exercícios

Universidade Federal do Rio de Janeiro Instituto de Física. Física I IGM1 2014/1. Cap. 1 - Vetores. Prof. Elvis Soares

. (1) Se S é o espaço vetorial gerado pelos vetores 1 e,0,1

ÁLGEBRA LINEAR - MAT0024

Universidade Federal de Alagoas UFAL Centro de Tecnologia - CTEC Programa de Pós-Graduação em Engenharia Civil - PPGEC

. Repare que ao multiplicar os vetores (-1,1) e

Lista de Exercícios 05 Álgebra Matricial

Mini curso básico. Gilberto A. S. Segundo Fábio Carmo. Programa de Educação Tutorial

Apostila de Matemática 10 Matriz

ÁLGEBRA LINEAR I - MAT0032

O Eletromagnetismo é um ramo da física ou da engenharia elétrica onde os fenômenos elétricos e magnéticos são estudados.

Q1. Seja V um espaço vetorial e considere as seguintes afirmações: um conjunto de geradores de um subespaço S 2 de V, então A 1 A 2

Notas em Álgebra Linear

0.1 Matrizes, determinantes e sistemas lineares

Fundamentos Matemáticos de Computação Gráfica

Notações e revisão de álgebra linear

Programa Princípios Gerais Forças, vetores e operações vetoriais

Murilo F. Tomé ICMC-USP

TESTE FINAL DE ÁLGEBRA LINEAR 18 de Janeiro de 2017 Instituto Superior Técnico - Engenharia Aeroespacial

Produto Misto, Determinante e Volume

Notas para o Curso de Algebra Linear Il Dayse Haime Pastore 20 de fevereiro de 2009

Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação /2

NÍVEL BÁSICO CAPÍTULO II

Álgebra Linear I - Aula Forma diagonal de uma matriz diagonalizável

Autovalores e Autovetores

Cirlei Xavier Bacharel e Mestre em Física pela Universidade Federal da Bahia

Algoritmos Numéricos 2 a edição

I Lista de Álgebra Linear /02 Matrizes-Determinantes e Sistemas Prof. Iva Zuchi Siple

1. Conhecendo-se somente os produtos AB e AC, calcule A = X 2 = 2X. 3. Mostre que se A e B são matrizes que comutam com a matriz M = 1 0

MAT2457 ÁLGEBRA LINEAR PARA ENGENHARIA I 1 a Prova - 1 o semestre de y + az = a (a 2)x + y + 3z = 0 (a 1)y = 1 a

Prof. Dr. Marco Antonio Leonel Caetano

CM005 Algebra Linear Lista 1

Lista de Exercícios 3 (Matrizes e Sistemas Lineares) b) B 4 2, tal que b ij =

Matrizes material teórico

Aula 25 - Espaços Vetoriais

Álgebra Linear e Geometria Analítica Bacharelados e Engenharias Parte I - Matrizes

1 NOTAS DE AULA FFCLRP-USP - VETORES E GEOMETRIA ANALÍTICA. Professor Doutor: Jair Silvério dos Santos

Álgebra Linear - Prof. a Cecilia Chirenti. Lista 3 - Matrizes

São tabelas de elementos dispostos ordenadamente em linhas e colunas.

MATRIZES. Fundamentos de Matemática- Ciências Contábeis

Renato Martins Assunção

4-Operações de Matrizes

Revisão de Álgebra Linear

5 a Lista de Exercícios de Introdução à Álgebra Linear IMPA - Verão Encontre os autovalores, os autovetores e a exponencial e At para

Aula 3 Escalares e Vetores

MA71B - Geometria Analítica e Álgebra Linear Profa. Dra. Diane Rizzotto Rossetto. LISTA 5 - Espaços Vetoriais

Universidade Federal do Ceará Departamento de Física Física Fundamental Prof. Normando Lista de Exercícios 1

Álgebra Linear 1 ō Teste - 16/ 11/ 02 Cursos: Eng. Ambiente, Eng. Biológica, Eng. Química, Lic. Química

Espaços Vectoriais. Espaços Vectoriais

Resolução da 1ª Prova de Álgebra Linear II da UFRJ, período

Álgebra Linear. Professor Alessandro Monteiro. 1º Sábado - Matrizes - 11/03/2017

Eduardo. Matemática Matrizes

étodos uméricos SISTEMAS DE EQUAÇÕES LINEARES (Continuação) Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Introdução ao Scilab 3.0 Parte 2

a mnx n = b m

Lista de Exercícios de Cálculo 3 Primeira Semana

Prof a Dr a Ana Paula Marins Chiaradia

Lista de Álgebra Linear Aplicada

Cálculo Diferencial e Integral 2 Formas Quadráticas

Transcrição:

Python - Matrizes e vetores George Sand

Introdução Vamos mostra que podemos executar em Python com o módulo NumPy todos as operações com Matriz: adição Matriz subtração Matriz multiplicação de matrizes Produto escalar Produto vetorial e um monte de outras operações sobre matrizes Os operadores padrão: + - * / ** %

Començando import numpy as np x = np.array([1,5,2]) y = np.array([7,4,1]) x + y ---array([8, 9, 3]) x * y ---array([ 7, 20, 2]) x - y ----array([-6, 1, 1]) x / y ----array([0, 1, 2]) x % y ----array([1, 1, 0])

Produdto escalar x = np.array([1,2,3]) y = np.array([-7,8,9]) dot = np.dot(x,y) x_modulo = np.sqrt((x*x).sum()) y_modulo = np.sqrt((y*y).sum()) cos_angulo = dot / x_modulo / y_modulo # Cosseno do angulo entre X e Y angulo = np.arccos(cos_angulo) angulo 0.80823378901082499 angulo * 360 / 2 / np.pi # angulo em graus 46.308384970187326

Matriz x = np.array( ((2,3), (3, 5)) ) y = np.array( ((1,2), (5, -1)) ) x * y array([[ 2, 6], [15, -5]]) x = np.matrix( ((2,3), (3, 5)) ) y = np.matrix( ((1,2), (5, -1)) ) x * y matrix([[17, 1], [28, 1]])

Produto de Matrizes x = np.array( ((2,3), (3, 5)) ) y = np.matrix( ((1,2), (5, -1)) ) np.dot(x,y) matrix([[17, 1], [28, 1]]) Outra altenativa np.mat(x) * np.mat(y) matrix([[17, 1], [28, 1]])

Aplicação Prática para Multiplicação Seja 4 pessoas, Zezinho, Mia, Maria e Luana. Cada um deles comprou chocolates a partir de uma escolha de três. A marca são A, B e C. Zezinho comprou 100 g da marca A, 175 g da marca B e 210 da C. Mia escolheu 90 g de A, 160 g de B e 150 g de C. Maria comprou 200 g de A, 50 B e de 100 g de C. Luana, aparentemente, não gostou da marca B, porque ela não tinha comprado qualquer um desses. Mas ela parece ser fã da marca C, pois ela comprou 310 g. Além disso, ela comprou 120 g de A. Então, o preço destes chocolates: A custa 2,98 por 100 g, B custa 3,90 e C só 1,99. Calcule o quanto cada um deles tinha que pagar:

Resposta NumPessoas = np.array([[100,175,210],[90,160,150],[200,50,100],[120,0,310 ]]) Preco_per_100_g = np.array([2.98,3.90,1.99]) Preco_em_centavos = np.dot(numpessoas,preco_per_100_g) Preco_em_Real = Preco_em_centavos / np.array([100,100,100,100]) Prece_em_Real array([ 13.984, 11.907, 9.9, 9.745])

Produto vetorial x = np.array([0,0,1]) y = np.array([0,1,0]) np.cross(x,y) array([-1, 0, 0]) np.cross(y,x) array([1, 0, 0])

Criando Vetores (arrays) em Numpy Arrays NumPy podem ser criados a partir de estruturas de dados do Python (listas, tuplas) ou a partir de funções específics para criação de de arrays. zeros((m,n)) vetor de 0 (zero),com m linhas, n colunas ones((m,n)) vetor de 1 (um), com m linha e n colunas empty((m,n)) vetor vazio, com m linhas e n colunas zeros_like(a) vetor de 0 (zero), no mesmo formato de A ones_like(a) vetor de 1 (um), no mesmo formato de A empty_like(a) vetor vazio, no mesmo formato de A

Criando Vetores (arrays) em Numpy random.random((m,n)) vetor mxn de números aleatório identity(n) matriz identidade de ordem n, ponto flutuante array([[1,2,3],[4,5,6]]) cria um array a partir de um lista ou umatupla arrange(i,f,p) vetor com início i, final f e passo p linspace(i,f,n) vetor com n números de i até f

Mais exemplos Criar um vetor com valores passados por parâmetros (36.4, 21.6, 15.6, 27.6) a = np.array([36.4,21.6, 15.6, 27.6]) print a Criar um vetor de zeros de tam=4 az = np.zeros(4) Criar um vetor com valores de 0 a 10 a = np.arange(10) Criar um vetor de 0 a 1, passo = 0.2 a = np.arange(0.0, 1.0, 0.2) Criar um vetor de 6 números de 0 a 1 a = linspace(0.0,1.0,6)

Criando vetores (arrays) em Numpy Outros métodos de arrays: a.size tamanho do array a.ndim dimensão do array a.reshape alterar a ordem do array print a.size, a.ndim, m.shape m = a.reshape(2,3)] Vetor de 0 e do ordem 3 Z = np.zeros(3,3) print Z

Acesso a arrays a[x,y] acessa o elemento na posição x,y de a a[x,:] ou a[x] acessa a linha x de a a[:,y] acessa a coluna y de a a[-1] acessa a última linha de a a[x:x,:] acessa as linhas de x até a anterior de x a[::x,::y] acessa os elementos nas linhas 0 e x, e nas colunas 0 e y

Operações com Arryas NumPy suporta operações entre arrays sem uso de loops (como em c, por exemplo). a+n soma n unidades aos elementos de a a*n multiplica os elementos de a por um escalar n a*b multiplica um array a por outro array b a**n eleva os elementos de a, a n-ésima potência dot(a,b) produto escalar entre a e b cross(a,b) produto vetorial entre a e b outer(a,b) multiplica cada elemento de a por cada elemento de b, e cria uma matriz onde cada produto é uma linha.

Operações com Arrays a = [4,5,6] b = [7,8,9] print np.outer(a,b)

M Étodos dos vetores a.sum() retorna a soma dos elementos de a a.min() retorna o menor elemento de a a.max() retorna o maior elemento de a a.mean() retorna a média dos elementos de a a.std() retorna o desvio padrão dos elementos de a a.var() retorna a variância dos elementos de a a.trace() traço de a a.copy() retorna a cópia de a a.conjugate() retorna o complexo conjugado de a

Matrizes Os arrays apresentados até agora são do tipo ndarray.há um tipo de array bidimensional chamado matrix, que possui algumas propriedas especiais de matrizes: matrix.i inversa matrix.t transposta matrix.h conjugada matrix.a transforma a matriz em um array O operador * efetua operações usuais de álgebra linear, tipo matriz-matriz, matriz-vetor, vetor-matriz. O módulo numpy.linalg possui diversas funções de álgebra linear, como a solução de sistemas de equações lineares por exemplo. x = linalg.solve((a,b))

Exercícios 1. Seja a matriz ([1,2,3.2], [4,5,2.3], [1,2,5]) calcule o determinante (usando o python). 2. Crie um vetor com 200 amostras de 1 a 1000? 3. Multiplique a matriz do exercício 1 por uma matriz unitária 4. Calcule a inversa da matriz do exercício 1 5. Calcule o produto vetorial de [3,5,6.7] e [2,3,4.6] 6. Criar uma matriz 5(i) por 5(j) em que os elementos são i+j. (Dica use o for e if)

Salvando Dados arquivo de texto com savetxt import numpy as np x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], np.int32) np.savetxt("test.txt", x) np.savetxt("test2.txt", x, fmt="%2.3f", delimiter=",") np.savetxt("test3.txt", x, fmt="%04d", delimiter=" :-) ") http://www.python-course.eu/