问题描述:
Matlab新手求救,如何提高这段程序的运算效率
m(1:115)=[1:115];
fname=cell(115,1);
M=zeros(321,528,115);
Mean=zeros(1,115);
stripeband=zeros(321,528,18);
Nostripeband=zeros(321,528,97);
stripebandmean=zeros(1,18);
Nostripebandmean=zeros(1,97);
upper1=zeros(321,528,1);
lower1=zeros(321,528,1);
upper2=zeros(321,528,97);
lower2=zeros(321,528,97);
upper=zeros(321,528,97);
upper2D=zeros(321,528);
lower12D=zeros(321,528);
upperall2D=zeros(321,528);
lower22D=zeros(321,528);
upper11=zeros(321,528,97);
lower11=zeros(1,1);
lower22=zeros(1,97);
upperall=zeros(1,97);
lowerall=zeros(1,97);
r=zeros(1,97);
jj=1;
kk=1;
for ii=1:length(m)
fname(ii)={strcat('波段',num2str(ii),'灰度图像')};
[K,mean]=Correlationcoefficient(char(fname(ii)));
M(:,:,ii)=K(200:520,112:639);
Mean(1,ii)=mean;
indicator(ii)=randindicator(char(fname(ii)));
if indicator(ii)>1.200000
stripeband(:,:,jj)=M(:,:,ii);
stripebandmean(1,jj)=Mean(1,ii);
jj=jj+1;
elseif indicator(ii)
m(1:115)=[1:115];
fname=cell(115,1);
M=zeros(321,528,115);
Mean=zeros(1,115);
stripeband=zeros(321,528,18);
Nostripeband=zeros(321,528,97);
stripebandmean=zeros(1,18);
Nostripebandmean=zeros(1,97);
upper1=zeros(321,528,1);
lower1=zeros(321,528,1);
upper2=zeros(321,528,97);
lower2=zeros(321,528,97);
upper=zeros(321,528,97);
upper2D=zeros(321,528);
lower12D=zeros(321,528);
upperall2D=zeros(321,528);
lower22D=zeros(321,528);
upper11=zeros(321,528,97);
lower11=zeros(1,1);
lower22=zeros(1,97);
upperall=zeros(1,97);
lowerall=zeros(1,97);
r=zeros(1,97);
jj=1;
kk=1;
for ii=1:length(m)
fname(ii)={strcat('波段',num2str(ii),'灰度图像')};
[K,mean]=Correlationcoefficient(char(fname(ii)));
M(:,:,ii)=K(200:520,112:639);
Mean(1,ii)=mean;
indicator(ii)=randindicator(char(fname(ii)));
if indicator(ii)>1.200000
stripeband(:,:,jj)=M(:,:,ii);
stripebandmean(1,jj)=Mean(1,ii);
jj=jj+1;
elseif indicator(ii)
问题解答:
我来补答展开全文阅读