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

看板Mathematica作者 (追風箏的孩子)時間12年前 (2012/10/23 00:49), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串5/5 (看更多)
※ 引述《chungyuandye (養花種魚數月亮賞星星)》之銘言: : ※ 引述《chungyuandye (養花種魚數月亮賞星星)》之銘言: : : 標題: Re: [問題] 將許多數值代入多項式 : : 時間: Sun Oct 21 23:02:34 2012 : : 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 : : -- : : ◆ From: 218.173.128.130 : : 推 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]] 我改寫後有一點問題,不知道哪邊出錯了 aid[r1_, r21_, r22_, r31_, r32_, r41_, r42_] := r41/(2*(r31 + r41))*(1 + r42/r32) + r42/(2*r32) + 1/(2*r1)*((r41*r21)/(r31 + r41) + (r42*r22)/r32 + (r42*r41*r21)/( r32*(r31 + r41))); r1 = {5*0.99, 5, 5*1.01}; r21 = {99, 100, 101}; r22 = {99, 100, 101}; r41 = {99, 100, 101}; r31 = {99, 100, 101}; r42 = {99, 100, 101}; r32 = {99, 100, 101}; ans2 = Flatten[ Apply[aid, Outer[List, r1, r21, r22, r41, r31, r42, r32], {7}], 3]; {Max@ans2,Min@ans2} 得出 {21.8364,20.196} 但是用ans3 ans3 = Flatten[ Map[{aid @@ #, #} &, Outer[List, r1, r21, r22, r41, r31, r42, r32], {7}], 3]; SortBy[ans3, First][[{1, -1}]][[All, 2]] 卻得不出ans2的最大/最小值 -- ◢▇▆◣▂ 這就是人蔘●● ︷ ︷ ▅◤ ◢▆◣ ▂▃\▃ ██ _▏ ︽ ※※※※ ︽ ︽ ︿ ︽ ︿ ︿ ﹦︻ ▆▆▆ ︿ ※※※※ ︿ ︿ ︿ ︿ ︿ ︳﹣﹦ ﹣﹦ ︽ ※※※※ ︽ ︽ ︿ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.183

10/23 06:37, , 1F
Outer[List,r1,r21,r22,r41,r31,r42,r32],{7}],6]
10/23 06:37, 1F
文章代碼(AID): #1GXNaLuZ (Mathematica)
文章代碼(AID): #1GXNaLuZ (Mathematica)