Matlab如何找到一个数组中的最大值以及它所在的位置

Matlab如何找到一个数组中的最大值以及它所在的位置,第1张

Matlab如何找到一个数组中的最大值以及它所在的位置 用max()函式即可,比如

>> r = rand(1,10);

>> [maxr,index]=max(r)

maxr =

09649

index =

10

第一个返回引数是最大值,第二个引数是最大值所在的位置(下标)

[x y]=max(A),x是最大值,y是最大值所在的位置。A=[1 2 3 5 4 1 2],得到的结果是x=5,y=4

比如有阵列a:a=[A1, A2, A3, A4, A5, A6];[R,C]=max(a)就能得到最大元素,其中R是最大元素的值,C是最大元素在阵列中的位置。如果阵列a是二维阵列,预设R、C是对应每一列的最大值和最大值所在的位置。例如取a=[1,2,3,4][r,c]=max(a)得到r=4,c=4

[m, i] = max(a)

如果 a 是一个数组,那么返回值 m 是最大值的值,i 是最大值所在的位置。

#include <stdioh>

int getMax(int a[],int n)

{int i,m=0;

 for(i=1;i<n;i++)

   if(a[i]>a[m])m=i;

 return a[m];  

}

int main()

{int a[]={45,6,56,23,28,26};

 int i,n=sizeof(a)/sizeof(a[0]);

 printf("数组a的最大值是%d\n",getMax(a,n));

 return 0;

}

思路:可以用遍历数组的方法来判断

方法如下:

var t = new Array(1,11,111,1111,11111);//定义个数组

var m = t[0];

for(var i=1;i<tlength;i++){ //循环数组

  if(m<t[i])m=t[i];}//该判断就可以判断整个数组的最大值

如何优雅的获取数组的最大值,其实oc可以通过valueForKeyPath方法来设置你想要获取的一些数组,比如数组的最大值,最小值,平均值等。下面是实践:

NSMutableArray array = [NSMutableArray array];

for (int i = 0; i < 10; i++) {

CGFloat num = arc4random() % 100 + 1;

[array addObject:[NSNumber numberWithFloat:num]];

}

CGFloat maxValue = [[array valueForKeyPath:@"@maxfloatValue"] floatValue];

CGFloat minValue = [[array valueForKeyPath:@"@minfloatValue"] floatValue];

重点在这句话上

@”@maxfloatValue”(获取最大值),

@”@minfloatValue”(获取最小值),

@”@avgfloatValue” (获取平均值),

@”@countfloatValue”(获取数组大小)

以下程序主要是求得数组中的最大值和最小值:

public class a {

public static void main(String args[]) {

int a[]={84,40,16,3,10,49,28,76,94,70};

int n;

int min=a[0];

int i;

int max=a[0];

for(n=0;n<=9;n++) {

if(max<a[n])

max=a[n];

}

for(i=0;i<=9;i++) {

if(min>a[i])

min=a[i];

}

Systemoutprint("max="+max);

Systemoutprint("min="+min);

}

}

该程序输出结果:

数组A的元素包括:74 48 30 17 62数组的最大值是:74数组的最小值是:17

程序说明如下:

第6行声明整数变量i 做为循环控制变量及数组的索引:另外也声明存放最小值的变量min与最大值的变量max。

第7行声明整型数组A,其数组元素有5个,其值分别为74、48、30、17、62。

第9行将min与max的初值设为数组的第一个元素。

第10~18行逐一输出数组里的内容,并判断数组里的最大值与最小值。

第19~20行输出比较后的最大值与最小值。将变量min与max初值设成数组的第一个元素后,再逐一与数组中的各元素相比。比min小,就将该元素的值指定给min存放,使min的内容保持最小;同样的,当该元素比max大时,就将该元素的值指定给max存放,使max的内容保持最大。for循环执行完,也就表示数组中所有的元素都已经比较完毕,此时变量min与max的内容就是最小值与最大值。

本文所述代码为比较基础的示例程序,相信对于Java的初学者仍有一定的借鉴价值。

以上就是关于Matlab如何找到一个数组中的最大值以及它所在的位置全部的内容,包括:Matlab如何找到一个数组中的最大值以及它所在的位置、求数组的最大值、js怎么取出数组中的最大值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9525421.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存