如何将以下matlab代码转换为python



我在Matlab中有一个生成Vandermonde矩阵的循环,但我想将其转换为Python代码。我想把matlab代码转换成python,或者有人知道如何在python中运行matlab代码,这也很有帮助。

m = 100; 
n = 15; 
t = (0:m-1)'/(m-1); 
A = []; 
for i = 1:n
A  = [A  t.^(i-1)]; 
end

我就是这么做的。代码的开头看起来很像Matlab。只需使用numpy.arrange(start, end, step_size)来定义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矩阵:

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现在是mby-n,并且结果与Matlab的结果相匹配。

print(A)
print(A.shape)

如果你有任何问题,请告诉我。我很乐意帮忙。

相关内容

  • 没有找到相关文章

最新更新