#矩陣定義 m行*n列
import tensorflow as tf
data1=tf.constant([[6,6]])
data2=tf.constant([[2],
[2]])
data3=tf.constant([[3,3]])
data4=tf.constant([[1,2],
[3,4],
[5,6]])
matmul=tf.matmul(data1,data2)#矩陣相乘
matmul2=tf.multiply(data1,data3)#對應位置元素相乘
matadd=tf.add(data1,data3)#矩陣相加
print(data4.shape)#維度資訊
with tf.session() as sess:
print(sess.run(data4))#列印矩陣
print(sess.run(data4[0]))#列印某一行
print(sess.run(data4[:,0]))#列印某一列
print(sess.run(data4[0,1]))#列印第一行第二列 #mn從0開始
print('矩陣相乘',sess.run(matmul))
print('矩陣相加',sess.run(matadd))
print('矩陣對應元素相乘',sess.run(matmul2))
print(sess.run([matmul,matadd,matmul2]))#列印多個矩陣
特殊矩陣的定義
import tensorflow as tf
mat0=tf.constant([[0,0,0],[0,0,0]])
mat1=tf.zeros([2,3])#全0矩陣
mat2=tf.ones([2,3])#全1矩陣
mat3=tf.fill([2,3],15)#填充矩陣
with tf.session() as sess:
print('全0矩陣',sess.run(mat0))
print('0矩陣',sess.run(mat1))
print('全1矩陣',sess.run(mat2))
print('填充矩陣',sess.run(mat3))
mat2=tf.zeros_like(mat1)#維度與mat1相同
mat3=tf.lin_space(0.0,2.0,11)#等間距輸出
mat4=tf.random_uniform([2,3],-1,2)#2*3的隨機矩陣
Mat矩陣的初始化
在研究mat矩陣的初始化的時候,發現其不能像matx輕量級矩陣那樣,直接利用陣列來進行初始化,而是利用乙個內部的變數型別 scalar來進行初始化的。參考手冊中的建構函式如下所示 1 mat mat 2 mat mat int rows,int cols,int type 3 mat mat siz...
Mat矩陣的初始化
在研究mat矩陣的初始化的時候,發現其不能像matx輕量級矩陣那樣,直接利用陣列來進行初始化,而是利用乙個內部的變數型別 scalar來進行初始化的。參考手冊中的建構函式如下所示 1 mat mat 2 mat mat int rows,int cols,int type 3 mat mat siz...
特殊矩陣運算
問題描述 假設矩陣存在某種特殊運算,要求對矩陣任意乙個元素減1時,必須對其鄰居 上下左右 中的乙個同時減1。現給定乙個矩陣,要求判斷能否通過有限次特殊運算得到零矩陣 思路 回溯法。列舉所有可進行特殊運算的位置並以此遞迴,若出現元素小於0的情況則進行回溯。不用每次判斷零矩陣,只需要維護乙個計數變數cn...