设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 7658|回复: 6
打印 上一主题 下一主题

关于矩阵求逆

[复制链接]

2

主题

0

好友

38

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2020-4-6 14:48:40 |只看该作者 |倒序浏览
想请问下含有变量的矩阵如何求逆矩阵?
CM  =[[cos(theta), cos(theta-2*pi/3.), cos(theta+2*pi/3.), cos(theta-pi/6.), cos(theta-5*pi/6.),cos(theta+pi/2.)],
       [-sin(theta),  -sin(theta-2*pi/3.), -sin(theta+2*pi/3.), -sin(theta-pi/6.),-sin(theta+pi/2.), -sin(theta+pi/2.)],
       [1,  -0.5, -0.5,-rsqrt1 ,rsqrt1 ,0],
       [0, -rsqrt1 ,rsqrt1 , 0.5 , 0.5 ,-1],
       [1, 1, 1, 0, 0, 0 ],
       [0, 0, 0, 1, 1,1]]
矩阵含有余弦函数,theta是未知数,

回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2020-4-7 14:03:17 |只看该作者
建议你用 numpy 模块,求逆矩阵只要一行代码
网上搜下“python 逆矩阵”就有一堆演示代码

然后,矩阵里有变量对于计算没有任何影响。变量在执行时都要赋值的。你不赋值的话,那就不是逆矩阵的问题了,那本来就没法执行代码
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2020-4-7 14:03:40 |只看该作者
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

2

主题

0

好友

38

积分

新手上路

Rank: 1

地板
发表于 2020-6-18 15:50:13 |只看该作者
本帖最后由 那小子真黑 于 2020-6-19 13:36 编辑

i
回复

使用道具 举报

2

主题

0

好友

38

积分

新手上路

Rank: 1

5#
发表于 2020-6-18 15:50:40 |只看该作者
本帖最后由 那小子真黑 于 2020-6-19 13:38 编辑
crossin先生 发表于 2020-4-7 14:03
https://www.cnblogs.com/chamie/p/4870078.html

import numpy as np
C = (1/3)*6**0.5*np.array([[0.9914448614, 0.1305261922],
              [-0.3826834324, -0.9238795325],
              [-0.608761429, 0.7933533403]])
Luvw = np.array([[6.1109e-5, -2.3866e-5, -2.3883e-5],
              [-2.3866e-5, 6.1167e-5, -2.3925e-5],
              [-2.3883e-5, -2.3925e-5, 6.1207e-5]])

np.set_printoptions(suppress=True)
Ct = print(Luvw.T)
L = np.dot(Ct,Luvw)
L1 = np.dot(L,C)
print(L1)
、、、、、、、、、、、、、、、、、
上面的代码是想实现矩阵C的转置矩阵乘以Luvw矩阵乘以C矩阵,但运行总报错,不知道如何改正。
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

6#
发表于 2020-6-19 14:29:43 |只看该作者
那小子真黑 发表于 2020-6-18 15:50
import numpy as np
C = (1/3)*6**0.5*np.array([[0.9914448614, 0.1305261922],
              [-0.38268 ...

Ct = Luvw.T

不要加print,print是没有返回值的。如果想看结果就写

Ct = Luvw.T
print(Ct)
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

2

主题

0

好友

38

积分

新手上路

Rank: 1

7#
发表于 2020-6-19 17:39:59 |只看该作者
crossin先生 发表于 2020-6-19 14:29
Ct = Luvw.T

不要加print,print是没有返回值的。如果想看结果就写

好的,我试试看,谢谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-12-4 00:46 , Processed in 0.023696 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部