㈠ 【c语言编程】矩阵求最大值或最小值并返回它所在的行号与列号
#include<stdio.h>
voidmain()
{
inti,j,minv,mini,minj,sum=0;
inta[4][4];
printf("请输入矩阵中的16个数: ");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
minv=a[0][0];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
if(a[i][j]<minv)
{
minv=a[i][j];
mini=i+1;
minj=j+1;
}
if(i==j)
sum+=a[i][j];
}
printf("矩阵中最小值为%d,它在第%d行,%d列! ",minv,mini,minj);
printf("矩阵中对角线元素之和为%d",sum);
}
你需要动态的可以这样写:
#include<stdio.h>
#include<stdlib.h>
voidmain()
{
inti,j,minv,mini=1,minj=1,sum=0,h,l;
printf("请输入矩阵的大小:");
scanf("%d%d",&h,&l);
int**a=(int**)malloc(sizeof(int*)*h);
for(i=0;i<l;i++)
a[i]=(int*)malloc(sizeof(int)*l);
printf("请输入矩阵中的%d个数: ",h*l);
for(i=0;i<h;i++)
for(j=0;j<l;j++)
scanf("%d",&a[i][j]);
minv=a[0][0];
for(i=0;i<h;i++)
for(j=0;j<l;j++)
{
if(a[i][j]<minv)
{
minv=a[i][j];
mini=i+1;
minj=j+1;
}
}
printf("矩阵中最小值为%d,它在第%d行,%d列! ",minv,mini,minj);
minv=a[0][0];
for(i=0;i<h;i++)
for(j=0;j<l;j++)
{
if(a[i][j]>minv)
{
minv=a[i][j];
mini=i+1;
minj=j+1;
}
}
printf("矩阵中最大值为%d,它在第%d行,%d列! ",minv,mini,minj);
}
㈡ c语言编程求矩阵的最大值,最小值及所在的位置
#include<stdio.h>
int a[9][9]={{5,15,9,16,7,10,2,6,3,20}};
//最大值函数声明
int getmax(int *,int *);
//最小值函数声明
int getmin(int *,int *)
//主函数
void main(void)
{
int imax,jmax,imin,jmin;
printf("矩阵最大值为%d,位置为%d行,%d列;",getmax(&imax,&jmax),imax,jmax);
printf("最小值为%d,位置为%d行,%d列;",getmin(&imin,&jmin),imin,jmin);
printf("正对角线和为%d!",getlsum());
printf("反对角线和为%d!",getrsum());
}
//求最大值函数
int getmax(int * imax,int * jmax)
{
int max=0;
for(int i=0;i<9;i++)
for(int j=0;j<9;j++)
{
if(a[i][j]>max)
{
*imax=i;
*jmax=j;
max=a[i][j];
}
}
return max;
}
//求最小值函数
int getmin(int * imin,int * jmin)
{
int min=65535;
for(int i=0;i<9;i++)
for(int j=0;j<9;j++)
{
if(a[i][j]<min)
{
*imin=i;
*jmin=j;
min=a[i][j];
}
}
return min;
}
//求正对角线和函数
int getlsum()
{
int sum=0;
for(int i=0;i<9;i++)
sum+=a[i][i];
return sum
}
//求反对角线和函数
int getrsum()
{
int sum=0;
for(int i=0;i<9;i++)
sum+=a[i][9-i];
return sum;
}
程序写好了,放在一起的,公用一个主函数,如果不要显示哪个功能就把哪块干掉,如果这你都不会我就没办法了!!!
㈢ 如何利用matlab求一个矩阵里面的最大值和位置
找最大元素就是max(max(A)),注意二维矩阵要写两个maxx0dx0a找对应闹陪位置笑侍用find函数x0dx0a例如:x0dx0aA=[5 6 8 7 5x0dx0a 1 3 4 9 8x0dx0a 5 7 9 1.2 8.8x0dx0a 9.8 9.4 8.5 1.3 5.4]x0dx0aa=max(max(A))x0dx0a[x,y]=find(A==a)x0dx0ax0dx0a运行结果:x0dx0aA =x0dx0a 5.0000 6.0000 8.0000 7.0000 5.0000x0dx0a 1.0000 3.0000 4.0000 9.0000 8.0000x0dx0a 5.0000 7.0000 9.0000 1.2000 8.8000x0dx0a 9.8000 9.4000 8.5000 1.3000 5.4000x0dx0aa =x0dx0a 9.8000x0dx0ax =x0dx0a 4x0dx0ay =x0dx0a 1x0dx0ax0dx0a至于是不是整数是没有关系的,x和y就是该最大值的位液升蠢置!
㈣ matlab如何不用max和min找出矩阵内的最大值和最小值
在Matlab中,你可以使用内置函数" max "和" min "来查找矩阵中的码闷郑最大和最小值。如果不想使用这些函数,也可以使用排迟颂序函数 "sort" 来查找矩阵中的最大和罩饥最小值。
㈤ 有一个4*5矩阵,用MATLAB编程求出其最大值及其所在的位置
MATLAB求最大值直接调用求最值的函数 max 函数就好了。例如矩阵为 A ,那么求最值即为 max_A = max( max(A) ) , [m,n] = find( max_A == A )
程序中出错的原肆陆因可能是因为第一行结束的分号是中文分号,换成非英文分号就好。
MATLAB 中的 max 函数是求最大值的函数。
1、如果 A 是向量,则 max(A) 返回 A 的最大值。
这也是求矩阵的最大值需要使用两个 max 函数的原因。使用 find 函数可以找到矩阵中等于最大值的位置。
max函数的其他用法:
1、M = max(A,[],dim) 沿着维度 dim 返回最大元素。例如,如果 A 为矩阵,则 max(A,[],2) 是包含每一行的最大值的列向量。
2、M = max(A,[],nanflag) 指定在计算中包括还是忽略 NaN 值。例型辩如,max(A,[],'includenan') 包括 A 中的所有 NaN 值,而 max(A,[],'omitnan') 忽略这些值。可以指定使用 nanflag 选项时的运算维度。
3、[M,I] =max(___) 使用先前语法中的任何输入参数,查卜雹缺找 A 的最大值的索引,并在输出向量 I 中返回这些索引。如果最大值出现多次,则 max 返回对应于第一次出现位置的索引。
4、C = max(A,B) 返回从 A 或 B 中提取的最大元素的数组。
㈥ matlab 怎么找出二维矩阵中最大值的位置
找最大元素就是max(max(A)),注意二维矩阵要写两个max
找对应位置用find函数
举个例子:
>> A=[1 2 3 ;4 5 6]
A =
1 2 3
4 5 6
>> max(max(A))
ans =
6
>> [x y]=find(A==max(max(A)))
x =
2
y =
3
>>
找到最大元素是6,对应位置是x=2,y=3,就是第2行,第3列
(6)如何自己编程找到矩阵最大值扩展阅读:
MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究
工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘弯伏制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域纯闹余。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也做滚吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
㈦ 如何找到矩阵里的最大的值,matlab
matlab如何求矩阵中信辩最大值的位置
找最大元素就是max(max(a)),注意二维矩阵要写两数坦宽个max
找对应位置用find函数
举个例子:
>>
a=[1
2
3
;4
5
6]
a
=
1
2
3
4
5
6
>>
max(max(a))
ans
=
6
>>薯亮
[x
y]=find(a==max(max(a)))
x
=
2
y
=
3
>>
找到最大元素是6,对应位置是x=2,y=3,就是第2行,第3列
㈧ C语言编程:自定义一个5*5的矩阵,找出矩阵中最大的数,并输出其所在的行与列,怎么写
代码文本:
#include "stdio.h"
#define N 5
void dispmatrix(int (*p)[N]){
int i,j;
for(i=0;i<N;i++){
for(j=0;j<N;printf("%4d",p[i][j++]));
putchar(' ');
}
}
void findmax(int p[][N]){
int i,j,mi,mj;
for(mi=mj=i=0;i<N;i++)
for(j=0;j<N;j++)
if(p[mi][mj]<p[i][j])
mi=i,mj=j;
printf("The MAX is a[%d][%d]=%d ",mi,mj,p[mi][mj]);
}
int main(int argc,char *argv[]){
int a[N][N]={41,467,334,500,464,145,705,724,169,391,716,895,478,
281,961,827,995,604,163,421,358,718,382,902,491};
printf("Matrix is as follows: ");
dispmatrix(a);
printf(" ");
findmax(a);
return 0;
}
供参考。
㈨ matlab怎么找矩阵中的最大值
最简单昌清耐的方法就是用max()函数,分别正纯对列和行求耐春最大值,同时返回最大的位置,即可得到矩阵中最大的元素值和位置。