1

在达到最大值后,我想将 360 的常量值添加到值向量中。也就是说,如果H=[12 26 67 92 167 178 112 98 76 85],我如何编写一个matlab代码,以便将180添加到178之后的所有值?答案应该是H=[12 26 67 92 167 178 292 278 256 265]

4

2 回答 2

1

这也适用于早期的 Matlab 版本:

H=[12 26 67 92 167 178 112 98 76 85]
[n, n] = max(H);
H(n+1:end) = H(n+1:end) + 180
于 2013-11-03T20:27:39.820 回答
1

尝试以下操作:

n=find(H==max(H));
H(n+1:end)=H(n+1:end)+180;

由于所需的向量值是按递增顺序排列的,因此这里的想法是找到最大值的索引,并将所有后续元素递增 180。

编辑

正如@LeonidBeschastny所建议的,找到最大索引的更好方法

[~,n]=max(H);
于 2013-11-03T20:23:22.077 回答