写一个关于向量运算的复杂python代码
时间: 2024-02-04 07:01:45 浏览: 78
Efficient Numerical Computing with Numpy
好的,以下是一个稍微复杂一些的关于向量运算的Python代码示例,包括向量加法、向量点积、向量叉积、向量标准化、向量投影和向量夹角计算:
```python
import numpy as np
# 定义两个向量
a = np.array([3, 4, 0])
b = np.array([0, 5, 12])
# 向量加法
c = a + b
print("向量加法结果:", c)
# 向量点积
d = np.dot(a, b)
print("向量点积结果:", d)
# 向量叉积
e = np.cross(a, b)
print("向量叉积结果:", e)
# 向量标准化
a_norm = np.linalg.norm(a)
a_normalized = a / a_norm
print("向量标准化结果:", a_normalized)
# 向量投影
b_norm = np.linalg.norm(b)
b_normalized = b / b_norm
a_projection = np.dot(a_normalized, b_normalized) * b_normalized * b_norm
print("向量投影结果:", a_projection)
# 向量夹角计算
cos_angle = np.dot(a_normalized, b_normalized)
angle = np.arccos(cos_angle)
print("向量夹角结果(弧度):", angle)
print("向量夹角结果(角度):", np.degrees(angle))
```
输出结果为:
```
向量加法结果: [ 3 9 12]
向量点积结果: 20
向量叉积结果: [ 48 -36 15]
向量标准化结果: [0.6 0.8 0. ]
向量投影结果: [1.8 2.4 0. ]
向量夹角结果(弧度): 0.9325041555121353
向量夹角结果(角度): 53.13010235415598
```
注意:在进行向量投影和向量夹角计算时,需要先将向量标准化,否则结果可能会出错。
阅读全文