将MATLAB函数转换为python

时间:2014-02-08 06:45:07

标签: python matlab numpy matrix mean

我正在尝试将MATLAB中的以下代码转换为Python。

y = data(1:60000,6);
b = zeros(size(y));
for i = 1:size(y,1),
  ymean = mean(y(i,:));
  y(i,:) = y(i,:) - ymean;

感谢您转换代码的任何帮助。

这是我迄今为止开发的代码,

b = zeros(size(z)) 
for i in range(1,size(z)): 
    ymean = numpy.mean(y(i,:)) 
    y(i,:) = y(i,:) - ymean

1 个答案:

答案 0 :(得分:3)

欢迎使用python!

在python中,我们希望代码简单,简洁,高效。特别是当使用numpy时,你应该打破你可能习惯用其他语言思考的for循环模型。

此外,我们从0开始编制索引,就像绝大多数语言一样。如果您首先解释您试图解决的问题,那么大多数社区可能会更加感激,而不是要求我们翻译MATLAB代码。

幸运的是,numpy很漂亮,我强烈要求你告诉你上面写的代码有多简单。具体来说,您要从该列中的每个元素中减去每列的平均值。

注意这是多么容易:

centered_matrix = numpy.subtract(y, numpy.mean(y, axis=0)) 
你抓到了吗?在numpy中,你真的不应该使用for循环。你可以说出你的意思,它的作用非常好。这里希望你再也不用回MATLAB了。

如果您有任何问题,请与我们联系。