我希望在达到最大值后向值向量添加360的常量值。也就是说,如果是H=[12 26 67 92 167 178 112 98 76 85]
,我该如何编写一个matlab代码,以便在178之后将180添加到所有值?答案应该是H=[12 26 67 92 167 178 292 278 256 265]
。
答案 0 :(得分:1)
请尝试以下操作:
n=find(H==max(H));
H(n+1:end)=H(n+1:end)+180;
由于期望的向量值按递增顺序排列,因此这里的想法是找到最大值的索引,并将所有后续元素递增180.
修改强>
找出最大索引的更好方法,如 @LeonidBeschastny
所示[~,n]=max(H);
答案 1 :(得分: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