解释matlab代码计算适应度Init=randn(128,256); % load Init2; %采样30%,77*256 %%返回一个128*256的随机项矩阵.% load init1; %采样50%,128*256sen=Init;% 观测矩阵[xx yy]=size(T);%读取字典大小 %%确定矩阵T的维数行为xx
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/22 02:43:18
![解释matlab代码计算适应度Init=randn(128,256); % load Init2; %采样30%,77*256 %%返回一个128*256的随机项矩阵.% load init1; %采样50%,128*256sen=Init;% 观测矩阵[xx yy]=size(T);%读取字典大小 %%确定矩阵T的维数行为xx](/uploads/image/z/5390785-1-5.jpg?t=%E8%A7%A3%E9%87%8Amatlab%E4%BB%A3%E7%A0%81%E8%AE%A1%E7%AE%97%E9%80%82%E5%BA%94%E5%BA%A6Init%3Drandn%28128%2C256%29%3B+%25+load+Init2%3B+%25%E9%87%87%E6%A0%B730%25%2C77%2A256+%25%25%E8%BF%94%E5%9B%9E%E4%B8%80%E4%B8%AA128%2A256%E7%9A%84%E9%9A%8F%E6%9C%BA%E9%A1%B9%E7%9F%A9%E9%98%B5.%25+load+init1%3B+%25%E9%87%87%E6%A0%B750%25%2C128%2A256sen%3DInit%3B%25+%E8%A7%82%E6%B5%8B%E7%9F%A9%E9%98%B5%5Bxx+yy%5D%3Dsize%28T%29%3B%25%E8%AF%BB%E5%8F%96%E5%AD%97%E5%85%B8%E5%A4%A7%E5%B0%8F+%25%25%E7%A1%AE%E5%AE%9A%E7%9F%A9%E9%98%B5T%E7%9A%84%E7%BB%B4%E6%95%B0%E8%A1%8C%E4%B8%BAxx)
解释matlab代码计算适应度Init=randn(128,256); % load Init2; %采样30%,77*256 %%返回一个128*256的随机项矩阵.% load init1; %采样50%,128*256sen=Init;% 观测矩阵[xx yy]=size(T);%读取字典大小 %%确定矩阵T的维数行为xx
解释matlab代码计算适应度
Init=randn(128,256);
% load Init2; %采样30%,77*256 %%返回一个128*256的随机项矩阵.
% load init1; %采样50%,128*256
sen=Init;% 观测矩阵
[xx yy]=size(T);%读取字典大小 %%确定矩阵T的维数行为xx 列为yy
atom=T;%冗余字典
Dhat=sen*atom;
cancha=zeros(Ps,1);%残差信号
qun=ceil(rand(SP,Ps).*K);
%计算种群中各个个体的适应度
for k=1:Ps
di=qun(:,k);
A=Dhat(:,di);
a=pinv(A)*yy; %%pinv求矩阵的广义逆
residual=yy-A*a;
cancha(k)=1/sum(residual.^2); %残差的倒数,即残差越小,适应度值越高
end
Init2 Init1是什么东东呢?
di是个32*1的矩阵,qun是128*4745的矩阵 ,A=Dhat(:,di);这句话是什么意思?
for循环中的代码不太懂意思,
解释matlab代码计算适应度Init=randn(128,256); % load Init2; %采样30%,77*256 %%返回一个128*256的随机项矩阵.% load init1; %采样50%,128*256sen=Init;% 观测矩阵[xx yy]=size(T);%读取字典大小 %%确定矩阵T的维数行为xx
Init2 Init1 应该是两个后缀为.mat的文件,放在当前.m文件的同一目录下.load可以加载里面的数据
Dhat应该是一个大矩阵吧.意思是从Dhat里面取出一些列拼成A矩阵,而要取的列的序号就存在向量di中.也就是说,A是一个32列的矩阵,具体是Dhat中的那些列,就看di里的内容了
不懂什么是适应度