matlab左除怎么输入法,python 实现matlab左除
python 实现matlab左除
import numpy as np
import scipy
def mldivide_new(A,b):
[mm,nn]=np.shape(A)
ss=np.shape(b)[1]
x=np.zeros((nn,ss))
if np.shape(A)[0]==np.shape(A)[1]:
if A==np.tril(A):
for ii in range(ss):
x[:,ii]=backward_sub(A,b[:,ii])
return
elif A==np.triu(A):
for ii in range(ss):
x[:,ii]=backward_sub(A,b[:,ii])
return
else:
if A==A.T:
[R,p]=np.linalg.cholesky(A)
if (p==0):
for ii in range(ss):
x[:,ii]=backward_sub(R,forward_sub(R.T,b[:,ii]))
return
[L,U,P]=scipy.linalg.lu(A)
for ii in range(ss):
x[:,ii]=backward_sub(U,forward_sub(L,P.dot(b[:,ii])))
return
else:
print(np.shape(A))
[Q,R]=np.linalg.qr(A)
Q=np.hstack((Q,np.array([[ii] for ii in Q[:,-1]])))
R=np.vstack((R,R[-1,:]))
Q[np.abs(Q)<=2.261143e-14]=0
R[np.abs(R)<=2.261143e-14]=0
print(np.shape(Q))
print(np.shape(R))
print(Q)
print("R=", R)
for jj in range(ss):
print(np.shape(x))
x1 = backward_sub(R, Q.T.dot(b[:, jj]))
x1=[i[0] for i in x1]
x[:,jj]=x1
return x
return x
def forward_sub(A,b):
[m,n]=np.shape(A)
x=np.zeros((n,1))
for i in range(0,n):
if np.abs(A[i,i])>=2.261143e-14:
x[i]=(b[i]-A[i,0:i-1].dot(x[0,i-1]))/A[i,i]
elif b[i]-A[i,0:i-1].dot(x[0:i-1])==0:
x[i]=0
return x
def backward_sub(A,b):
[m, n] = np.shape(A)
x = np.zeros((n, 1))
for i in range(n-1,-1,-1):
print(int(A[i,i]))
print(type(A[i,i]))
if int(A[i,i])!=0:
x[i]=(b[i]-A[i,i+1:-1].dot(x[i+1:-1]))/A[i,i]
elif b[i]-A[i,i+1:-1].dot(x[i+1:-1])==0:
x[i]=0
return x
if __name__=='__main__':
A=np.ones((10,9))*10
B=np.ones((10,3))*3
x=mldivide_new(A,B)
print(x)
这里面应该有bug,请大神们,指点一二。
点赞
收藏
分享
文章举报
qestion_yz_10086
发布了69 篇原创文章 · 获赞 2 · 访问量 1662
私信
关注
matlab左除怎么输入法,python 实现matlab左除相关推荐
- python版本和Matlab版本对应的关系,python调用matlab
调用的话参考 https://blog.csdn.net/m0_37316917/article/details/90256563 https://zhuanlan.zhihu.com/p/67127 ...
- 物理学常数 matlab,[转载]科学计算:Python VS. MATLAB(6)----物理常数
科学计算:Python VS. MATLAB(6)----物理常数 物理常数亦被称为物理学常量或自然常数,指的是物理学中数值固定不变的物理量,是一个与物理测量无关的固定值.物理常数有很多,其中比较著名 ...
- matlab filter函数原理,基于python实现matlab filter函数过程详解
matlab中的filter函数: y = filter(b,a,x) python实现matlab中的filter函数 def filter_matlab(b,a,x): y = [] y.appe ...
- matlab tic toc 分段计时,Python模仿matlab的tic/toc计时
python有自己的timeit模块,但是用惯了matlab的tic/toc,模仿了一个,需要用到globals()函数. python有自己的timeit模块,但是用惯了matlab的tic/toc ...
- matlab读取plt文件吗,Python使用Matlab命令过程解析
为了在python中使用matlab命令,也就是import numpy as np 和 import matplotlib.pyplot as plt这两个命令能运行,需要在cmd命令窗口输入 pi ...
- Python与Matlab算法学习一文通(快速排序算法)(更新中)
想利用一些空余时间学一学python与matlab,与同学建立不知道能坚持多久的学习联盟,每周一部分题目,利用一周时间完成原理文档与程序编写.由于主要研究方向为其他方向,因此只会利用很少的空闲时间来学 ...
- 聚类的外部指标(Purity, ARI, NMI, ACC) 和内部指标(NCC,Entropy,Compactness,Silhouette Index),附代码 (Python 和 Matlab)
聚类性能评估的外部指标和内部指标,附代码 (Python 和 Matlab) 文章目录 聚类性能评估的外部指标和内部指标,附代码 (Python 和 Matlab) 1 外部指标 1.1 Purity ...
- python矩阵左除_技术图文:Matlab VS. Numpy 矩阵基本运算
背景 前段时间在知识星球上立了一个Flag,至少写10篇关于 Python,Matlab 和 C# 对比的总结. 这是第 3 篇,对比 Matlab 与 Numpy 在矩阵基本运算方面的区别与联系. ...
- 范德蒙德矩阵在MATLAB中怎么表示,Python 之 Python与MATLAB 矩阵操作总结
Python 之 Python与MATLAB 矩阵操作小结 一.线形代数理论基础 线形代数(linear algebra)是数学的一个分支,研究矩阵理论.向量空间.线性变换和有限维线形方程组等内容. ...
最新文章
- iOS常用第三方开源框架和优秀开发者博客等
- 区块链今年,胜过过去十年
- Spring3 表达式语言(SpEL)介绍
- 使用自定义的按钮替换默认的input type='file'
- 全球及中国新鲜芒果制品市场投资份额与营销渠道分析报告2022版
- 浅聊程序化世界构建流程
- linux中临时、永久修改ip
- 第12秒做视频封面:阿里云视频截帧功能
- Linux hypervisor VMM介绍
- LayUI2.2.5中文离线文档(免费免费免费)
- 微信360全景图片怎么制作?
- 虚拟串口服务器连接485转网口,串口服务器 串口转以太网 RS232转以太网 485转以太网 串口转网口...
- 【过关斩将】面试官的八个举动,暗示你已经通过了面试
- tar压缩和解压文件或文件夹
- Falsy Bouncer(算法)
- 观《五星大饭店》有感
- 2023最新最新ChatGPT超全面从基础到实战视频教程/有兴趣自己学
- MySQL数据库中如何查询分组后每组中的最后一条记录?
- 微信视频号视频怎么下载?
- Navicat导出错误(ORA-00911: invalid character)