python numpy 学习笔记(9)

1.矩阵的相关操作

转置,求逆,组合

# -*- coding:utf-8 -*-
from numpy import *
A = mat('1 2 3; 4 5 6; 7 8 9')
#   构建一个矩阵
print A
print A.T
#   矩阵的转置
print A.I
#   求矩阵的逆矩阵
B = A * 2
C = bmat("A B; A B")
print C
#   分块矩阵的组合


2.使用斐波那契矩阵,黄金分割公式和定义式求解斐波那契数列

# -*- coding:utf-8 -*-
from numpy import *
F = matrix([[1, 1], [1, 0]])
for i in range(0, 8):
    print (F ** i)[0, 0],
print
#   用斐波那契矩阵表示斐波那契数列,是矩阵的连乘的第一个元素


n = range(1, 9)
sqrt5 = sqrt(5)
phi = (1 + sqrt5) / 2
fibonacci = rint((phi ** n - (-1/phi)** n) / sqrt5)
print fibonacci
#   用黄金分割公式得到斐波那契数列


Fa = [1, 1]
for i in range(6):
    Fa.append(Fa[-1] + Fa[-2])
print Fa
#   用定义式


3.绘制方波

理论依据傅里叶级数

import numpy as np
from matplotlib.pyplot import plot
from matplotlib.pyplot import show
import sys

t = np.linspace(-np.pi, np.pi, 201)
k = np.arange(1, 99)
k = 2 * k - 1
f = np.zeros_like(t)

for i in range(len(t)):
   f[i] = np.sum(np.sin(k * t[i])/k)
f = (4 / np.pi) * f
plot(t, f)
show()

值得注意的是:

linspace(a,b,c)可以得到从a至b均匀分布的c个点。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值