while ~isempty(indexs(flags)) temp_index = indexs(flags); source = y(:,temp_index(1)); flags(temp_index(1)) = 0; temp_index = temp_index(1:end); temp_flag = []; for i = 1: length(temp_index) % corrs = corrcoef(source,y(:,temp_index(i)));%矩阵相关系数 % corrs = corrs(1,2); % if corrs >= threshold_corr % temp_flag(end+1) = i; source_mean=mean(source) y(:,temp_index(i)).mean = mean (y(:,temp_index(i))) % sim = dot(source,y(:,temp_index(i)))/(norm(source)*norm(y(:,temp_index(i)))); sim = dot(source-source_mean,y(:,temp_index(i))-y(:,temp_index(i)).mean)/(norm(source-source_mean)*norm(y(:,temp_index(i))-y(:,temp_index(i)).mean)); orthoSim = 1-sim; if orthoSim>= threshold_sim && orthoSim >= 0 && orthoSim <= 1 % if sim >= threshold_sim && sim >= 0.7 && sim <= 1 temp_flag(end+1) = i; end end怎么修改下呢,一直出现无法执行赋值,因为此类型的变量不支持使用点进行索引。
时间: 2023-06-16 14:05:15 浏览: 94
CRC.zip_CRC MATLAB_CRC编码matlab_crc_matlab_matlab crc
这个错误是因为你在尝试对一个列向量使用`.mean`进行索引,但是列向量不支持使用点进行索引。你可以将其改为使用括号进行索引,如下所示:
```
source_mean = mean(source);
y_mean = mean(y(:,temp_index(i))); % 使用括号进行索引
```
同样的,你在计算`sim`和`orthoSim`时也需要将其改为使用括号进行索引。
阅读全文