1樓:愛笑的柯南推理
用乙個程式實現n*n魔方矩陣中,每一行、每一列、每一對角線上的元素之和相等。
矩陣規律:
本程式只適合基數,解釋如下:
n 為奇數時,此題中n設為5
(1) 將1放在第一行中間一列;
(2) 從2開始直到n×n止各數依次按下列規則存放:
按 45°方向行走,如向右上
每乙個數存放的行比前乙個數的行數減1,列數加1(3) 如果行列範圍超出矩陣範圍,則迴繞。
例如1在第1行,則2應放在最下一行,列數同樣加1;
(4) 如果按上面規則確定的位置上已有數,或上乙個數是第1行第n列時,則把下乙個數放在上乙個數的下面。
[cpp] view plain copy#include
int main()
int a[100][100],x;/*初始化*/int i,j,m,n,temp;
printf("輸出魔方矩陣n=");
scanf("%d",&x);
while(x)
if(!(x%2))
printf("你輸入了偶數,很遺憾本程式將退出");
return 0;
else
for(i=0;ifor(j=0;ja[i][j]=0;
i=0;
j=x/2;
a[i][j]=1;
for(temp=2;temp<=x*x;temp++)m=i;
n=j;
i--;
j++;
if(i<0)
i=x-1;
if(j>=x)
j=0;
if(a[i][j]!=0)
i=m+1;
j=n;
a[i][j]=temp;
for(i=0;i
for(j=0;jprintf("%4d",a[i][j]);
printf("\n");
printf("輸出魔方矩陣n=");
scanf("%d",&x);
return 0;
2樓:匿名使用者
比如說這個矩陣是a
num = find(mean(a,2)==a(:,1))
在matlab中如何將乙個矩陣的一行或一列取出來,還是乙個矩陣?
3樓:用著追她
1、首先需要來開啟matlab軟體源
。2、在開啟的matlab軟體中輸入一bai個矩陣a=[1 2;3 4]。du
3、輸入完成之zhi後按回車鍵,輸出a。
4、然dao後需要定義乙個向量為z=[5 6]。
5、定義完成之後,定義新的矩陣名字為anew。
6、按回車鍵,就可以在命令視窗輸出結果。
4樓:科技數碼答疑
直接採用矩陣引用
例如:引用一行,a(3,:)
引用一列,a(:,3),代表引用第三列
5樓:匿名使用者
假如你要取m矩陣第m行和第n列: m(m,:) m(:,n)。
在matlab裡如何用乙個迴圈語句將乙個矩陣中的每一列元素顯示出來?
6樓:轉基因牛
for i=1:5 %假設5列
b(:,i) %結尾不加分號。就會顯示出結果end
matlab 怎麼找到乙個矩陣中某一列等於乙個數的所有行?
7樓:匿名使用者
ir = find(a(:,3)==10) % 返回行索引
iv = a(find(a(:,3)==10),:) % 返回數值
8樓:匿名使用者
x = [1 2 3;
3 4 5;
5 6 3;
7 4 3];
target_col = 2; % 要搜尋的目標bai列
target_val = 4; % 要所du搜的目標值
[row,col] = find(x(:,target_col)==target_val); % 關鍵
zhi語句,使用find()函式dao
result_row = row; %搜尋到的回結果fprintf('%d\n',result_row); % 輸出
輸出結果:答24
MATLAB怎麼判斷矩陣中是否存在某一行等於行向量
思孕 實際上我只要用一行就可以了!clca 1,2,3 2,3,4 1,3,4 b 1,3,4 c 1,2,4 判定 sa size a,2 p c 將需要判定的行賦值給ppz ones sa,1 p a panding logical size find sum abs pz 0 1 判定結果 清...
matlab怎麼求矩陣中每一行的最大值
輕煙談生活 matlab求矩陣中每一行的最大值的具體步驟如下 1 首先我們開啟matlab,在命令列視窗中輸入 a 12 35 24 26 78 14 16 19 21 建立乙個3行3列的a矩陣。2 然後我們輸入max max a 求a矩陣的最大值。3 按回車鍵之後,可以看到a矩陣的最大值為78。4...
在matlab中,怎樣提取矩陣的一行元素或者提取一列元素
假設你有乙個矩陣m,那麼提取第i行就是m i,提取第i列就是m i matlab是美國mathworks公司出品的商業數學軟體,用於演算法開發 資料視覺化 資料分析以及數值計算的高階技術計算語言和互動式環境,主要包括matlab和simulink兩大部分。matlab是matrix laborato...