以求最大值为例,对于其他特定值可以写特定函数
以数组A为例,代码如下
A=[ 1, 0, -5, -6, -1, 3, 6, 8, 0, 6, 245, -1, 0]
r=length(A)
k=find(A==0)
a=length(k)
b=1:a-1
for i=1:a-1
b(i)=max(A(k(i):(k(i+1))))
end
关键是用MATLAB中的find函数找到数组中0的位置
找到0的位置后创建一个所需长度的b向量,把最后的结果储存到b里
利用for循环和max函数找到最大值更新b,b就是想要的结果
第一行代码可以换成
A=input('请输入数组,用空格分开每个数,A=')