[問題] 二維資料格式

看板Mathematica作者 (我愛U-15!!!)時間11年前 (2013/04/09 03:26), 編輯推噓2(2015)
留言17則, 4人參與, 最新討論串1/1
其實我不知道該如何描述我遇到的狀況,結果下了這樣一個怪標題 我的狀況是這樣的 有一個雙變數的函數w(u,v),要對u和v在某個區間內做運算 舉個例 u從5.6開始每隔0.2一個點直到6.2 v從18開始每隔1一個點直到20 作法如下 先建立一個雙元素的矩陣 (我不知道這是不是稱為雙元素矩陣,臨時取名 (in) mat = {i, j}; mat2 = Table[mat, {i, 5.6, 6.2, 0.2}, {j, 18, 20, 1}] mat2 // MatrixForm (out) {{{5.6, 18}, {5.6, 19}, {5.6, 20}}, {{5.8, 18}, {5.8, 19}, {5.8, 20}}, {{6., 18}, {6., 19}, {6., 20}}, {{6.2, 18}, {6.2, 19}, {6.2, 20}}} MatrixForm出來就是一個4 x 3的雙元素矩陣 =========================== 再做運算 (in) For[n = 1, n < 4, n++, ( For[m = 1, m < 5, m++, ( mat3 = mat2[[m, n]]; w = Function[{u, v}, u^2 + v^4][mat3[[1]], mat3[[2]]]; Print[w] )]; )]; (out) 105007. 105010. 105012. 105014. 130352. 130355. 130357. 130359. 160031. 160034. 160036. 160038. 結果就是一長串,我想把算出來的結果也變成一開始那種4 x 3的矩陣,不過怎麼 都弄不出來,後來有在板上找到類似的討論串,有人用Table或Map的方式做,但是當時 文章裡都是處理一維的問題,我試了半天都沒有辦法把它變成4 x 3的矩陣 麻煩各位版友解惑了 感激不盡 > < -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.44.55 ※ 編輯: kanonehilber 來自: 123.195.44.55 (04/09 03:33)

04/09 08:45, , 1F
Apply[#1^2+#2^4,mat2,{2}]
04/09 08:45, 1F

04/09 08:45, , 2F
Apply[#1^2+#2^4&,mat2,{2}]少寫一個&
04/09 08:45, 2F

04/09 08:50, , 3F
哇 太謝謝你了!!
04/09 08:50, 3F

04/09 08:51, , 4F
我再研究看看他是怎麼變成這樣的~~
04/09 08:51, 4F

04/09 08:52, , 5F
Table 也可以做二維的啊 以你的例子就是
04/09 08:52, 5F

04/09 08:54, , 6F
Table[mat2[[n,m,1]]^2+mat2[[n,m,2]]^4,{n,1,3},{m,1,4}]
04/09 08:54, 6F

04/09 08:54, , 7F
其實你一開始的那個 Table 寫法就是這樣的結構
04/09 08:54, 7F

04/09 08:55, , 8F
所以也可以乾脆就一開始直接這樣建起來:
04/09 08:55, 8F

04/09 08:56, , 9F
Table[u^2+v^4,{u,5.6,6.2,0.2},{v,18,20,1}]
04/09 08:56, 9F

04/09 13:01, , 10F
原來如此,接觸程式還不太久,感謝你提供的想法^^
04/09 13:01, 10F

04/09 13:12, , 11F
Table的第一行好像有點問題@@ 晚點再來研究看看~
04/09 13:12, 11F

04/10 07:04, , 12F
加油,快學會Apply跟Map,向For loop說再見吧XD
04/10 07:04, 12F

04/10 07:06, , 13F
若中間的矩陣另有需要才分別出來,否則LPH一行寫法善
04/10 07:06, 13F

04/12 01:01, , 14F
向For loop說再見XDDDD
04/12 01:01, 14F

04/12 01:03, , 15F
話說我的其中有一段要代入的函數不是算數字,是另一
04/12 01:03, 15F

04/12 01:04, , 16F
個子程式的指令,不知道為什麼Table會有問題,目前用
04/12 01:04, 16F

04/12 01:04, , 17F
Apply做,有時間再來研究一下這些loop的特性~~
04/12 01:04, 17F
文章代碼(AID): #1HOndued (Mathematica)
文章代碼(AID): #1HOndued (Mathematica)