python实现类似于Matlab中的magic函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python实现类似于Matlab中的magic函数相关的知识,希望对你有一定的参考价值。

参考这篇文章的代码封装了一个类似Matlab中的magic函数,用来生成魔方矩阵。

 

#!/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)

  

 

测试结果

技术分享

 

Matlab

技术分享

 

 

magic(7)

技术分享

 

Matlab

 技术分享

 

以上是关于python实现类似于Matlab中的magic函数的主要内容,如果未能解决你的问题,请参考以下文章

python里面类似于Matlab中的fminunc方法或minfunc方法叫啥名字,怎么调用

如何访问数组并将其存储在python中的单个数组中(类似于matlab中的单元格)

如何在 Python 中读取类似于 Matlab audioread 的音频文件?

python如何实现类似matlab的小波滤波?

Softmax函数原理及Python实现

如何有效地处理类似于 Matlab 的 blkproc (blockproc) 函数的块中的 numpy 数组