Re: [問題] 請問如何將值自動代換進方程式運算?

看板Mathematica作者 ( )時間10年前 (2014/04/12 15:52), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
方法很多啦 這邊提供一個比較一般的方法 假設你的解串列是sol sol=Table[FindRoot[1-b^2/x^2-Exp[-10 x]/x==0,{x,10^-10}],{b,0.1,2,0.1}] 只要輸入 data=x/.sol 便可以將每個解取出來放到串列中 你可以建立一個函數f[x]進行積分的動作 f[x_]:= ...... (*這邊就不打了*) 接著用mapping的方式便可以對每個解進行運算 f/@data 關鍵在於利用 /. (ReplaceAll) 的方式將規則式代入 幾乎每個求解的指令都是輸出規則式 方法也都差不多 ※ 引述《bear0418 (貝爾出品 優質好文)》之銘言: : 各位好 : 我有大概爬一下文也看過程式裡面的example 不過好像沒有類似的 : 如果我眼殘了沒發現的話 請各位多多包涵 : 或是請告訴我關鍵字就好 我在自己去查 原PO數值新手 希望能幫幫忙 : ------------------------------------------------------------------------ : 我的問題如下 : 我現在寫了一行 : Table[FindRoot[1 - b^2/x^2 - Exp[-10 x]/x == 0, {x, 10^-10}], {b, : 0.1, 2, 0.1}] : 以Table的方式表現出 這個方程式的解 其中將b自動換成0.1 0.2 ...到2 : 所以總共做了20次運算 : 結果是 : {{x -> 0.194463}, {x -> 0.246811}, {x -> 0.320882}, {x -> : 0.4085}, {x -> 0.503271}, {x -> 0.601226}, {x -> 0.700454}, {x -> : 0.800167}, {x -> 0.900062}, {x -> 1.00002}, {x -> 1.10001}, {x -> : 1.2}, {x -> 1.3}, {x -> 1.4}, {x -> 1.5}, {x -> 1.6}, {x -> : 1.7}, {x -> 1.8}, {x -> 1.9}, {x -> 2.}} : 的確也給我20個值 這邊他只告訴我解答 : 問題1: 是否可以將它以{ b , x }這樣表現呢? : 比如說第一組就是{0.1,0.194463}這樣 : ------------------------------------------------------------------- : 第二個問題 我現在希望將上面算出來的值帶入一個積分當下限 : 方程式如下 : http://ppt.cc/OdBZ : 希望能將裡面的b 跟 第二個積分裡面的下限的x 代換成上面的(b,x) : 所以可以用上面的20組讓他算20次積分 這樣我就不用打20遍 : 另外請問這個積分要怎麼做..我用NIntegral 第二個積分不能運算... : ------------------------------------------------------------------- : 主要我想學這種計算的方法 不然其實我硬打20次也可以做出來 : 只是如果能學會這種方法 當資料夠多的 處理起來很方便 : 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.107.179 ※ 文章網址: http://www.ptt.cc/bbs/Mathematica/M.1397289170.A.CB8.html

04/13 12:16, , 1F
非常謝謝你! 對我幫助很大 我來試試看
04/13 12:16, 1F
文章代碼(AID): #1JIF3Iou (Mathematica)
文章代碼(AID): #1JIF3Iou (Mathematica)