Re: [問題] 如何移動矩陣內的數值??已回收

看板MATLAB作者 (alen)時間16年前 (2009/06/14 02:54), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《qeagle (夢想之火還沒熄滅)》之銘言: : ※ 引述《blockspider (QQbuer)》之銘言: : : 我先產生一個值為整數的亂數矩陣 : : 沒有照大小排列 : : 我想把每個數跟矩陣的最後一個數比 : : 比他小的就放他之前比他大的就放他之後 : : 從一個矩陣變成二矩陣 : : 如此不斷做下去 : : 就可以完成排列了 : : 但我不知道要怎移動矩陣內的值 : : 比完以後便成二矩陣的寫法也不太懂... : : 有大大可以幫我解惑嗎 : : 寫出來後要跟sort法比較運算速度 : : 所以不能用sort排列... : 看你的邏輯最後只能得到最大數在最後的結果 : 前面的小值還是不會依序排列 : 可能要再想一想 : 你要換值可能還要一個中間矩陣來換比較快吧 : 比如 : a=[ 1 2 3 4 5 ] : b = a; : 你要換2和5 : 則 b(2)=a(5) : b(5)=a(2) : 應該就可以了 我有寫一個很簡單的...不過不是一直跟最後值互比,而是鄰近的值互比 你參考看看,寫的不好有點缺陷 ------------------------------------------------- clc; clear; a = randint(1,1000,[0,1000]); a_before = a; tic i = 1; while i<length(a) if a(i)>a(i+1) data_temp = a(i); a(i) = a(i+1); a(i+1) = data_temp; i = i-1; else i = i+1; end if i == 0 i = i+2; end end toc tic a_sort_after = sort(a_before); toc ------------------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.57.173
文章代碼(AID): #1AC_NTyW (MATLAB)
文章代碼(AID): #1AC_NTyW (MATLAB)