import cProfile import pstats def UtiFml(A): D=np.linalg.det(A)#calculer le déterminant def Min(A,i,j): #calculer le mineur de A(i,j) up=np.hstack((A[:i,:j],A[:i,j+1:])) lo=np.hstack((A[i+1:,:j],A[i+1:,j+1:])) N=np.vstack((up,lo)) return((-1)**(i+j))*np.linalg.det(N) def tComatrice(A): Comat=np.zeros((10,10)) tComat=np.zeros((10,10)) for i in range(10): for j in range(10): Comat[i,j]=Min(A,i,j)#obtenir la comatrice for i in range(10): for j in range(10): tComat[i,j]=Comat[j,i] #faire la transposition return tComat tComatrice=tComatrice(A) return(1/D*(tComatrice)) # 运行函数并记录 profile 数据 pr = cProfile.Profile() pr.enable() UtiFml(M) pr.disable() # 对 profile 数据进行统计和分析 stats = pstats.Stats(pr) stats.strip_dirs() stats.sort_stats('cumulative') stats.print_stats()这段代码我想修改一下,使它只要输出函数调用次数和所花时间就可以了,如何修改
时间: 2024-02-29 09:51:32 浏览: 81
你可以使用以下代码来输出函数的调用次数和所花时间:
```python
import cProfile
import pstats
def UtiFml(A):
D = np.linalg.det(A)
def Min(A,i,j):
up = np.hstack((A[:i,:j],A[:i,j+1:]))
lo = np.hstack((A[i+1:,:j],A[i+1:,j+1:]))
N = np.vstack((up,lo))
return((-1)**(i+j))*np.linalg.det(N)
def tComatrice(A):
Comat = np.zeros((10,10))
tComat = np.zeros((10,10))
for i in range(10):
for j in range(10):
Comat[i,j] = Min(A,i,j)
for i in range(10):
for j in range(10):
tComat[i,j] = Comat[j,i]
return tComat
tComatrice = tComatrice(A)
return(1/D*(tComatrice))
pr = cProfile.Profile()
pr.enable()
UtiFml(M)
pr.disable()
# 输出函数调用次数和所花时间
pr.print_stats()
```
这样,你就可以只输出函数调用次数和所花时间了。
阅读全文