matlab中怎么用find函数得到一个数组中的一段数据

比如我知道一个数组a=[1 6 5 8 9 1 30 41 51 24 32 16 15 14 18],我想得到a中第10个数到第15个数组成的数组,怎么写

这个没必要用find。
用矩阵索引就行,所谓索引就是指下标,这里可以用
a1=a(1,10:15)%第一行,第10至15列,给a1
如果有好几行,相应的改变就行,如果整行或者整列都要索引,用‘:’
a=magic(3)

a =

8 1 6
3 5 7
4 9 2

>> a1=a(2,2:3)

a1 =

5 7

>> a1=a(3,:)

a1 =

4 9 2
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-13
temp.m文件中写如下函数:
function
array=temp()
array=[1,2,3,4,5];
end
array就是函数的返回值,你给它赋什么值,它就返回什么。
之后在command调用即可如
>>
temp
ans
=
1
2
3
4
5
也可以这样调用
>>arr=temp;
只是把函数的返回值保存在变量arr中。
第2个回答  2013-11-15
b=a(10:15);

第3个回答  推荐于2018-03-30
  提出(0-1)规划问题:变量只取0或者1
  函数:
  function f=GZhengshuGuihua(X)
  f=3*X(1)-2*X(2)+5*X(3);
  约束条件:(X(1)+2*X(2)-X(3)<=2)&&(X(1)+4*X(2)+X(3)<=4)
  如何找到X(1)到X(3)的解呢
  A=0.9;T=99;TF=2;X1Iemp=0;X2Iemp=0;X3Iemp=0;FvalIni=-100;FvalTemp=FvalIni;FvalBest=FvalIni;
  while T>=TF
  X=round(rand(1,3));
  FvalTemp=GZhengshuGuihua(X);
  if (X(1)+2*X(2)-X(3)<=2)&&(X(1)+4*X(2)+X(3)<=4)
  if (FvalTemp>=FvalBest)
  FvalBest=FvalTemp;
  X1Temp=X(1);X2Temp=X(2);X3Temp=X(3);
  end
  end
  T=T*A;
  end
  X1Best=X1Temp;X2Best=X2Temp;X3Best=X3Temp;
  [FvalBest,X1Best,X2Best,X3Best]
相似回答