Re: [問題] 請問matlab字串抽取的問題已回收
※ 引述《trulliwu (trulliwu)》之銘言:
: 標題: [問題] 請問matlab字串抽取的問題
: 時間: Sun May 17 16:42:56 2009
:
: 想請問有關字串抽取的問題
:
: 例如:有一字串如{A B C D E F G.....}的型式,想請問如何隨機抽取
:
: 兩個值到最前面而其它則依序排列,如隨機抽取C,F兩數之後形成
:
: 為{C F A B D E G}的新型式像是如此一直變化下去,並且可以設定
:
: 為自己所需要的條數,謝謝。
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 140.130.23.21
: → trulliwu:如我己經先得到了[10,8,6,12,26,4,1]的字元排序 05/17 22:12
: → trulliwu:而希望以隨機的方式任抽取兩個數字排到最前面,其它的數 05/17 22:14
: → trulliwu:而其的數字則往後排列,如NullLife大大的程式是鎖定C及F 05/17 22:20
: → trulliwu:方式,不知道可不可以用隨機的方式抽取任兩個數字而非固 05/17 22:22
: → trulliwu:定的方法,不好意思沒有說清楚。 05/17 22:26
: → panzertp:這問題應該變成隨機選兩個數字 /隨機 05/17 22:30
: 推 NullLife:把'C'或'F'換成變數就好啦, 如果要抽取的個數未知... 05/17 22:30
: → NullLife:我想可能要用for包住了吧... 05/17 22:32
: → trulliwu:感謝NullLife大大的拔刀相助,也謝謝panzertp大大的指教 05/18 10:46
: → trulliwu:我會再試者try try看,謝謝。 05/18 10:48
依 NullLife 提供的語法
x = [10 8 6 12 26 4 1];
xx = randperm(length(x));
a = x(xx(1:2)); % 隨機選 x 裡頭的任兩個
x(xx(1:2)) = []; % 把這兩個從 x 裡面幹掉
x = [a x];
x =
26 4 10 8 6 12 1
^^^^^^^^這兩個隨機取出
當題目改成前 n 個隨機時,上面的 2 改成 n 即可。
上面的寫法舊程式思維寫法佔90%,更適合的寫法還是要以matlab
數學思維寫法去寫較佳^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 編輯: laechan 來自: 218.170.229.181 (05/18 12:25)
推
05/18 14:39, , 1F
05/18 14:39, 1F
→
05/18 19:48, , 2F
05/18 19:48, 2F
→
05/18 21:19, , 3F
05/18 21:19, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章