2011年12月14日 星期三

Re: [問題] 請教有關遞迴式

作者: chungyuandye (養花種魚數月亮賞星星) 看板: Mathematica
標題: Re: [問題] 請教有關遞迴式
時間: Wed Nov 16 00:02:08 2011

※ 引述《sphwny (時間過的真快>"<)》之銘言:
: 不好意思又來問問題了
: 目前小弟寫到定義分段函數
: 然後使用遞迴的方式把剩下的函數定義完
: 舉例如下:
: H[-1,x1_,x2_,x3_,n_] :=E^(-x1*x3)*(n!/x2^n)*Sqrt[1/(2*x2)]
: 然後
: H[0,x1_,x2_,x3_,n_]:=
: x3/(2*n)*H[-1,x1,x2,x3,n+1]-x1/(2*n)*H[-1,x1,x2,x3,n] /; x2==0.5*x3^2
: H[0,x1_,x2_,x3_,n_]:=
: n!*(0.5*x1*H[-1,x1,x2,x3,n-1]-0.5*x3*H[-1,x1,x2,x3,n]) /; x2!=0.5*x3^2 ; x1>0
: H[0,x1_,x2_,x3_,n_]:=
: 0.5*x1*H[-1,x1,x2,x3,n-1]-0.5x3*H[-1,x1,x2,x3,n] /; x2!=0.5*x3^2 ; x1<0
: H[0,x1_,x2_,x3_,n_]:=
: 0.5*x3*H[-1,x1,x2,x3,n] /; x2!=0.5*x3^2; x1==0
: Table[H[i,x1_,x2_,x3_,n_]:= (1/i)*H[i-2,x1,x2,x3,n+1]-
: (x3/i)*H[i-1,x1,x2,x3,n+1]-(x1/i)*H[i-1,x1,x2,x3,n], {i,12}];
: 最後再把這些函數做些計算處理的時候
: 出現了遞迴次數超過256次之類的訊息以及後面伴隨很多錯誤訊息
: 當中似乎出現了什麼問題
: 是我的定義語法錯誤了嗎?
: 還是有其他的方法來定義這樣子的遞迴函數?
: 麻煩各位大師替我解惑!! 謝謝!!


上面的函數可以改用Which試試看!至於遞迴次數可以利用$RecursionLimit=?? 來設定
上面的函數因為都是利用SetDelayed來定義,所以每次都必須重新計算,
因此當i大的時候會非常耗時,可以試著用動態定義來改善

H[-1,x1_,x2_,x3_,n_]=E^(-x1*x3)*(n!/x2^n)*Sqrt[1/(2*x2)]

H[0,x1_,x2_,x3_,n_]:=Which[
x2==0.5*x3^2,
x3/(2*n)*H[-1,x1,x2,x3,n+1]-x1/(2*n)*H[-1,x1,x2,x3,n],
x2!=0.5*x3^2&&x1>0,
n!*(0.5*x1*H[-1,x1,x2,x3,n-1]-0.5*x3*H[-1,x1,x2,x3,n]),
x2!=0.5*x3^2&&x1<0,
0.5*x1*H[-1,x1,x2,x3,n-1]-0.5x3*H[-1,x1,x2,x3,n],
x2!=0.5*x3^2&&x1==0,
0.5*x3*H[-1,x1,x2,x3,n]
]

H[i_,x1_,x2_,x3_,n_]:=H[i,x1,x2,x3,n]=(1/i)*H[i-2,x1,x2,x3,n+1]-(x3/i)*
H[i-1,x1,x2,x3,n+1]-(x1/i)*H[i-1,x1,x2,x3,n]

利用相同的原理,可以利用Fibonacci number的函數來做實驗

f1[0] = 0; f1[1] = 1; f2[0] = 0; f2[1] = 1;
f1[x_Integer] := f1[x - 1] + f1[x - 2]
f2[x_Integer] := f2[x] = f2[x - 1] + f2[x - 2]
AbsoluteTiming@f1[30]
AbsoluteTiming@f2[30]

f1沒利用動態定義,f2則是利用動態定義來定義函數。

--
養花種魚數月亮賞星星

http://chungyuandye.twbbs.org


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.136.123
※ 編輯: chungyuandye 來自: 218.173.136.123 (11/16 00:04)
※ 編輯: chungyuandye 來自: 218.173.136.123 (11/16 00:10)

2011年11月20日 星期日

[自動轉寄] [通告] 與其在網路上當鄉民,不如學會Know How做事業

作者: healthbe2 (成長是美麗的痛)
標題: [通告] 與其在網路上當鄉民,不如學會Know How做事業
時間: Sun Nov 20 17:48:39 2011


===========================================

景氣再怎麼壞,都還是有人荷包滿滿

誰說年輕就不能有大成就!

眼光,工具,抓住未來的方向,您也能像他們一樣

http://successasia.blogspot.com/

===========================================


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.120.142.81

2011年11月15日 星期二

[自動轉寄] Re: [問題] 請教有關遞迴式

作者: chungyuandye (養花種魚數月亮賞星星) 看板: Mathematica
標題: Re: [問題] 請教有關遞迴式
時間: Wed Nov 16 00:02:08 2011

※ 引述《sphwny (時間過的真快>"<)》之銘言:
: 不好意思又來問問題了
: 目前小弟寫到定義分段函數
: 然後使用遞迴的方式把剩下的函數定義完
: 舉例如下:
: H[-1,x1_,x2_,x3_,n_] :=E^(-x1*x3)*(n!/x2^n)*Sqrt[1/(2*x2)]
: 然後
: H[0,x1_,x2_,x3_,n_]:=
: x3/(2*n)*H[-1,x1,x2,x3,n+1]-x1/(2*n)*H[-1,x1,x2,x3,n] /; x2==0.5*x3^2
: H[0,x1_,x2_,x3_,n_]:=
: n!*(0.5*x1*H[-1,x1,x2,x3,n-1]-0.5*x3*H[-1,x1,x2,x3,n]) /; x2!=0.5*x3^2 ; x1>0
: H[0,x1_,x2_,x3_,n_]:=
: 0.5*x1*H[-1,x1,x2,x3,n-1]-0.5x3*H[-1,x1,x2,x3,n] /; x2!=0.5*x3^2 ; x1<0
: H[0,x1_,x2_,x3_,n_]:=
: 0.5*x3*H[-1,x1,x2,x3,n] /; x2!=0.5*x3^2; x1==0
: Table[H[i,x1_,x2_,x3_,n_]:= (1/i)*H[i-2,x1,x2,x3,n+1]-
: (x3/i)*H[i-1,x1,x2,x3,n+1]-(x1/i)*H[i-1,x1,x2,x3,n], {i,12}];
: 最後再把這些函數做些計算處理的時候
: 出現了遞迴次數超過256次之類的訊息以及後面伴隨很多錯誤訊息
: 當中似乎出現了什麼問題
: 是我的定義語法錯誤了嗎?
: 還是有其他的方法來定義這樣子的遞迴函數?
: 麻煩各位大師替我解惑!! 謝謝!!


上面的函數可以改用Which試試看!至於遞迴次數可以利用$RecursionLimit=?? 來設定
上面的函數因為都是利用SetDelayed來定義,所以每次都必須重新計算,
因此當i大的時候會非常耗時,可以試著用動態定義來改善

H[-1,x1_,x2_,x3_,n_]=E^(-x1*x3)*(n!/x2^n)*Sqrt[1/(2*x2)]

H[0,x1_,x2_,x3_,n_]:=Which[
x2==0.5*x3^2,
x3/(2*n)*H[-1,x1,x2,x3,n+1]-x1/(2*n)*H[-1,x1,x2,x3,n],
x2!=0.5*x3^2&&x1>0,
n!*(0.5*x1*H[-1,x1,x2,x3,n-1]-0.5*x3*H[-1,x1,x2,x3,n]),
x2!=0.5*x3^2&&x1<0,
0.5*x1*H[-1,x1,x2,x3,n-1]-0.5x3*H[-1,x1,x2,x3,n],
x2!=0.5*x3^2&&x1==0,
0.5*x3*H[-1,x1,x2,x3,n]
]

H[i_,x1_,x2_,x3_,n_]:=H[i,x1,x2,x3,n]=(1/i)*H[i-2,x1,x2,x3,n+1]-(x3/i)*
H[i-1,x1,x2,x3,n+1]-(x1/i)*H[i-1,x1,x2,x3,n]

利用相同的原理,可以利用Fibonacci number的函數來做實驗

f1[0] = 0; f1[1] = 1; f2[0] = 0; f2[1] = 1;
f1[x_Integer] := f1[x - 1] + f1[x - 2]
f2[x_Integer] := f2[x] = f2[x - 1] + f2[x - 2]
AbsoluteTiming@f1[30]
AbsoluteTiming@f2[30]

f1沒利用動態定義,f2則是利用動態定義來定義函數。

--
養花種魚數月亮賞星星

http://chungyuandye.twbbs.org


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.136.123
※ 編輯: chungyuandye 來自: 218.173.136.123 (11/16 00:04)
※ 編輯: chungyuandye 來自: 218.173.136.123 (11/16 00:10)

2011年11月13日 星期日

[自動轉寄] Re: [問題] 解聯立方程式

作者: qoodeva (發呆的花枝)
標題: Re: [問題] 解聯立方程式
時間: Sun Nov 13 17:55:51 2011

※ 引述《chungyuandye (養花種魚數月亮賞星星)》之銘言:
: ※ 引述《qoodeva (發呆的花枝)》之銘言:
: : Do[
: : zt=(aω^2 +c)+d e-d^2 q; (*這是方程式,a,b,c,e,q為常數,ω為未知數*)
: : sol=Solve[zt==0,d]; (求解d,但因為ω為未知數,會出現未精準值)
: : H=HH[[4;;6,4;;6]]; (*H是HH矩陣的子矩陣*)
: : HE=Eigenvalues[H];
: : HD=Det[H];
: : If[Sign[HD]=\=0, (*判定HD行列式不為零*)
: : If[
: : Sign[HD]=-Sign[zz],Print[ω] (*判定行列式大於零時,將對應的ω輸出*)
: : ];
: : ];
: : zz=HD;
: : ,{ω,1,12000,1}]
: zt=(aω^2 +c)+d e-d^2 q
: 你的aω^2中間少打一個等號或是空格
: 其他看起來沒有錯才對

喔喔,那只是打快了一點,實際上我是有空格的,不過謝謝你,
我今天重新試了好幾次,最後發現,我HH矩陣是寫在Do外面
,但是多打了個//MatrixForm,再變成矩陣顯示時似乎沒辦法執行Do裡面的code,
消去之後就有插值跑出來,但是我的研究還沒做完,
我也不確定這樣跑出來的數字正不正確,但是至少有東西在跑了,謝謝你黑。

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.78.76

2011年10月30日 星期日

[自動轉寄] [通告] 推薦您加入此系統的五個原因

作者: maybule (機會天使)
標題: [通告] 推薦您加入此系統的五個原因
時間: Sun Oct 30 15:18:24 2011


=====================================================

☉ 無風險,小錢兼差加薪,大錢倍增事業,格局由您決定。

☉ 網路平台搭配實體支援,事業串聯全球無國界。

☉ 多位世界暢銷書作家和雜誌創辦人推薦甚至親自參與,
好萊塢明星及NBA球星瘋狂使用。

☉ 成功的教練和成功的團隊引領你入門。

☉ 幫助自己和他人提升生活品質,
化競爭對手成為合作夥伴。


免費註冊 http://www.vemma-angel.net/853630805/

=====================================================

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.248.47.93

2011年10月4日 星期二

[自動轉寄] Re: [問題] 圖上兩條曲線如何加註

作者: chungyuandye (養花種魚數月亮賞星星) 看板: Mathematica
標題: Re: [問題] 圖上兩條曲線如何加註
時間: Tue Oct 4 21:41:18 2011

※ 引述《tsungjen ()》之銘言:
: ※ 引述《chungyuandye (養花種魚數月亮賞星星)》之銘言:
: : Needs["PlotLegends`"]
: : Plot[{fun1, fun2]}, {x, range},
: : PlotLegend -> {"name 1", "name 2"},
: : LegendPosition -> {位置}, LegendSize -> {大小},
: : LegendShadow -> None, LegendBorder -> {Black}]
: : example
: : Plot[{Sin[x], Cos[x]}, {x, 0, 2 Pi}, PlotLegend -> {"sine", "cosine"},
: : LegendPosition -> {0, 0}, LegendSize -> {1, 0.5},
: : LegendShadow -> None, LegendBorder -> {Black}]
: : 如果加圖例只是要自己判斷函數位置的話,那比較簡單的方法應該是Tooltip
: : Plot[{Tooltip[Sin[x], "Sine Sine Sine Sine"],
: : Tooltip[Cos[x], "Cosine Cosine Cosine Cosine"]}, {x, 0, 2 Pi}]
: : 記得把滑鼠游標到函數上
: 因為我想要做出有數值點又有連續方程式的圖,所以我把指令這樣打
: Needs["PlotLegends"]
: Show[ListPlot[data],Plot[{f[x],g[x]},{x,0,100},PlotLegend->{"f","g"},
: PlotRange->Full],Frame->True, AspectRatio -> Full]
: 可是畫出來的圖並不正確
: 我找不到方法可以解決

ListPlot[{{#, Sin[2 #]} & /@ Range[0, 2 Pi, 0.1], {#, Sin[#]} & /@
Range[0, 2 Pi, 0.1], {#, Cos[#]} & /@ Range[0, 2 Pi, 0.1]},
Joined -> {False, True, True},
PlotLegend -> {"Sin[2x]", "Sin[x]", "Cos[x]"},
LegendPosition -> {0, 0}, LegendSize -> {1, 0.5},
LegendShadow -> None, LegendBorder -> {Black}]

--
養花種魚數月亮賞星星

http://chungyuandye.twbbs.org


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.129.64
→ chungyuandye:位置大小就自己調一下  10/04 21:42

2011年9月13日 星期二

[自動轉寄] Re: [賣/面交/高雄] IPAD2 WIFY 16G

作者: ispaaa (RCT)
標題: Re: [賣/面交/高雄] IPAD2 WIFY 16G
時間: Wed Sep 14 10:37:40 2011


我不會看保固耶,不好意思。

是沒有拆封的,從外面我只知道是2011出廠的,這樣有回答到你的問題嗎?

還是外面包裝上有寫,你跟我說我再找一下?


※ 引述《chungyuandye (養花種魚數月亮賞星星)》之銘言:
: ※ 引述《ispaaa (RCT)》之銘言:
: : 板工提醒:發文前 請詳閱板規條文
: : ==========================================================================
: : [物品型號]: IPAD2 WIFY 16G 黑白皆有
: : [連絡方式]:站內信
: : [交易地點]:高雄市區面交
: : [交易價格]:14500
: : [其他備註]:原PO和APPLE系列商品不熟,是朋友贈送的。
: : 有其他問題都可以站內信詢問。
: 請問保固到什麼時候??
: 感恩喔∼

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.127.186.10