導航:首頁 > 編程知識 > 如何自己編程找到矩陣最大值

如何自己編程找到矩陣最大值

發布時間:2023-04-13 22:53:48

㈠ 【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 函數可以找到矩陣中等於最大值的位置。

(5)如何自己編程找到矩陣最大值擴展閱讀:

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文檔中心

㈥ 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()函數,分別正純對列和行求耐春最大值,同時返回最大的位置,即可得到矩陣中最大的元素值和位置。

閱讀全文

與如何自己編程找到矩陣最大值相關的資料

熱點內容
javadbfreader 瀏覽:307
蘋果手機數字代碼是什麼 瀏覽:66
驅動程序順序安裝腳本 瀏覽:665
word文件里怎樣查重 瀏覽:219
mx5系統基帶版本 瀏覽:184
ntlea全域通win10 瀏覽:171
qq怎麼查看別人的收藏 瀏覽:135
地震三參數matlab程序 瀏覽:57
怎樣給優盤文件加密軟體 瀏覽:7
收拾文件有哪些小妙招 瀏覽:431
pdf文件去底網 瀏覽:253
win10重裝系統需要格式化c盤嗎 瀏覽:424
路由器trx文件 瀏覽:655
淘寶店鋪數據包怎麼做 瀏覽:195
win10鍵盤黏連 瀏覽:332
json如何生成表格 瀏覽:323
怎麼修復sql資料庫表 瀏覽:40
微信微博差別 瀏覽:163
簽到積分換禮品app 瀏覽:812
mfc最近打開文件 瀏覽:672

友情鏈接