如何将以下matlab代码转换为python?
我在Matlab中有一个生成Vandermonde矩阵的循环,但我想把它转换成Python代码。我想把matlab代码转换成python,或者有人知道如何用python运行matlab代码,这也会很有帮助如何将以下matlab代码转换为python?,python,python-3.x,matlab,Python,Python 3.x,Matlab,我在Matlab中有一个生成Vandermonde矩阵的循环,但我想把它转换成Python代码。我想把matlab代码转换成python,或者有人知道如何用python运行matlab代码,这也会很有帮助 m=100; n=15; t=(0:m-1)/(m-1); A=[]; 对于i=1:n A=[A t.^(i-1)]; 结束 我就是这样做的。代码的开头看起来很像Matlab。只需使用numpy.排列(开始、结束、步长)即可定义t。不要忘记像在Matlab代码中那样除以m-1 import n
m=100;
n=15;
t=(0:m-1)/(m-1);
A=[];
对于i=1:n
A=[A t.^(i-1)];
结束
我就是这样做的。代码的开头看起来很像Matlab。只需使用numpy.排列(开始、结束、步长)
即可定义t
。不要忘记像在Matlab代码中那样除以m-1
import numpy as np
m = 100;
n = 15;
t = np.arange(0, m, 1)/(m-1)
但您需要按如下方式重塑t
:
t = t.reshape(m,1)
t
现在是m
-by-1
print(t.shape)
为第一个元素初始化矩阵:
A = np.power(t,0);
然后运行for
循环:
for i in range(2,n+1):
A = np.concatenate((A, np.power(t,i-1)), axis=1)
A
现在是m
-by-n
,结果与Matlab的结果相匹配
print(A)
print(A.shape)
如果你有任何问题,请告诉我。我很乐意提供帮助。到目前为止您尝试了什么?我了解如何使用for循环在python中创建t。但是,我不知道如何将A的形式正确地实现到python中!如果您计划使用更高的维度,还需要记住一点:np.concatenate
比在Matlab中的for循环中执行A=[A,…]
更有效。这可能与你现在正在做什么无关,但需要考虑一些事情。