群细胞在一个矩阵的平均值

10视图(30天)
嗨,我有一个问题,可能souund傻,但我是一个初学者在MATLAB。我有一个20 x20的矩阵。我想找到每个4行和列的平均值,例如(1:4,1:4),那么(1:4,8),…(1:4,十六20),然后继续下一组,直到我找到最后一组的平均值为(十六20,十六20),然后我想把它们放在一个列表。我知道这可以很容易地在一个for循环(或者两个for循环),但我仍然困惑怎么做。感谢任何帮助。我把一个图来缓解想象的问题。
我迄今为止:
i = 1:4:20
意思是((我+ 3,我:+ 3),“所有”)
结束
但这给对角组的平均只!
1评论
Sulaymon Eshkabilov
Sulaymon Eshkabilov 2021年6月1日
看一看这帮助讨论意味着calc的细胞阵列:
//www.tianjin-qmedu.com/matlabcentral/answers/315835-mean-values-of-cell-arrays

登录置评。

接受的答案

雅各布·b·尼尔森
雅各布·b·尼尔森 2021年6月1日
编辑:雅各布·b·尼尔森 2021年6月1日
你是正确的!你确实想要使用两个for循环,因为你想在二维空间中执行操作。
一个for循环可以指定任何大小的采取措施。你想要的步骤4,你指定它,说因为我= 1:4:17这意味着我从1开始,采取措施4每一个增量,直到你达到17。17你说什么?是的,因为如果你从17日开始,然后添加3内的循环,你打20:)(注意,你也可以为我写= 1:4:20但它将停留在17岁,所以停止在17脚本看起来更漂亮)。
现在显而易见的挑战是你失去动态的能力指数结果在循环中,循环计数器跳跃以来4。我相信比我更聪明的人有一个聪明的路要走,但我通常只是让自己的柜台,我可以增加1每循环迭代…
x =兰德(20、20);%的例子只是一个20 20随机数
counter1 = 1;%我循环计数器,从1开始
counter2 = 1;
i = 1:4:20%这给你一个维度,所以行,或沿着列
j = 1:4:20%这里得到第二个维度
%现在可以在步骤4中,执行操作和索引
%定制计数器。你从j j + 3,它给你从1
% 4第一个去,5到8下等等。
x_avg (counter1 counter2) =意味着(x (j + 3,我:我+ 3),“所有”);
counter1 = counter1 + 1;%增加——但只是在柜台
%在j循环“j”方向
结束
%后我们完成了第一个完整的循环,重置计数器“j”
% 1,增量的“我”计数器1:
counter1 = 1;
counter2 = counter2 + 1;
结束
x_avg
x_avg = 5×5
0.3931 0.4310 0.4580 0.4599 0.5289 0.5822 0.4888 0.5388 0.4468 0.4828 0.4249 0.3541 0.7382 0.5458 0.5082 0.5691 0.5263 0.5633 0.5252 0.5271 0.5705 0.4402 0.5685 0.4782 0.5115
1评论
穆罕默德Aljarrah
穆罕默德Aljarrah 2021年6月1日
非常感谢你的回答。我非常欣赏它。
我也做了一个代码列表的值,因为我需要它作为一个列表:
就像:
k = 1;
i = 1:4:20
j = 1:4:20
:z (k) =意味着(a2(我:+ 3,j: + 3),“所有”);
k = k + 1;
结束
结束

登录置评。

更多的答案(0)

类别

找到更多的在循环和条件语句帮助中心文件交换

s manbetx 845


释放

R2020b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的