我在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
现在是m
by-n
,并且结果与Matlab的结果相匹配。
print(A)
print(A.shape)
如果你有任何问题,请告诉我。我很乐意帮忙。