版权声明:个人原创,未经博主允许不得转载 https://blog.csdn.net/weixin_40187450/article/details/88233715
矩阵A=[[2,1,-5,1],[1,-3,0,-6],[0,2,-1,2],[1,4,-7,6]],输入一个行数a和一个列数b,输出矩阵A1,其中,矩阵A1是矩阵A去掉第a的行和b列所得矩阵
import numpy as np
import numpy.linalg as lg
A = np.array([[2,1,-5,1],[1,-3,0,-6],[0,2,-1,2],[1,4,-7,6]])
try:
a = int(input("请输入一个行数:"))
b = int(input("请输入一个列数:"))
except:
print("行或列必须为数字!")
else:
if (a - 1) <= A.shape[0] and (a - 1) >= 1 and (b - 1) <= A.shape[1] and (b - 1) >= 1:
A1 = np.delete(A, a - 1, axis=0)
A1 = np.delete(A1, b - 1, axis=1)
print("删除第", (a-1), "行和第", (b-1), "列后的矩阵为:", A1)
else:
print("行数或列数超出矩阵行列数!")
print("A的逆矩阵为:", lg.inv(A))
print("A矩阵转置后为:", np.transpose(A))
提示,为避免numpy以科学计数法输出结果,可在开始加入如下代码:numpy.set_printoptions(suppress=True)
关于numpy.delete(arr, obj, axis)参数:
arr:输入数组
obj:切片,整数,表示哪个子数组要被移除
axis:删除子数组的轴
axis = 0:表示删除数组的行
axis = 1:表示删除数组的列
axis = None:表示把数组按一维数组平铺在进行索引删除
返回:一个新的子数组