ใช้โปรแกรมไหนดี เพื่อจะหาค่าของฟังก์ชันนี้ครับ
ต้องการแสดงค่า $\Delta_{n}(u)$ เมื่อ $n = 1,2,3, \cdots$ และกำหนด $u,c_{0}>0$ เป็นค่าคงที่ขึ้นมา (เช่น $u=0, c_{0}=1.1$)
โดยที่ $\Delta_{0}(u)=1,~ \Delta_{n}(u) = e^{nc_{0}} + 0.5 \Delta_{n-1}(u+c_{0}) + 0.5 \displaystyle\int_{0}^{u+c_{0}} \Delta_{n-1} (x) dx$ ไม่ทราบว่าจะใช้วิธีการอย่างไรดี เพื่อที่จะแสดงค่า $\Delta_{n}(u)$ โดยที่ $n$ เริ่มตั้งแต่ 1 ถึง 100 รบกวนผู้รู้ช่วยแนะนำทีครับ :please::wacko: |
ผมใช้ code ข้างล่างนี้ รันโดยใช้ matlab ปรากฏว่าผลรันจะช้าเมื่อ ค่า n โตมากขึ้น (พจน์ที่เกิดจากการอินทิเกรตแต่ละรอบเพิ่มมากขึ้น )
ผมจึงใคร่ขอคำแนะนำจากผู้เชี่ยวชาญ ว่าควรทำยังไง ปรับเปลี่ยนในส่วนใดได้บ้าง เพื่อให้ได้ผลรันเร็วขึ้นครับ ต้องการค่า n 50 ค่า แรก ครับ clc; clear u=0;p=0.5;c0=1.25; lamda0=1; %กำหนดค่าคงที่ Ruin=[]; %กำหนดเมทริกซ์เพื่อรับค่า รูอิน syms x1 x2 lamda c %บอกตัวแปรเพื่ออินทเกรต f=exp(lamda*c)+(1-p)+lamda*p*(x2+c) %f คือ a_1(x1) Ruin(1)=p*exp(-lamda0*(u+c0)); Ruin(2)=p*exp(-lamda0*(u+2*c0))*(exp(lamda0*c0)+(1-p)+lamda0*p*(u+c0)); for n=3:8 % กำหนดค่า n=5 f0=f; f00=(1-p)*subs(f0,x2,'x2+c')+lamda*p*int(f0,x2,[0],[x2+c]); f=exp((n-1)*lamda*c)+f00; g=p*exp(-lamda*(x2+c0))+p*exp(-lamda*n*c-lamda*x2)*f00; Ruin(n)=subs(g,[x2 lamda c],[u lamda0 c0]); [n Ruin(n)] end Ruin' |
ผมลองรันโปรแกรมตามข้างบน ปรากฎว่า ค่า n ที่รันได้หยุดอยู่ที่ 32
อยากทราบว่าเพราะเหตุใด ขอบคุณสำหรับคำตอบครับ |
อยากทราบว่า 3 บรรทัดสุดท้ายคืออะไรครับ
[n Ruin(n)] end Ruin' |
ผมใส่ Comment ดังนี้
% [n Ruin(n)] end % Ruin' ก็รันผ่านดีนี่ครับ ได้ค่าคำตอบเป็นจำนวนเชิงซ้อน |
อ้างอิง:
n คือ จำนวนปี Ruin(n) คือค่า ruin probability ปีที่ n ครับ ขอบคุณที่ช่วยดูให้นะครับ ได้ผลรันแหละ แต่กว่าจะออก :blood::blood::blood: |
เวลาที่แสดงทั้งหมด เป็นเวลาที่ประเทศไทย (GMT +7) ขณะนี้เป็นเวลา 21:35 |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Modified by Jetsada Karnpracha