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等變換回 化為行階梯形,再答化...