以求最大值为例,对于其他特定值可以写特定函数
以数组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=')
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...