ນີ້ແມ່ນ ode ຄໍາສັ່ງທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍສະຖານີເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS emulator ອອນໄລນ໌.
ໂຄງການ:
NAME
ode - ການແກ້ໄຂຕົວເລກຂອງສົມຜົນຄວາມແຕກຕ່າງປະຊຸມສະໄຫມ
ສະຫຼຸບສັງລວມ
ode [ ທາງເລືອກໃນການ ] [ ເອກະສານ ]
ລາຍລະອຽດ
ode ເປັນເຄື່ອງມືທີ່ແກ້ໄຂໂດຍການລວມຕົວເລກ, ບັນຫາມູນຄ່າເບື້ອງຕົ້ນສໍາລັບການ a
ລະບົບທີ່ລະບຸໄວ້ຂອງຄໍາສັ່ງທໍາອິດຂອງສົມຜົນທີ່ແຕກຕ່າງປະຊຸມສະໄຫມ. ສາມຕົວເລກທີ່ແຕກຕ່າງກັນ
ແຜນການເຊື່ອມໂຍງແມ່ນມີຢູ່: Runge-Kutta-Fehlberg (ຄ່າເລີ່ມຕົ້ນ), Adams-Moulton, ແລະ
ອອຍເລີ. ໂຄງການ Adams-Moulton ແລະ Runge-Kutta ແມ່ນມີຢູ່ກັບຂະໜາດຂັ້ນຕອນທີ່ປັບຕົວໄດ້.
ການ ດຳ ເນີນງານຂອງ ode ຖືກລະບຸໂດຍໂຄງການ, ຂຽນໃນພາສາປ້ອນຂອງມັນ. ໄດ້
ໂຄງການແມ່ນພຽງແຕ່ບັນຊີລາຍການຂອງການສະແດງອອກສໍາລັບການສືບພັນຂອງຕົວແປທີ່ຈະເປັນ
ປະສົມປະສານ, ຮ່ວມກັນກັບຄໍາຖະແຫຼງການຄວບຄຸມບາງ. ບາງຕົວຢ່າງແມ່ນໃຫ້ຢູ່ໃນ
ຕົວຢ່າງ ສ່ວນ.
ode ອ່ານໂຄງການຈາກໄຟລ໌ທີ່ລະບຸໄວ້, ຫຼືຈາກວັດສະດຸປ້ອນມາດຕະຖານຖ້າບໍ່ມີຊື່ໄຟລ໌
ມອບໃຫ້. ຖ້າອ່ານຈາກວັດສະດຸປ້ອນມາດຕະຖານ, ode ຈະຢຸດເຊົາການອ່ານແລະອອກເມື່ອມັນເຫັນ a
ໄລຍະເວລາດຽວຢູ່ໃນເສັ້ນດ້ວຍຕົວມັນເອງ.
ໃນແຕ່ລະຂັ້ນຕອນ, ຄ່າຂອງຕົວແປທີ່ລະບຸໄວ້ໃນໂປຣແກຣມຖືກຂຽນໃສ່
ຜົນຜະລິດມາດຕະຖານ. ດັ່ງນັ້ນຕາຕະລາງຂອງຄ່າຈະຖືກຜະລິດ, ໂດຍແຕ່ລະຄໍລໍາສະແດງໃຫ້ເຫັນ
evolution ຂອງຕົວແປ. ຖ້າມີພຽງແຕ່ສອງຖັນ, ຜົນຜະລິດສາມາດຖືກທໍ່ໃສ່
graph(1) ຫຼືໂຄງການວາງແຜນທີ່ຄ້າຍຄືກັນ.
OPTIONS
ການປ້ອນຂໍ້ມູນ ທາງເລືອກໃນການ
-f ເອກະສານ
--input-file ເອກະສານ
ອ່ານການປ້ອນຂໍ້ມູນຈາກ ເອກະສານ ກ່ອນທີ່ຈະອ່ານຈາກວັດສະດຸປ້ອນມາດຕະຖານ. ທາງເລືອກນີ້ເຮັດໃຫ້ມັນ
ເປັນໄປໄດ້ທີ່ຈະເຮັດວຽກໂຕ້ຕອບ, ຫຼັງຈາກການອ່ານຊິ້ນໂຄງການທີ່ກໍານົດໄດ້
ລະບົບສົມຜົນຄວາມແຕກຕ່າງ.
ຜົນຜະລິດ ທາງເລືອກໃນການ
-p ກ່ອນໜ້າ
-- ຄວາມຖືກຕ້ອງ ກ່ອນໜ້າ
ເມື່ອພິມຜົນໄດ້ຮັບຕົວເລກ, ໃຊ້ ກ່ອນໜ້າ ຕົວເລກທີ່ສໍາຄັນ (ຄ່າເລີ່ມຕົ້ນແມ່ນ 6).
ຖ້າຕົວເລືອກນີ້ຖືກມອບໃຫ້, ຮູບແບບການພິມຈະເປັນສັນຍາລັກທາງວິທະຍາສາດ.
-t
--ຫົວຂໍ້
ພິມເສັ້ນຫົວຂໍ້ຢູ່ຫົວຜົນຜະລິດ, ຕັ້ງຊື່ຕົວແປໃນແຕ່ລະຖັນ.
ຖ້າຕົວເລືອກນີ້ຖືກມອບໃຫ້, ຮູບແບບການພິມຈະເປັນສັນຍາລັກທາງວິທະຍາສາດ.
ການເຊື່ອມໂຍງ ໂຄງການ ທາງເລືອກໃນການ
ຕົວເລືອກຕໍ່ໄປນີ້ລະບຸໂຄງການລວມຕົວເລກ. ພຽງແຕ່ຫນຶ່ງໃນສາມ
ທາງເລືອກພື້ນຖານ -R, -A, -E ອາດຈະຖືກກໍານົດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ -R (Runge-Kutta-Fehlberg).
-R [ຂະຫນາດຂັ້ນຕອນ]
--runge-kutta [ຂະຫນາດຂັ້ນຕອນ]
ໃຊ້ຂັ້ນຕອນທີຫ້າ Runge-Kutta-Fehlberg algorithm, ດ້ວຍການປັບຂະໜາດຂັ້ນຕອນ ເວັ້ນເສຍແຕ່
ຂະຫນາດຂັ້ນຕອນຄົງທີ່ຖືກກໍານົດ. ເມື່ອຂະຫນາດຂັ້ນຕອນຄົງທີ່ຖືກກໍານົດແລະບໍ່ມີ
ການວິເຄາະຄວາມຜິດພາດແມ່ນໄດ້ຖືກຮ້ອງຂໍ, ຫຼັງຈາກນັ້ນ, ໂຄງການ Runge-Kutta ສີ່ຄລາສສິກແມ່ນ
ໃຊ້ແລ້ວ.
-A [ຂະຫນາດຂັ້ນຕອນ]
--adams-multon [ຂະຫນາດຂັ້ນຕອນ]
ໃຊ້ຮູບແບບການຄາດເດົາ-Moulton-order-corrector ສີ່ແບບ Adams-Moulton, ດ້ວຍການປັບຕົວ
ຂະຫນາດຂັ້ນຕອນເວັ້ນເສຍແຕ່ຂະຫນາດຂັ້ນຕອນຄົງທີ່, ຂະຫນາດຂັ້ນຕອນ, ແມ່ນລະບຸໄວ້. ໄດ້
Runge-Kutta-Fehlberg algorithm ຖືກນໍາໃຊ້ເພື່ອຜ່ານຈຸດ 'ບໍ່ດີ' (ຖ້າມີ).
-E [ຂະຫນາດຂັ້ນຕອນ]
--euler [ຂະຫນາດຂັ້ນຕອນ]
ໃຊ້ໂຄງການ Euler 'ໄວແລະເປື້ອນ', ໂດຍມີຂັ້ນຕອນຄົງທີ່. ຄ່າເລີ່ມຕົ້ນ
of ຂະຫນາດຂັ້ນຕອນ ແມ່ນ 0.1. ບໍ່ແນະນໍາສໍາລັບຄໍາຮ້ອງສະຫມັກທີ່ຮ້າຍແຮງ.
ທາງເລືອກໃນການຜູກມັດຄວາມຜິດພາດ -r ແລະ -e (ເບິ່ງຂ້າງລຸ່ມນີ້) ອາດຈະບໍ່ຖືກນໍາໃຊ້ຖ້າຫາກວ່າ -E ຖືກກໍານົດ.
-h hmin [hmax]
--ຂັ້ນຕອນ-ຂະໜາດ-ຜູກມັດ hmin [hmax]
ໃຊ້ຂອບເຂດຕ່ໍາ hmin ກ່ຽວກັບຂະຫນາດຂັ້ນຕອນ. ໂຄງການຕົວເລກຈະບໍ່ປ່ອຍໃຫ້
ຂັ້ນຕອນໄປຂ້າງລຸ່ມນີ້ hmin. ຄ່າເລີ່ມຕົ້ນແມ່ນເພື່ອອະນຸຍາດໃຫ້ຂະຫນາດຂັ້ນຕອນທີ່ຈະຫຍໍ້ລົງໄປ
ຂອບເຂດຈໍາກັດຂອງເຄື່ອງຈັກ, ie, ຕໍາ່ສຸດທີ່ nonzero double-precision ຕົວເລກຈຸດເລື່ອນ.
ການໂຕ້ຖຽງທາງເລືອກ hmax, ຖ້າລວມ, ກໍານົດຄ່າສູງສຸດສໍາລັບ
ຂະຫນາດຂັ້ນຕອນ. ມັນເປັນປະໂຫຍດໃນການປ້ອງກັນການປົກກະຕິຕົວເລກຈາກການຂ້າມຢ່າງໄວວາ
ໃນພາກພື້ນທີ່ຫນ້າສົນໃຈ.
Error ຜູກພັນ ທາງເລືອກໃນການ
-r rmax [rmin]
--relative-error-bound rmax [rmin]
ໄດ້ -r ທາງເລືອກກໍານົດຂອບເຂດເທິງກ່ຽວກັບຄວາມຜິດພາດຂັ້ນຕອນດຽວທີ່ກ່ຽວຂ້ອງ. ຖ້າ -r
ທາງເລືອກແມ່ນຖືກນໍາໃຊ້, ຄວາມຜິດພາດຂັ້ນຕອນດຽວທີ່ກ່ຽວຂ້ອງກັບຕົວແປທີ່ຂຶ້ນກັບໃດໆຈະບໍ່
ເກີນ rmax (ຄ່າເລີ່ມຕົ້ນແມ່ນ 10^-9). ຖ້າຫາກວ່ານີ້ຄວນຈະເກີດຂຶ້ນ, ການແກ້ໄຂ
ຈະຖືກປະຖິ້ມໄວ້ ແລະຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດຈະຖືກພິມອອກ. ຖ້າຂະຫນາດຂັ້ນຕອນບໍ່ແມ່ນ
ຄົງທີ່, ຂະຫນາດຂັ້ນຕອນຈະຖືກຫຼຸດລົງ 'ປັບຕົວ', ດັ່ງນັ້ນການຜູກມັດດ້ານເທິງ
ຄວາມຜິດພາດຂັ້ນຕອນດຽວບໍ່ໄດ້ຖືກລະເມີດ. ດັ່ງນັ້ນ, ເລືອກເອົາຜູກພັນເທິງຂະຫນາດນ້ອຍກວ່າກ່ຽວກັບການ
ຄວາມຜິດພາດຂັ້ນຕອນດຽວຈະເຮັດໃຫ້ເລືອກຂະຫນາດຂັ້ນຕອນຂະຫນາດນ້ອຍກວ່າ. ຜູກມັດຕ່ໍາ rmin
ອາດຈະຖືກລະບຸເປັນທາງເລືອກ, ເພື່ອແນະນໍາວ່າຂະຫນາດຂັ້ນຕອນຄວນຈະເພີ່ມຂຶ້ນ (the
ຄ່າເລີ່ມຕົ້ນສໍາລັບ rmin is rmax/ 1000).
-e Emax [ອີມິນ]
--absolute-error-bound Emax [ອີມິນ]
ຄ້າຍຄືກັບ -r, ແຕ່ຜູກມັດຄ່າຢ່າງແທ້ຈິງແທນທີ່ຈະເປັນຄວາມຜິດໃນຂັ້ນຕອນດຽວທີ່ກ່ຽວຂ້ອງ.
-s
--suppress-error-bound
ສະກັດກັ້ນເພດານໃນຄວາມຜິດພາດຂັ້ນຕອນດຽວ, ອະນຸຍາດໃຫ້ ode ທີ່ຈະສືບຕໍ່ເຖິງແມ່ນວ່ານີ້
ເພດານເກີນ. ນີ້ອາດຈະເຮັດໃຫ້ເກີດຄວາມຜິດພາດຈໍານວນຫລາຍ.
ຂໍ້ມູນຂ່າວສານ ທາງເລືອກໃນການ
- ຊ່ວຍ ພິມລາຍການຕົວເລືອກແຖວຄໍາສັ່ງ, ແລະອອກ.
- ການປ່ຽນແປງ
ພິມຈໍານວນສະບັບຂອງ ode ແລະຊຸດອຸປະກອນການວາງແຜນ, ແລະອອກ.
ທິດສະດີວິທະຍາ
ສ່ວນຫຼາຍແມ່ນຕົນເອງອະທິບາຍ. ຂໍ້ຍົກເວັ້ນທີ່ໃຫຍ່ທີ່ສຸດແມ່ນ 'syntax error', ຊຶ່ງຫມາຍຄວາມວ່າມີ
grammatical ຜິດພາດ. ຂໍ້ຄວາມຜິດພາດພາສາແມ່ນຂອງຮູບແບບ
ລະຫັດ: nn: ຂໍ້ຄວາມ...
ບ່ອນທີ່ `nnn' ແມ່ນຕົວເລກຂອງແຖວປ້ອນຂໍ້ມູນທີ່ມີຂໍ້ຜິດພາດ. ຖ້າ -f ທາງເລືອກແມ່ນ
ຖືກນໍາໃຊ້, ຄໍາວ່າ "(ໄຟລ໌)" ປະຕິບັດຕາມ 'nnn' ສໍາລັບຄວາມຜິດພາດທີ່ພົບພາຍໃນໄຟລ໌.
ຕໍ່ມາ, ເມື່ອ ode ເລີ່ມຕົ້ນການອ່ານການປ້ອນຂໍ້ມູນມາດຕະຖານ, ເລກແຖວເລີ່ມຕົ້ນຈາກ 1.
ບໍ່ມີຄວາມພະຍາຍາມໃດໆທີ່ຈະຟື້ນຕົວຢ່າງສໍາເລັດຜົນຈາກຄວາມຜິດພາດ syntactic ໃນການປ້ອນຂໍ້ມູນ. ແນວໃດກໍ່ຕາມ,
ມີຄວາມພະຍາຍາມທີ່ຈະ synchronize ຄືນໃໝ່ເພື່ອໃຫ້ມີຄວາມຜິດພາດຫຼາຍກວ່າໜຶ່ງອັນໃນການສະແກນຄັ້ງດຽວ.
ຄວາມຜິດພາດໃນເວລາແລ່ນເຮັດໃຫ້ຂໍ້ຄວາມອະທິບາຍບັນຫາ, ແລະການແກ້ໄຂໄດ້ຖືກປະຖິ້ມໄວ້.
ຕົວຢ່າງ
ໂຄງການ
y' = y
y = 1
ພິມ t, y
ຂັ້ນຕອນ 0, 1
ແກ້ໄຂບັນຫາມູນຄ່າເບື້ອງຕົ້ນທີ່ການແກ້ໄຂແມ່ນ y=e^tທີ່ຢູ່ ເມື່ອໃດ ode ດໍາເນີນການໂຄງການນີ້, ມັນ
ຈະຂຽນສອງຖັນຂອງຕົວເລກໄປຫາຜົນຜະລິດມາດຕະຖານ. ແຕ່ລະເສັ້ນຈະສະແດງຄ່າຂອງ
ຕົວແປເອກະລາດ t, ແລະຕົວແປ y, as t ແມ່ນກ້າວຈາກ 0 ຫາ 1.
ຕົວຢ່າງທີ່ຊັບຊ້ອນກວ່າຈະເປັນ
ຊິນ' = ໂກຊິນ
ໂຄຊິນ = -sine
ຊີນ = 0
ໂກຊິນ = 1
ພິມ t, ຊີນ
ຂັ້ນຕອນ 0, 2*PI
ໂຄງການນີ້ແກ້ໄຂບັນຫາມູນຄ່າເບື້ອງຕົ້ນສໍາລັບລະບົບຂອງສອງສົມຜົນທີ່ແຕກຕ່າງ.
ບັນຫາມູນຄ່າເບື້ອງຕົ້ນຫັນອອກເພື່ອກໍານົດຫນ້າທີ່ sine ແລະ cosine. ໂຄງການ
ຂັ້ນຕອນລະບົບໃນໄລຍະເຕັມ.
AUTHORS
ode ຂຽນໂດຍ Nicholas B. Tufillaro ([email protected]), ແລະປັບປຸງເລັກນ້ອຍໂດຍ Robert
S. Maier ([email protected]) ເພື່ອລວມມັນເຂົ້າໄປໃນ Utilities ການວາງແຜນ GNU.
ໃຊ້ ode ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net