矩阵及绘图

tensorflow的矩阵运算
#有的数据是事先定义好,有的需要实时插入
import tensorflow as tf
data1=tf.placeholder(tf.float32)
data2=tf.placeholder(tf.float32)
dataAdd=tf.add(data1,data2)
with tf.Session() as sess:
    print(sess.run(dataAdd,feed_dict={data1:6,data2:2}))
    
#参数一:运算后的张量
#参数二:追加的数据,用feed_dict{冒号后面的变量的参数}
print('end!')

矩阵定义:

  • M行N列,外面是[],里面的[]是列数据,[]整体代表一行
  • 定义一行两列数据:[[1,2]]
import tensorflow as tf
data1=tf.constant([[6,6]])#一行两列
data2=tf.constant([[2],[3]])#两行一列
data3=tf.constant([[1,2],[3,4],[5,6]])#三行两列

#打印矩阵
with tf.Session() as sess:
    print(sess.run(data3))#打印整个矩阵
    print(sess.run(data3[2]))#打印第3行的数据
    print(sess.run(data3[:,1]))#打印第2列的数据
    print(sess.run(data3[1,1]))#打印第二行第二列的数据
    # 0 代表第一行或第一列,从0开始递增

矩阵运算:
在这里插入图片描述

import tensorflow as tf
data1=tf.constant([[6,6]])
data2=tf.constant([[2],[2]])
data4=tf.constant([[1,2],[3,4],[5,6]])
data3=tf.constant([[3,3]])
matMul=tf.matmul(data1,data2)
matMul2=tf.multiply(data1,data2)
matAdd=tf.add(data1,data3)
with tf.Session() as sess:
    print(sess.run(matMul))#一维 data1:  1 X 2  data2: 2 X 1----->1 X 1,真正的矩阵乘法
    print(sess.run(matAdd))#一行两列,两个加数维数要相同
    print(sess.run(matMul2))#两行两列 ,对应元素相乘,维数不一定相同
    print(sess.run([matMul,matAdd]))#使用中括号,一次性打印多个值

特殊矩阵:

import tensorflow as tf
mat0=tf.constant([[0,0,0],[0,0,0]])#定义全为0的空矩阵

#当矩阵中数很多时,不能一个个输入
mat1=tf.zeros([10,10])#定义10X10的全零矩阵

#定义全一矩阵
mat2=tf.ones([4,4])#定义4X4的全一矩阵

#矩阵的填充
mat3=tf.fill([2,3],15)#生成2X3的矩阵,里面的值都为15

with tf.Session() as sess:
    print(sess.run(mat0))
    print(sess.run(mat1))
    print(sess.run(mat2))
    print(sess.run(mat3))
import tensorflow as tf
mat1=tf.constant([[1],[2],[3]])
mat2=tf.zeros_like(mat1)#生成一个全0矩阵,维度和mat1相同

#将0-2的数据分成相等的10分
mat3=tf.linspace(0.0,2.0,11)

#随机矩阵序列
mat4=tf.random_uniform([2,3],-1,2)#维度是2X3,范围是-1~2

with tf.Session() as sess:
    print(sess.run(mat2))
    print(sess.run(mat3))
    print(sess.run(mat4))
通过numpy模块使用矩阵
import numpy as np
data1=np.array([1,2,3,4])
data2=np.array([[1,2],[2,3]])
print(data1)
print(data2)
print(data2.shape,data2.shape)

#打印全0矩阵
print(np.zeros((2,3)))#两行三列
#打印全一矩阵
print(np.ones((3,4)))#三行四列
print(np.ones([2,3]))

#改
data2[1,0]=5
print(data2)

#查
print(data2[1,1])


#结果
"""
[1 2 3 4]
[[1 2]
 [2 3]]
(2, 2) (2, 2)
[[0. 0. 0.]
 [0. 0. 0.]]
[[1. 1. 1. 1.]
 [1. 1. 1. 1.]
 [1. 1. 1. 1.]]
[[1. 1. 1.]
 [1. 1. 1.]]
[[1 2]
 [5 3]]
3
"""

矩阵的基本运算:

import numpy as np
data3=np.ones((2,3))
print(data3*2)#对应相乘
print(data3/3)#并没有把结果赋给data3,所以操作还是基于单位矩阵
print(data3+2)#对应元素相加

data4=np.array([[1,2,3],[4,5,6]])
print(data3+data4)#对应元素相加

print(data3*data4)#对应元素相乘

#result:
"""
[[2. 2. 2.]
 [2. 2. 2.]]
[[0.33333333 0.33333333 0.33333333]
 [0.33333333 0.33333333 0.33333333]]
[[3. 3. 3.]
 [3. 3. 3.]]
[[2. 3. 4.]
 [5. 6. 7.]]
[[1. 2. 3.]
 [4. 5. 6.]]
"""
matplotlib模块的使用
import numpy as np
import matplotlib.pyplot as plt
x=np.array([1,2,3,4,5,6])
y=np.array([3,5,7,4,5,6])
plt.plot(x,y,'r')#绘制折线图
plt.plot(x,y,'b',lw=10)
#参数一:x轴坐标
#参数二:y轴坐标
#参数三:颜色
#参数四:折线的宽度

#t图标:折线,饼状,柱状



#实现柱状图
x=np.array([1,2,3,4,5,6,4,12,1,11,23])
y=np.array([3,5,7,4,5,6,4,6,8,3,5])
plt.bar(x,y,0.9,alpha=0.5,color='r')
#参数一:x
#参数二:y
#参数三:每个柱状的占有宽度比例
#参数四:透明度
#参数五:颜色
plt.show()

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值