Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将MATLAB函数转换为python_Python_Matlab_Numpy_Matrix_Mean - Fatal编程技术网

将MATLAB函数转换为python

将MATLAB函数转换为python,python,matlab,numpy,matrix,mean,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,

我正在尝试将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
欢迎来到python

在python中,我们希望代码简单、简洁且性能良好。特别是在使用numpy时,您应该打破可能习惯于用其他语言思考的for循环模型

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

幸运的是,numpy很漂亮,我非常想向您展示您上面编写的代码有多简单。具体来说,就是从该列中的每个元素中减去每列的平均值

看看这有多容易:

centered_matrix = numpy.subtract(y, numpy.mean(y, axis=0)) 
你听到了吗?在numpy中,您真的不应该使用for循环。你只需说出你的意思,它就能很好地发挥作用。希望你再也不用回到MATLAB了


如果您有任何问题,请告诉我。

为什么定义
b
,然后不使用它做任何事情?有趣的是,在Matlab中,人们也喜欢代码简单、简洁、性能好。而且那里也不需要对循环使用
。不管你的语气如何,谢谢你解释错误性质的实际性质(从一个索引)并展示如何删除循环。@霍奇勒我很清楚,有人编写了漂亮的MATLAB代码,我不是说python重视这些东西,而MATLAB不重视这些东西,我只是说python重视它们。