Re: [問題] 將許多數值代入多項式

看板Mathematica作者 (養花種魚數月亮賞星星)時間12年前 (2012/10/22 06:33), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/5 (看更多)
※ 引述《chungyuandye (養花種魚數月亮賞星星)》之銘言: : 標題: Re: [問題] 將許多數值代入多項式 : 時間: Sun Oct 21 23:02:34 2012 : : ※ 引述《obelisk0114 (追風箏的孩子)》之銘言: : : 我有數個多項式,每個多項式都有多個變數 : : ex: a/(b + a) * (1 + c/d) - c/d : : 每個變數都有好幾個可能值 : : ex: a = a1 或 a2 或 a3 : : b = b1 或 b2 或 b3 : : c = c1 或 c2 或 c3 : : d = d1 或 d2 或 d3 : : 總共有 3^4 = 81 種組合 : : 有甚麼好的寫法,讓我可以列出這 81 種組合的最大值和最小值? : : f[a_, b_, c_, d_] := a/(b + a)*(1 + c/d) - c/d; : : a = {a1, a2, a3}; : b = {b1, b2, b3}; : c = {c1, c2, c3}; : d = {d1, d2, d3}; : : (* 兩個都可以 *) : ans1=Flatten[Apply[f, : Table[{m, n, o, p}, {m, a}, {n, b}, {o, c}, {p, d}], {4}], 3]; : : ans2=Flatten[Apply[f, Outer[List, a, b, c, d], {4}], 3] : : (* 最大,最小*) : : {Max@ans1,Min@ans1} : {Max@ans2,Min@ans2} : : -- : 養花種魚數月亮賞星星 : : http://chungyuandye.twbbs.org : : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 218.173.128.130 : ※ 編輯: chungyuandye 來自: 218.173.128.130 (10/21 23:06) : 推 obelisk0114:可以得知最大/最小情況下的a,b,c,d值嗎? 10/22 00:45 ans3 = Flatten[Map[{f @@ #, #} &, Outer[List, a, b, c, d], {4}], 3] (* 最小情況下的a,b,c,d值,最大情況下的a,b,c,d值 *) SortBy[ans3, First][[{1, -1}]][[All,2]] -- 養花種魚數月亮賞星星 http://chungyuandye.twbbs.org -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.128.100
文章代碼(AID): #1GX7WVLq (Mathematica)
文章代碼(AID): #1GX7WVLq (Mathematica)