www.qcfz.net > 如何用mAtlAB求矩阵的子矩阵均值

如何用mAtlAB求矩阵的子矩阵均值

clear r=480; %行数 c=640; dm=ones(r,c);% 自己改数据 sr=8; %块行数 sc=16; %块列数 m=zeros(r-sr+1, c-sc+1); for i=1:(r-sr+1) for j=1:(c-sc+1) tmp=dm(i:i+sr-1,j:j+sc-1); m(i,j)=mean(tmp(:)); end end m

用mean(a,1)或者mean(a,2)函数求矩阵a均值,再用cumsum函数可以累加。 具体代码如下: >> A=rand(3) a=mean(A,1) %按列平均 b=mean(A,2) %按行平均 c=mean(A(:)) %全部平均 A = 0.8134 0.8940 0.2876 0.7185 0.9507 0.9264 0.5008 0.4624 0.4963...

直接用简单的命令,我想不出来要怎么么写,只能用for循环来替代了 clc;clear;A = 1:9;A = reshape(A,3,3)'B = [ 1 1 ; 2 2 ; 3 3 ];a = size(B,1);for i = 1:a tmp(i) = A( B(i,1) , B(i,2) ); endmean(tmp)

用mean(a,1)或者mean(a,2)函数求矩阵a均值,再用cumsum函数可以累加。 具体代码如下: >> A=rand(3) a=mean(A,1) %按列平均 b=mean(A,2) %按行平均 c=mean(A(:)) %全部平均 A = 0.8134 0.8940 0.2876 0.7185 0.9507 0.9264 0.5008 0.4624 0.4963...

假设a是你要求的矩阵,sum(sum(a))/numel(find(a~=0))

m=1:100; p=ones(20,1); for i=1:20 x=5*(i-1); p(i,1)=mean(m(x+1:1:x+5)); end p

可以用dir函数,读取文件夹中所用你要用到的文件的文件名,然后在for循环一次读取每个矩阵 类似于 file=dir('*.txt'); for k=1:length(file) fid=fopen(file(k).name,'r'); ...

M = mean(A) 返回沿数组中不同维的元素的平均值。 如果A是一个向量,mean(A)返回A中元素的平均值。 如果A是一个矩阵,mean(A)将中的各列视为向量,把矩阵中的每列看成一个向量,返回一个包含每一列所有元素的平均值的行向量。 如果A是一个多元数...

用mean函数可以求每一列的平均值 求每一行的平均值可以矩阵转置的方法 ======================== 对矩阵A, mean(A)%每一列的平均值 mean(A')%每一行的平均值 ================== for循环复制数组A for i = 1:max(size(A)) B(i) = A(i) end

Aindex = find(A == 16); A16mean = mean(B(Aindex )); 可以把16对应的给找出来 并平均

网站地图

All rights reserved Powered by www.qcfz.net

copyright ©right 2010-2021。
www.qcfz.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com