mablat中如何實現矩陣的行順序顛倒

2021-04-13 01:51:10 字數 3988 閱讀 2599

1樓:天雲一號

在matlab中,實現矩陣

來行順序顛自倒的思想

如下:bai

將矩陣dua的倒數第 i 行儲存zhi於一個向量dao變數a中;

將矩陣a的第 i 行覆蓋矩陣a的倒數第 i 行;

將向量變數a覆蓋矩陣a的第 i 行,即可完成矩陣行順序的顛倒。

具體實現程式如下:

function y = fun(a)

x = a; % 備份原矩陣

[row, col] = size(x);

for i = 1 : floor(row/2)  % 折半a = x(row-i+1, :);  % 儲存倒數第 i 行資料x(row-i+1, :

) = x(i, :);  % 覆蓋倒數第 i 行資料

x(i, :) = a;  % 覆蓋第 i 行資料endy = x;  % 輸出行順序顛倒後的矩陣

2樓:匿名使用者

a如果是那個矩陣,可以a=a(:,end:-1:1)

也可以用函式,fliplr也可以進行左右翻轉

3樓:天上星星忙眨眼

假設bai行數或列數為n vector = randperm(n); vector是從

du1到n的整數隨機排zhi列的向量

dao 按照vector裡各個元素的版值重新排列行列向量就可以權了 假設待排列矩陣為m,排列後的矩陣為a 按列隨機排列 a = zeros(size(m)); for i=1:n a(:,i)=m(:

,vector(i)); end

4樓:匿名使用者

b=a(end:-1:1)

在matlab中如何將一個行矩陣左右順序顛倒

5樓:匿名使用者

n = [ 1 2 3 4;

5 6 7 8;

9 10 11 12];

n_inv = n(:,end:-1:1);

output:

n_inv =

4 3 2 1

8 7 6 5

12 11 10 9

6樓:匿名使用者

rot90(w,2)

flipdim(w,2)

matlab: 如何將某矩陣的資料按找行數顛倒重排

7樓:匿名使用者

你好,用以下思路可以解決:

如 a 的內容是 [1 2 3 ; 4 5 6 ; 7 8 9 ; 6 6 6]

a有3列,後面新增一列。

a(:,4) = 4:-1:1

注意這裡要看你有內

多少行有多少就用容 多少:-1:1,如果不知道可以用length(a(1,:))檢視。

然後b = sortrows(a,4) 這裡4代表用第四列來排列之後去掉b的最後一列

b (:,4) =

總結(不論a的內容是什麼應該都可以):

a(:,length(a(1,:))) = length(a(1,:)):-1:1

b = sortrows(a,length(a(1,:)))b(:,length(a(1,:))) =

在matlab中,如何實現將一個矩陣按行或列進行隨機的重新排序?

8樓:匿名使用者

假設行數或列數為n

vector = randperm(n);

vector是從1到n的整數隨機排列的向量按照vector裡各個元素的值重

新排列行列向量就可以了

假設待排列矩陣為m,排列後的矩陣為a

按列隨機排列

a = zeros(size(m));

for i=1:n

a(:,i)=m(:,vector(i));end

matlab 中,怎麼讓一個矩陣按某一列排列,並且行也跟著變動?

9樓:噠噠噠噠你個頭

在來matlab中讓矩陣按某一列排列,源

需要用到bai

排序演算法對某一du列資料排序,然後在排序算zhi法的if判斷句中,dao依次交換矩陣兩行內容。

以題目中矩陣為例,可以利用冒泡法對第三列資料排序,實現程式如下:

a=[5 7 8;4 6 1;8 0 7];

n=length(a);b=;

for i=1:n-1

for j=1:n-i

if(a(j,3)>a(j+1,3))

b=a(j,:);a(j,:)=a(j+1,:);a(j+1,:)=b;

endend

enddisp(a)

通過程式即可實現將程式按第三列排列。

擴充套件資料氣泡排序演算法原理:

1、比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。

2、對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

3、針對所有的元素重複以上的步驟,除了最後一個。

4、持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

10樓:匿名使用者

a=[5 7 8

4 6 1

8 0 7]

a =5 7 8

4 6 1

8 0 7

>> sortrows(a,3)

ans =

4 6 1

8 0 7

5 7 8

matlab怎麼實現矩陣倒序排列

11樓:匿名使用者

flipud(u)實現矩陣的上下翻轉

fliplr(p)實現矩陣的左右翻轉

12樓:du瓶邪

如下:a =

1 2 3

4 5 6

7 8 9

>> reshape(a,1,9)

ans =

1 4 7 2 5 8 3 6 9

**********************************************

matlab非常重要的一條!

資料儲存訪問「以列」為主!而c語言則以「行」為主!!

matlab中怎麼把一組資料的順序倒過來

13樓:清一色520螺

用fliplr,如

x=[1 2 3 4 5];

fliplr(x)

ans =54321

matlab是美國mathworks公司出品的商業數學軟體,用於演算法開發、資料視覺化、資料分析以及數值計算的高階技術計算語言和互動式環境,主要包括matlab和simulink兩大部分。

14樓:灩麗

1、首先在我們的電腦上開啟matlab命令列視窗,輸入「a=[1 3 2 6 4 8 1 12]」,按回車鍵建立一個一維陣列a。

2、然後我們輸入「sort(a)」,這是將資料從小到大排列,按回車鍵。

3、然後我們輸入「sort(a,'descend')」,這是將資料從大到小排列,按回車鍵。

4、如果我們需要知道資料排序前的序號,輸入「[b,index]=sort(a)」,b是排序後的資料,index是數字排序前的序號。

5、按回車鍵之後,可以看到b和index的值。

6、如果我們對多維陣列進行排序的話,輸入sort(a),會對每列進行排序。

15樓:匿名使用者

行向量就用fliplr函式 列向量就用flipud函式

矩陣乘法運算編寫函式實現矩陣A2行3列與矩陣B相乘

include void main void printf 輸入陣列a n for i 0 i 2 i for j 0 j 3 j scanf d a i j printf 輸入陣列b n for i 0 i 3 i for j 0 j 2 j scanf d b i j for i 0 i 2 i...

EXCEL中如何實現矩陣求和,以及百分比的計算

1.在放結果的單元格中輸入 sum b1 b5,c1 c4 2.在放百分比的單元格,點滑鼠右鍵,選擇 設定單元格格式 在彈出的對話方塊中,選擇 數字 標籤,選擇 分類 中的 百分比 在 小數位數 那裡可以選擇你想保留的小數位數,預設是2,之後點選確定。在放百分比的單元格中輸入 sum b1 b5 s...

如何運用矩陣行變換將矩陣化為單位矩陣

只需要使用下列三種初等行變換,即可將矩陣化為單位矩陣前提是原矩陣是可逆矩陣,才能化為單位矩陣。1 某一行乘以一個倍數 非零 2 某一行乘以一個倍數 非零 加到另一行3 某一行與另一行交換 任何矩陣不一定 bai都可以化為 du單位矩陣。zhi 如果可以化,首先用初dao等變換回 化為行階梯形,再答化...