Python中numpy删除矩阵的行或列、求矩阵的逆矩阵,转置矩阵

版权声明:个人原创,未经博主允许不得转载 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:表示把数组按一维数组平铺在进行索引删除
返回:一个新的子数组

猜你喜欢

转载自blog.csdn.net/weixin_40187450/article/details/88233715
今日推荐