python實現相似於Matlab中的magic函數

參考這篇文章的代碼封裝了一個相似Matlab中的magic函數,用來生成魔方矩陣。python

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import numpy as np

def magic(n):
    row,col=0,n//2
    magic=[]
    for i in range(n):  
        magic.append([0]*n)
    magic[row][col]=1  
    for i in range(2,n*n+1):  
        r,l=(row-1+n)%n,(col+1)%n      
        if(magic[r][l]==0):
            row,col=r,l         
        else: 
            row=(row+1)%n  
        magic[row][col]=i
    marray = np.array(magic)
    return marray


if __name__ == '__main__':
    y = magic(7)
    print y
    print type(y)

  

 

測試結果app

 

Matlab函數

 

 

magic(7)測試

 

Matlab.net

 

相關文章
相關標籤/搜索