matlab累加数组的前n行,有一组m行n列的数组,在matlab中如何编程,每三个数求一次平均数(行与列分别求)?...

有一组m行n列的数组,在matlab中如何编程,每三个数求一次平均数(行与列分别求)?

关注:216  答案:3  手机版

解决时间 2021-03-05 21:45

提问者繁华落尽

2021-03-05 00:52

有一组m行n列的数组,在matlab中如何编程,每三个数求一次平均数(行与列分别求)?

最佳答案

二级知识专家北方尋麓

2021-03-05 01:38

你的三个数 是不是一行中的 1 2 3求平均值 然后4 5 6 求平均值??如果是的话

[m,n]=size(A);%%%%有一组m行n列的数组

b=A(1:end-2,:);

c=A(2:end-1,:);

d=A(3:end,:);

hang=(b+c+d)/3;%%行平均值

列同理

全部回答

1楼癡情菂尐豬豬

2021-03-05 03:31

给你一个非常完整的程序,基本上考虑了各种可能

程序:

clear

clc

m = input('输入m:');

n = input('输入n: ');

A = rand(m,n); %%%%%% 你未给出矩阵,我就自己产生个随机的,自己替换

AA = A(:);

%%%%%%%%% 按行取3个平均 %%%%%%%

disp('按行取还是按列取?')

disp('按行选择1,按列选择2.')

choose = input('选择:');

switch choose

case 1

temp = A(:);

AA = temp';

case 2

AA = A(:);

otherwise

disp('error input!')

end

if mod(length(AA),3)==0

myend = length(AA);

else

myend = length(AA)-3;

end

jj = 1;

for ii = 1:3:myend

cxd1 = AA(ii:ii+2);

BB(jj) = mean(cxd1);

jj = jj+1;

end

yushu = mod(m*n,3);

switch yushu

case 0

disp('取平均后的结果:')

BB

case 1

disp('取平均后的结果:')

BB

disp('多余一个数值:')

disp(AA(end))

case 2

disp('取平均后的结果:')

BB

disp('多余两个数值:')

disp(AA(end-1:end))

end

结果事例:

输入m:4

输入n: 4

按行取还是按列取?

按行选择1,按列选择2.

选择:1

取平均后的结果:

BB =

0.5091 0.7736 0.5238 0.4586 0.7605

多余一个数值:

0.9823

copyright(c) cxd1301

2楼久而旧之

2021-03-05 02:27

你好!

你的三个数 是不是一行中的 1 2 3求平均值 然后4 5 6 求平均值??如果是的话

[m,n]=size(A);%%%%有一组m行n列的数组

b=A(1:end-2,:);

c=A(2:end-1,:);

d=A(3:end,:);

hang=(b+c+d)/3;%%行平均值

列同理

希望对你有所帮助,望采纳。

我要举报

如以上信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!

推荐资讯

大家都在看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值