O uso de arrays é uma das formas mais adequadas para fazermos a modelagem computacional de vetores. Entretanto, devemos ficar atentos que vetores e arranjos não são equivalentes. Embora, a soma/subtração e multiplicação por escalar são similares, a multiplicação e potenciação envolvendo vetores não estão definidas, mas para arranjos são operações elemento-a-elemento.
No que segue, vamos assumir que a biblioteca NumPy está importada, i.e.
A soma dos vetores é uma operação elemento-a-elemento
(5.12) | |||
(5.13) | |||
(5.14) |
e a dos arrays é equivalente
A subtração dos vetores também é uma operação elemento-a-elemento
(5.15) | |||
(5.16) | |||
(5.17) |
e a dos arrays é equivalente
Ainda, a multiplicação por escalar
(5.18) | |||
(5.19) | |||
(5.20) |
também é feita elemento-a-elemento, assim como com arrays
Agora, para vetores, a multiplicação , divisão , potenciação não são operações definidas. Diferentemente, para arranjos são operações elemento-a-elemento
Funções vetoriais e funcionais também podem ser adequadamente modeladas com o emprego de arrays do NumPy. A biblioteca também conta com várias funções matemáticas predefinidas, consulte
A implementação da função vetorial
(5.21) |
para , pode ser feita da seguinte forma
Verifique!
O produto interno (ou, produto escalar) é a operação entre vetores definida por
(5.22) |
A função numpy.dot computa o produto interno dos arrays.
A norma de um vetor é definida por
(5.28) |
O submódulo de álgebra linear numpy.linalg contém a função numpy.linalg.norm para a computação da norma de arrays.
O produto vetorial entre dois vetores é definido por
(5.36) | |||
(5.39) | |||
(5.42) | |||
(5.45) |
A função numpy.cross computa o produto vetorial entre arrays (unidimensionais de 3 elementos).
Complete as lacunas.
Usualmente, vetores são computacionalmente modelados como numpy.array.
O produto interno de dois vetores alocados como arrays pode ser computado com o método numpy.dot.
A norma de um vetor alocado como um numpy.array pode ser computado com o método numpy.linalg.norm.
a) numpy.array; b) numpy.dot; c) numpy.linalg.norm;
Dica: use a função e verifique as computações calculando os resultados esperados.
Dica: use a função numpy.linalg.norm e verifique as computações calculando os resultados esperados.
Dados vetores e , temos que
(5.59) |
onde é o ângulo entre esses vetores. Implemente uma função que recebe dois vetores e retorna o ângulo entre eles. Teste seu código para diferentes vetores.
A projeção ortogonal do vetor na direção do vetor é definida por
(5.60) |
Implemente uma função que recebe dois vetores , e retorne a projeção de na direção de . Teste seu código para diferentes vetores.
Considere os vetores
(5.61) | |||
(5.62) |
Usando arrays do NumPy, compute os seguintes produtos vetoriais:
Dica: use a função numpy.cross e verifique as computações calculando os resultados esperados.
Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!
Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.
O uso de arrays é uma das formas mais adequadas para fazermos a modelagem computacional de vetores. Entretanto, devemos ficar atentos que vetores e arranjos não são equivalentes. Embora, a soma/subtração e multiplicação por escalar são similares, a multiplicação e potenciação envolvendo vetores não estão definidas, mas para arranjos são operações elemento-a-elemento.
No que segue, vamos assumir que a biblioteca NumPy está importada, i.e.
A soma dos vetores é uma operação elemento-a-elemento
(5.12) | |||
(5.13) | |||
(5.14) |
e a dos arrays é equivalente
A subtração dos vetores também é uma operação elemento-a-elemento
(5.15) | |||
(5.16) | |||
(5.17) |
e a dos arrays é equivalente
Ainda, a multiplicação por escalar
(5.18) | |||
(5.19) | |||
(5.20) |
também é feita elemento-a-elemento, assim como com arrays
Agora, para vetores, a multiplicação , divisão , potenciação não são operações definidas. Diferentemente, para arranjos são operações elemento-a-elemento
Funções vetoriais e funcionais também podem ser adequadamente modeladas com o emprego de arrays do NumPy. A biblioteca também conta com várias funções matemáticas predefinidas, consulte
A implementação da função vetorial
(5.21) |
para , pode ser feita da seguinte forma
Verifique!
O produto interno (ou, produto escalar) é a operação entre vetores definida por
(5.22) |
A função numpy.dot computa o produto interno dos arrays.
A norma de um vetor é definida por
(5.28) |
O submódulo de álgebra linear numpy.linalg contém a função numpy.linalg.norm para a computação da norma de arrays.
O produto vetorial entre dois vetores é definido por
(5.36) | |||
(5.39) | |||
(5.42) | |||
(5.45) |
A função numpy.cross computa o produto vetorial entre arrays (unidimensionais de 3 elementos).
Complete as lacunas.
Usualmente, vetores são computacionalmente modelados como numpy.array.
O produto interno de dois vetores alocados como arrays pode ser computado com o método numpy.dot.
A norma de um vetor alocado como um numpy.array pode ser computado com o método numpy.linalg.norm.
a) numpy.array; b) numpy.dot; c) numpy.linalg.norm;
Dica: use a função e verifique as computações calculando os resultados esperados.
Dica: use a função numpy.linalg.norm e verifique as computações calculando os resultados esperados.
Dados vetores e , temos que
(5.59) |
onde é o ângulo entre esses vetores. Implemente uma função que recebe dois vetores e retorna o ângulo entre eles. Teste seu código para diferentes vetores.
A projeção ortogonal do vetor na direção do vetor é definida por
(5.60) |
Implemente uma função que recebe dois vetores , e retorne a projeção de na direção de . Teste seu código para diferentes vetores.
Considere os vetores
(5.61) | |||
(5.62) |
Usando arrays do NumPy, compute os seguintes produtos vetoriais:
Dica: use a função numpy.cross e verifique as computações calculando os resultados esperados.
Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!
Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.