ພາສາອັງກິດພາສາຝຣັ່ງແອສປາໂຍນ

Ad


OnWorks favicon

minccalc - ອອນລາຍໃນຄລາວ

ເປີດໃຊ້ minccalc ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ minccalc ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນສະຖານີເຮັດວຽກອອນໄລນ໌ຟຣີຫຼາຍອັນຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


minccalc - ປະຕິບັດການປະຕິບັດຄະນິດສາດທີ່ສັບສົນໃນໄຟລ໌ minc

ສະຫຼຸບສັງລວມ


mincalc [ ] .mnc [ .mnc...] .mnc

ລາຍລະອຽດ


Minccalc ຈະປະຕິບັດການດຳເນີນຄະນິດສາດທີ່ສັບສົນ, voxel-by-voxel, ໃນໜຶ່ງ ຫຼືຫຼາຍໄຟລ໌ minc
ຮູບຮ່າງດຽວກັນ ແລະມີການເກັບຕົວຢ່າງປະສານງານດຽວກັນ, ການຜະລິດໄຟລ໌ຜົນຜະລິດອັນດຽວ.
ການ​ດໍາ​ເນີນ​ງານ​ທີ່​ຈະ​ປະ​ຕິ​ບັດ​ແມ່ນ​ການ​ປ້ອນ​ຂໍ້​ມູນ​ໂດຍ​ນໍາ​ໃຊ້​ - ການ​ສະ​ແດງ​ອອກ​ ການໂຕ້ຖຽງ (ເບິ່ງ ການສະແດງອອກ).
ໂດຍຄ່າເລີ່ມຕົ້ນ, ໄຟລ໌ຜົນຜະລິດແມ່ນການໂຕ້ຖຽງທີ່ບໍ່ແມ່ນທາງເລືອກສຸດທ້າຍ. ຢ່າງໃດກໍຕາມ, ຖ້າຫາກວ່າ -outfile
ທາງ​ເລືອກ​ແມ່ນ​ໄດ້​ຖືກ​ນໍາ​ໃຊ້​, ຫຼັງ​ຈາກ​ນັ້ນ​ການ​ໂຕ້​ຖຽງ​ທີ່​ບໍ່​ແມ່ນ​ທາງ​ເລືອກ​ທັງ​ຫມົດ​ແມ່ນ​ພິ​ຈາ​ລະ​ນາ​ໄຟລ​໌​ເຂົ້າ​ແລະ​ຜົນ​ຜະ​ລິດ​ໄດ້​
ຊື່ໄຟລ໌ມາຈາກ -outfile ທາງເລືອກ, ຊຶ່ງສາມາດມີຫຼາຍກ່ວາຫນຶ່ງ.

OPTIONS


ໃຫ້ສັງເກດວ່າທາງເລືອກສາມາດຖືກກໍານົດໃນຮູບແບບຫຍໍ້ (ຕາບໃດທີ່ພວກມັນເປັນເອກະລັກ) ແລະ
ສາມາດໄດ້ຮັບການມອບໃຫ້ທຸກບ່ອນໃນເສັ້ນຄໍາສັ່ງ.

-2 ສ້າງໄຟລ໌ຜົນຜະລິດຮູບແບບ MINC 2.0.

-ຊ່ວຍ ພິມບົດສະຫຼຸບຂອງຕົວເລືອກແຖວຄໍາສັ່ງແລະອອກ.

-ການປ່ຽນແປງ
ພິມໝາຍເລກເວີຊັນຂອງໂປຣແກຣມ ແລະອອກ.

-clobber
ຂຽນທັບໄຟລ໌ທີ່ມີຢູ່ແລ້ວ.

-noclobber
ຢ່າຂຽນທັບໄຟລ໌ທີ່ມີຢູ່ແລ້ວ (ຄ່າເລີ່ມຕົ້ນ).

-no_clobber
ຄໍາສັບຄ້າຍຄື -noclobber.

- ກະດູກ
ພິມຂໍ້ມູນຄວາມຄືບໜ້າຂອງຂໍ້ມູນແຕ່ລະອັນທີ່ສຳເນົາໄວ້ (ຄ່າເລີ່ມຕົ້ນ).

- ງຽບ ຢ່າພິມຂໍ້ມູນຄວາມຄືບໜ້າອອກ.

-ແມງໄມ້ ພິມຂໍ້ມູນການດີບັກອອກ.

-copy_header
ສຳເນົາຂໍ້ມູນສ່ວນຫົວທັງໝົດຈາກໄຟລ໌ປ້ອນຂໍ້ມູນທຳອິດ (ຄ່າເລີ່ມຕົ້ນສຳລັບການປ້ອນຂໍ້ມູນອັນດຽວ
ໄຟລ).

-nocopy_header
ຫ້າມຄັດລອກສ່ວນຫົວທັງໝົດຈາກໄຟລ໌ປ້ອນຂໍ້ມູນທຳອິດ; ສໍາເນົາພຽງແຕ່ປະສານງານ
ຂໍ້ມູນ (ຄ່າເລີ່ມຕົ້ນສໍາລັບຫຼາຍກວ່າຫນຶ່ງໄຟລ໌ທີ່ປ້ອນເຂົ້າ).

- ປະເພດໄຟລ໌
ສ້າງໄຟລ໌ຜົນຜະລິດທີ່ມີປະເພດດຽວກັນກັບໄຟລ໌ປ້ອນຂໍ້ມູນທໍາອິດ (ຄ່າເລີ່ມຕົ້ນ).

-byte ເກັບຮັກສາ voxels ຜົນຜະລິດໃນຮູບແບບຈໍານວນ 8-bit.

- ສັ້ນ ເກັບຮັກສາ voxels ຜົນຜະລິດໃນຮູບແບບຈໍານວນ 16-bit.

-int ເກັບຮັກສາ voxels ຜົນຜະລິດໃນຮູບແບບຈໍານວນ 32-bit.

-ຍາວ ແທນທີ່ໂດຍ -int.

- ລອຍ ເກັບຮັກສາ voxels ຜົນຜະລິດໃນຮູບແບບ 32-bit floating point.

- ສອງ​ເທົ່າ​
ເກັບຮັກສາ voxels ຜົນຜະລິດໃນຮູບແບບ 64-bit floating point.

- ເຊັນ
ໃຊ້ການລົງລາຍເຊັນ, ຮູບແບບຈຳນວນເຕັມທີ່ສົມບູນຂອງສອງ. ນຳໃຊ້ພຽງແຕ່ຖ້າປະເພດ voxel ຜົນຜະລິດ
ຖືກກໍານົດໃຫ້ເປັນປະເພດຈໍານວນເຕັມ (ຫນຶ່ງໃນ -byte, - ສັ້ນ, -int or -ຍາວ).

- ບໍ່ໄດ້ເຊັນ
ໃຊ້ຮູບແບບຈຳນວນເຕັມທີ່ບໍ່ໄດ້ເຊັນ. ນຳໃຊ້ພຽງແຕ່ຖ້າປະເພດ voxel ຜົນຜະລິດຖືກລະບຸໃສ່
ເປັນປະເພດຈໍານວນເຕັມ (ຫນຶ່ງໃນ -byte, - ສັ້ນ, -int or -ຍາວ).

- ຈັດແຈງ ນາທີ ສູງສຸດທີ່ເຄຍ
ຈຳກັດຂອບເຂດທີ່ຖືກຕ້ອງຂອງຂໍ້ມູນຈຳນວນເຕັມ. ນຳໃຊ້ພຽງແຕ່ຖ້າໜຶ່ງໃນ -byte,
- ສັ້ນ, -int or -ຍາວ ທາງ​ເລືອກ​ແມ່ນ​ໄດ້​ລະ​ບຸ​ໄວ້​.

-max_buffer_size_in_kb ຂະຫນາດ
ລະບຸຂະຫນາດສູງສຸດຂອງ buffers ພາຍໃນ (ໃນ kbytes). ຄ່າເລີ່ມຕົ້ນແມ່ນ 4096
(4 MB).

-dimension ຊື່ຫຍໍ້
ລະບຸມິຕິຕາມທີ່ພວກເຮົາຕ້ອງການປະຕິບັດການສະສົມ.

-check_dimensions
ກວດເບິ່ງວ່າໄຟລ໌ປ້ອນຂໍ້ມູນທັງໝົດມີຕົວຢ່າງທີ່ກົງກັນຢູ່ໃນຂະໜາດໂລກ (ຄ່າເລີ່ມຕົ້ນ).

-nocheck_dimensions
ບໍ່ສົນໃຈຄວາມແຕກຕ່າງໃດໆໃນການເກັບຕົວຢ່າງຂະໜາດໂລກສຳລັບໄຟລ໌ປ້ອນຂໍ້ມູນ.

-propagate_nan
ສໍາລັບການປະຕິບັດ vector ສະສົມ (sum, ຜະລິດຕະພັນ ແລະ ສະເລ່ຍ), ຂໍ້ມູນບໍ່ຖືກຕ້ອງ (Not-A-Number
ຫຼື NaN) ໃນອົງປະກອບຂອງ vector ຈະຜະລິດຂໍ້ມູນທີ່ບໍ່ຖືກຕ້ອງໃນຜົນໄດ້ຮັບ
(ເລີ່ມຕົ້ນ).

-ignore_nan
ສໍາລັບການປະຕິບັດ vector ສະສົມ, ຂໍ້ມູນທີ່ບໍ່ຖືກຕ້ອງ (NaN) ໃນ vector ແມ່ນຖືກລະເລີຍ, ie.
ຮັບການປິ່ນປົວຄືກັບວ່າມັນບໍ່ແມ່ນປະຈຸບັນ.

-ນານ ໃນເວລາທີ່ການດໍາເນີນງານທີ່ຜິດກົດຫມາຍແມ່ນພະຍາຍາມຢູ່ໃນ voxel (ເຊັ່ນ: ແບ່ງດ້ວຍສູນ), the
ຜົນໄດ້ຮັບແມ່ນຂໍ້ມູນທີ່ບໍ່ຖືກຕ້ອງ (NaN) (ຄ່າເລີ່ມຕົ້ນ). ບໍ່ມີຂໍ້ມູນການປ້ອນຂໍ້ມູນທີ່ຖືກຕ້ອງສໍາລັບການສະສົມ
ການດໍາເນີນງານຍັງຖືວ່າເປັນການດໍາເນີນງານທີ່ຜິດກົດຫມາຍໃນເວລາທີ່ -ignore_nan ຖືກນໍາໃຊ້.

-ສູນ ໃນເວລາທີ່ການດໍາເນີນງານທີ່ຜິດກົດຫມາຍແມ່ນພະຍາຍາມຢູ່ໃນ voxel (ເຊັ່ນ: ແບ່ງດ້ວຍສູນ), the
ຜົນໄດ້ຮັບແມ່ນຄ່າສູນ.

-illegal_value ມູນຄ່າ
ໃນເວລາທີ່ການດໍາເນີນງານທີ່ຜິດກົດຫມາຍແມ່ນພະຍາຍາມຢູ່ໃນ voxel (ເຊັ່ນ: ແບ່ງດ້ວຍສູນ), the
ຜົນໄດ້ຮັບແມ່ນຄ່າທີ່ລະບຸໄວ້ໂດຍທາງເລືອກນີ້.

- ການ​ສະ​ແດງ​ອອກ​ string
ລະບຸການສະແດງອອກເພື່ອປະເມີນໃນແຕ່ລະ voxel (ເບິ່ງ EXPRESSIONS).

-expfile ຊື່​ເອ​ກະ​ສານ
ລະບຸໄຟລ໌ທີ່ມີການສະແດງຜົນເພື່ອປະເມີນໃນແຕ່ລະ voxel (ເບິ່ງ
ສະແດງອອກ). ຖ້າຊື່ໄຟລ໌ ``-'' ຖືກໃຫ້, ຫຼັງຈາກນັ້ນການສະແດງອອກແມ່ນອ່ານຈາກ stdin.
ຄວາມແຕກຕ່າງພຽງແຕ່ຈາກການສະແດງອອກໃນແຖວຄໍາສັ່ງແມ່ນວ່າຄໍາຄິດຄໍາເຫັນສາມາດໃສ່ໄດ້
ໄຟລ໌. ແຖວຄຳຄິດເຫັນຖືກລະບຸໂດຍການວາງ ``#'' ເປັນອັນທຳອິດທີ່ບໍ່ແມ່ນ.
ລັກສະນະຊ່ອງຫວ່າງຂອງແຖວ. script Minccalc ສາມາດຖືກສ້າງຂື້ນໂດຍການຕັ້ງຄ່າ
ແຖວທໍາອິດກັບ

#! /usr/local/mni/bin/minccalc -expfile

-outfile ສັນຍາລັກ output-file
ລະບຸວ່າຜົນຜະລິດຄວນຈະຖືກຂຽນໃສ່ໄຟລ໌ທີ່ລະບຸ, ເອົາຄ່າຈາກ
ສັນ​ຍາ​ລັກ​ທີ່​ຄວນ​ຈະ​ໄດ້​ຮັບ​ການ​ສ້າງ​ຕັ້ງ​ຂື້ນ​ໃນ​ການ​ສະ​ແດງ​ອອກ (ເບິ່ງ​ ຕົວຢ່າງ ພາກ). ຖ້າ
ຕົວເລືອກນີ້ຖືກມອບໃຫ້, ຫຼັງຈາກນັ້ນ arguments ທີ່ບໍ່ແມ່ນທາງເລືອກທັງຫມົດຈະຖືກເອົາເປັນໄຟລ໌ປ້ອນຂໍ້ມູນ. ນີ້
ທາງ​ເລືອກ​ສາ​ມາດ​ນໍາ​ໃຊ້​ຫຼາຍ​ຄັ້ງ​ສໍາ​ລັບ​ໄຟລ​໌​ຜົນ​ຜະ​ລິດ​ຫຼາຍ​.

-eval_width ມູນຄ່າ
ລະບຸຈໍານວນຂອງ voxels ທີ່ຈະປະມວນຜົນໃນຂະຫນານ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 200.

ການສະແດງອອກ


ໄດ້ - ການ​ສະ​ແດງ​ອອກ​ argument ເປັນສະຕຣິງດຽວທີ່ອະທິບາຍຟັງຊັນເພື່ອປະເມີນ. ໄດ້
ການສະແດງອອກຂອງຟັງຊັນໂດຍທົ່ວໄປແມ່ນຂຽນໃນແງ່ຂອງ vector A.

ຕົວຢ່າງ, ການສະແດງອອກຕໍ່ໄປນີ້ຈະລວມເອົາສອງໄຟລ໌ທໍາອິດເຂົ້າກັນ:

A[0] + A[1]

ການສະແດງອອກຫຼາຍສາມາດຖືກແຍກອອກດ້ວຍເຄື່ອງໝາຍຈຸດ, ໃນກໍລະນີນີ້ພຽງແຕ່ຄ່າຂອງ
ການສະແດງອອກສຸດທ້າຍແມ່ນໃຊ້. ລາຍຊື່ການສະແດງອອກເຫຼົ່ານີ້ສາມາດຖືກນໍາໃຊ້ກັບການມອບຫມາຍ
ການສະແດງອອກເພື່ອເຮັດໃຫ້ syntax ຄ້າຍຄື C:

ອັດຕາສ່ວນ = A[0]/A[1]; A[2]*exp(-ອັດຕາສ່ວນ)

ບັນຊີລາຍຊື່ການສະແດງອອກໃນວົງເລັບ curly ແມ່ນສະແດງອອກທີ່ຖືກຕ້ອງແລະສົ່ງຄືນຄ່າຂອງສຸດທ້າຍ
ການສະແດງອອກໃນບັນຊີລາຍຊື່. ນີ້ແມ່ນເປັນປະໂຫຍດໂດຍສະເພາະໃນ ສໍາລັບການ ແລະ if ການສະແດງອອກ (ເບິ່ງຂ້າງລຸ່ມນີ້).

ມີສອງປະເພດຂອງຄ່າໃນພາສາ: vectors ແລະ scalar. Scalars literals ແມ່ນ
ຕົວເລກຈຸດລອຍ ຫຼືອາດຈະປະກົດເປັນສັນຍາລັກທີ່ຊື່ເລີ່ມຕົ້ນດ້ວຍຕົວພິມນ້ອຍ.

ນອກ​ຈາກ​ຕົວ​ປະ​ຕິ​ບັດ​ການ​ສະ​ເກັດ​ເງິນ​ປົກ​ກະ​ຕິ​ເຊັ່ນ​: +​, -​, * ແລະ /​, ພາ​ສາ​ສະ​ແດງ​ອອກ​ຍັງ​
ສະ​ຫນັບ​ສະ​ຫນູນ infix exponention operator ^ , ຕົວ​ປະ​ຕິ​ບັດ​ການ​ພົວ​ພັນ​ປົກ​ກະ​ຕິ <, <=, >,
>=, ==, != ເຊັ່ນດຽວກັນກັບຕົວປະຕິບັດການ boolean && (ແລະ), || (ຫຼື) ແລະ ! (ບໍ່). ໃຫ້ສັງເກດວ່າ
&& ແລະ || ຕົວປະຕິບັດການ boolean ສະເຫມີປະເມີນທັງສອງ operand, ບໍ່ເຫມືອນກັບ C. Scalar ຄະນິດສາດ
ຫນ້າທີ່ປະກອບມີ abs, sqrt, exp, log, sin, cos, tan, ອາຊິນ, acos ແລະ atan. ຍັງມີອີກ
ບາງ​ຫນ້າ​ທີ່​ພິ​ເສດ​:

isnan(v) - 1 ຖ້າ v ບໍ່ຖືກຕ້ອງ ແລະ 0 ຖ້າບໍ່ດັ່ງນັ້ນ
clamp(v1,v2,v3) - v1 ຜູກມັດດ້ວຍ [v2, v3]
segment(v1,v2,v3) - ການທົດສອບຖ້າ v1 ຢູ່ໃນ [v2, v3]

ສະຖິຕິຄົງທີ່ NaN ຖືກກຳນົດໄວ້ເຊັ່ນວ່າ isnan(NaN) return 1.

ສາມາດຂຽນ vectors ໃນຮູບແບບ 'ການຂະຫຍາຍ' ຕໍ່ໄປນີ້

[ຄ່າ 1, ຄ່າ 2, ... ]

ຫຼືໂດຍການໃຊ້ notations ການສ້າງຂອບເຂດຕໍ່ໄປນີ້:

[ a : b ] ສ້າງ {a, a+1, ..., b-1, b}
[ a : b ) ສ້າງ {a, a+1, ..., b-1}
( a : b ] ສ້າງ {a+1, ..., b-1, b}
( a : b ) ສ້າງ {a+1, ..., b-1}

ຫຼືຖືກສ້າງຂື້ນໂດຍ 'ຄວາມເຄັ່ງຕຶງ'. ການສະແດງອອກຄວາມຄຽດຕໍ່ໄປນີ້ສ້າງ vector
{3,2,1}:

{ i ໃນ [1:3] | 4 - ຂ້ອຍ }

Vectors ອາດຈະປາກົດເປັນສັນຍາລັກທີ່ຊື່ເລີ່ມຕົ້ນດ້ວຍຕົວພິມໃຫຍ່.

ນອກ​ຈາກ​ຕົວ​ປະ​ຕິ​ບັດ​ການ scalar​, ການ​ປະ​ຕິ​ບັດ vector ດັ່ງ​ຕໍ່​ໄປ​ນີ້​ແມ່ນ​ໄດ້​ຖືກ​ສະ​ຫນອງ​ໃຫ້​:

avg - ຄ່າສະເລ່ຍຂອງ scalar ໃນ vector
len - ຄວາມຍາວຂອງ
sum - ຜົນລວມຂອງອົງປະກອບຂອງ
prod - ຜະລິດຕະພັນຂອງອົງປະກອບຂອງ
max - ຄ່າສູງສຸດຂອງ
min - ຄ່າຕໍ່າສຸດຂອງ
imax - ດັດຊະນີຂອງມູນຄ່າສູງສຸດຂອງ
imin - ດັດຊະນີຂອງມູນຄ່າຕໍາ່ສຸດທີ່ຂອງ
V[s] - ອົງປະກອບທີ s ຂອງ vector V ກັບຕົ້ນກຳເນີດ 0.

ຊື່ສັນຍາລັກໄດ້ຖືກນໍາສະເຫນີເຂົ້າໄປໃນຕາຕະລາງສັນຍາລັກທົ່ວໂລກໂດຍການສະແດງອອກຂອງການມອບຫມາຍ
ຮູບແບບ

a = A[2] * log(2​)

ສັນຍາລັກທີ່ເລີ່ມຕົ້ນດ້ວຍຕົວພິມນ້ອຍເປັນຕົວແທນຂອງສະເກັດເງິນໃນຂະນະທີ່ສັນຍາລັກທີ່ເລີ່ມຕົ້ນດ້ວຍຕົວພິມນ້ອຍ
ຕົວອັກສອນຕົວພິມໃຫຍ່ເປັນຕົວແທນຂອງ vectors. ເນື່ອງຈາກ = ແມ່ນຕົວປະຕິບັດການ, ຜົນໄດ້ຮັບຂອງມັນສາມາດຖືກນໍາໃຊ້ເປັນ
ການສະແດງອອກ (ໃນ C).

ການກໍ່ສ້າງການຄວບຄຸມຈໍານວນຫນ້ອຍແມ່ນສະຫນອງໃຫ້:

ສໍາລັບ loops ສາມາດຖືກສ້າງຂື້ນເພື່ອ loop over vector ເປັນ, ກໍານົດແຕ່ລະຄ່າກັບສັນຍາລັກແລະຫຼັງຈາກນັ້ນ
ການ​ປະ​ເມີນ​ຜົນ​ການ​ສະ​ແດງ​ອອກ​. ນີ້ແມ່ນເຮັດດ້ວຍການສະແດງອອກຂອງແບບຟອມ

ທັງໝົດ=0; ສໍາລັບ{i ໃນ [0:len(A))} total=total+A[i]; ທັງໝົດ

ເຊິ່ງເທົ່າກັບຜົນລວມ(A). ໃຫ້ສັງເກດວ່ານີ້ແມ່ນຄ້າຍຄືກັນກັບການນໍາໃຊ້

ທັງໝົດ=0; len{i ໃນ [0:len(A)) | total=total+A[i]}; ທັງໝົດ

ຕັ້ງແຕ່ ສໍາລັບການ ການກໍ່ສ້າງແມ່ນຕົວປະຕິບັດຕົວຈິງ (ເຖິງແມ່ນວ່າມັນມັກຈະຖືກນໍາໃຊ້ພຽງແຕ່ສໍາລັບ
ການ​ປ່ຽນ​ແປງ​ຄຸນ​ຄ່າ​ສັນ​ຍາ​ລັກ​)​. ໃຫ້ສັງເກດວ່າໂດຍບໍ່ມີການສຸດທ້າຍ "ທັງຫມົດ", ສະແດງອອກ
ບໍ່ມີປະໂຫຍດຫຼາຍເພາະວ່າມັນຈະສົ່ງຄືນຄວາມຍາວຂອງ vector.

ໃນ C, ບັນຊີລາຍຊື່ຂອງການສະແດງອອກສາມາດຖືກລະບຸໄວ້ໃນ curlies:

total=total2=0;
ສໍາລັບ {i ໃນ [0:len(A))} {
total = ທັງໝົດ + A[i];
total2 = ທັງໝົດ2 + A[i]^2
}

ນອກ​ຈາກ​ນີ້​ຍັງ​ມີ​ຮູບ​ແບບ​ຈໍາ​ນວນ​ຫນຶ່ງ​ຂອງ​ ຖ້າຫາກວ່າ - ຫຼັງຈາກນັ້ນ - ອື່ນ ສ້າງ:

A[0]<0 ? 0 : A[0]

ຖ້າ (A[0]<0) result=0 else results=A[0]

ໄດ້ ອື່ນ ເປັນທາງເລືອກ. ອີກເທື່ອ ໜຶ່ງ, ຖ້າການກໍ່ສ້າງແມ່ນຕົວປະຕິບັດການ, ແລະ ຫຼັງຈາກນັ້ນ or ອື່ນ
expressions ສາມາດເປັນລາຍການສະແດງອອກໃນ curlies, ໃນກໍລະນີນີ້ມູນຄ່າຂອງສຸດທ້າຍ
ການສະແດງອອກຖືກສົ່ງຄືນ. ຖ້າ ອື່ນ ການສະແດງຜົນຫາຍໄປ, ຫຼັງຈາກນັ້ນຄ່າ 0 ຈະຖືກສົ່ງຄືນ
ເມື່ອການສະແດງອອກການທົດສອບແມ່ນ 0 (ບໍ່ຖືກຕ້ອງ).

ຄວາມແປກປະຫລາດຕົ້ນຕໍກັບ ສໍາລັບການ ແລະ if constructs ແມ່ນວ່າບໍ່ເຫມືອນກັບຄໍາຖະແຫຼງ C, ພວກເຂົາຕ້ອງ
ແຍກອອກຈາກການສະແດງອອກຕໍ່ໄປໂດຍເຄື່ອງໝາຍຈຸດແມ້ແຕ່ເມື່ອມີລາຍການສະແດງຢູ່ໃນ
curlies ໄດ້​ຖືກ​ນໍາ​ໃຊ້​:

ສໍາລັບ i ໃນ [0:len(A)) {total=total+A[i]} ; ທັງໝົດ/ເລນ(A)
ຖ້າ (A[i]>0) {result=2;} else {result=1} ; ຜົນ​ໄດ້​ຮັບ *5

ວິທີທາງເລືອກໃນການແນະນໍາຊື່ສັນຍາລັກແມ່ນຜ່ານ ໃຫ້- ການ​ສະ​ແດງ​ອອກ​. ສໍາລັບຕົວຢ່າງ, ໄດ້
ການສະແດງອອກຕໍ່ໄປນີ້ຈະປະເມີນເປັນ 3 ສະເໝີ:

ໃຫ້ a = 1, b = 2 ໃນ a + b

ເຫຼົ່ານີ້ໄດ້ຖືກອອກແບບໃນເບື້ອງຕົ້ນເພື່ອສ້າງຕົວແປພຽງແຕ່ພາຍໃນສະແດງອອກການປະເມີນຜົນ,
ແຕ່ການດັດແກ້ໄດ້ຖືກເຮັດເພື່ອໃຫ້ຕາຕະລາງສັນຍາລັກຂອງໂລກມີການປ່ຽນແປງ.

ຕົວຢ່າງ


ນີ້ແມ່ນການສະແດງອອກສໍາລັບການຄິດໄລ່ມາດຕະຖານ deviation, ຄໍານຶງເຖິງ
ຄວາມເປັນໄປໄດ້ຂອງຂໍ້ມູນປ້ອນຂໍ້ມູນທີ່ບໍ່ຖືກຕ້ອງ, ເຊິ່ງຖືກລະເລີຍ:

s0 = s1 = s2 = 0;

ສໍາລັບ { i ໃນ [0:len(A)) } {
v=A[i];
ຖ້າ (!isnan(v)) {
s0 = s0 + 1;
s1 = s1 + v;
s2 = s2 + v*v;
}
};

ຖ້າ (s0 > 1) {
sqrt((s2 - s1*s1/s0) / (s0-1));
}
ອື່ນ {
ນານາ;
};

ຖ້າສຸດທ້າຍສາມາດປ່ຽນເປັນ 0 ຖ້າ s0 ແມ່ນ > 0 ແຕ່ <= 1. ພວກເຮົາຍັງລຸດລົງ curly.
ວົງເລັບ, ແຕ່ຫຼັງຈາກນັ້ນຈະຕ້ອງບໍ່ມີ ";" ລະຫວ່າງ if ແລະອັນອື່ນ

ຖ້າ (s0 > 1)
sqrt((s2 - s1*s1/s0) / (s0-1))
ອື່ນຖ້າ (s0 > 0)
0
ອື່ນ
ນາ

ຖ້າ​ຫາກ​ວ່າ​ພວກ​ເຮົາ​ຕ້ອງ​ການ​ທັງ​ສອງ​ສະ​ເລ່ຍ​ແລະ​ມາດ​ຕະ​ຖານ deviation​, ພວກ​ເຮົາ​ສາ​ມາດ​ນໍາ​ໃຊ້​ -outfile ທາງເລືອກ,
ເອີ້ນຄໍາສັ່ງກັບ

minccalc -expfile stdev \
-outfile mean.mnc \
-outfile stdev stdev.mnc \
infile1.mnc infile2.mnc ...

ແລະການນໍາໃຊ້ໄຟລ໌ສະແດງອອກ (ມີຮູບແບບອື່ນຂອງ if expression):

s0 = s1 = s2 = 0;

ສໍາລັບ {i ໃນ [0:len(A))} {
v=A[i];
ຖ້າ (!isnan(v)) {
s0 = s0 + 1;
s1 = s1 + v;
s2 = s2 + v*v;
}
};

stdev = (s0 > 1) ? sqrt((s2 - s1*s1/s0) / (s0-1)):
(s0 > 0) ? 0 : ນາ ;
mean = (s0 > 0) ? s1 / s0 : NaN ;

ຂໍ້ຄວນລະວັງ


ບາງ​ສິ່ງ​ບາງ​ຢ່າງ​ທີ່​ທ່ານ​ຄວນ​ຈື່ ...

ຕົວແປ vector ຕ້ອງເລີ່ມຕົ້ນດ້ວຍຕົວພິມໃຫຍ່.

ຊື່ຕົວແປຂອງ Vector ຈະຕ້ອງບໍ່ແມ່ນຫນຶ່ງໃນຄໍາທີ່ໃຊ້ຫນ້າທີ່,
sum, len, prod, ... ແລະອື່ນໆ

ສໍາ​ລັບ​ການ loops ແລະ​ຖ້າ​ຫາກ​ວ່າ​ການ​ສະ​ແດງ​ອອກ​ສະ​ເຫມີ​ໄປ​ຈໍາ​ເປັນ​ຕ້ອງ​ໄດ້​ຖືກ​ແຍກ​ອອກ​ຈາກ​ການ​ສະ​ແດງ​ອອກ​ຕໍ່​ໄປ​ໂດຍ a
ຈໍ້າຈຸດ.

ຕາຕະລາງສັນຍາລັກແມ່ນທົ່ວໂລກ.

ຕົວປະຕິບັດການ Boolean && ແລະ || ສະເຫມີປະເມີນທັງສອງ operand.

ບັນທຶກກ່ຽວກັບການຂະຫນານ: ສໍາລັບເຫດຜົນປະສິດທິພາບ, ການປະເມີນຜົນແມ່ນເຮັດໃນຫຼາຍ voxels ໃນເວລາດຽວກັນ
(ຈໍານວນຂອງ voxels ແມ່ນຫມາຍເຖິງຄວາມກວ້າງຂອງການປະເມີນຜົນແລະມີການປ່ຽນແປງດ້ວຍ
ໄດ້ -eval_width ທາງ​ເລືອກ). ຜົນສະທ້ອນທີ່ແປກປະຫລາດຂອງເລື່ອງນີ້ແມ່ນວ່າທັງສອງດ້ານຂອງ if-else
ຄໍາຖະແຫຼງທີ່ໄດ້ຖືກປະເມີນສະເຫມີ (ເວັ້ນເສຍແຕ່ວ່າ voxels ທັງຫມົດຈະໃຫ້ຜົນການທົດສອບດຽວກັນ), ແຕ່
ຖະແຫຼງການພາຍໃນແຕ່ລະຜົນຖືກປະເມີນພຽງແຕ່ຢູ່ໃນ voxels ທີ່ເຫມາະສົມ. ໃນ
ໂດຍສະເພາະ, ອົງປະກອບໃນຕາຕະລາງສັນຍາລັກໄດ້ຖືກດັດແກ້ພຽງແຕ່ອີງຕາມຫນ້າກາກ voxel. ກ
ຜົນກະທົບຂ້າງຄຽງນີ້ແມ່ນວ່າສັນຍາລັກ vector ໃດທີ່ຕັ້ງຢູ່ໃນຜົນສະທ້ອນຖ້າອື່ນຕ້ອງບໍ່ປ່ຽນແປງ
ຄວາມຍາວຂອງສັນຍາລັກ (ເຖິງແມ່ນວ່າມັນສາມາດສ້າງໄດ້) ແລະທັງສອງດ້ານຂອງຜົນສະທ້ອນຕ້ອງ
ຕົກລົງເຫັນດີກ່ຽວກັບຄວາມຍາວຂອງສັນຍາລັກ vector ທີ່ທັງສອງດັດແປງ. ຖ້າອັນນີ້ບໍ່ຊັດເຈນ,
ພຽງແຕ່ພະຍາຍາມມັນ - ໂຄງການຈະຈົ່ມຖ້າຫາກວ່າມັນບໍ່ພໍໃຈ.

ໃຊ້ minccalc ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

  • 1
    Turkdevops
    Turkdevops
    TurkDevOps a ?k kaynak yaz?l?m
    geli?tirici topluuklar? DevTurks-ທີມງານ
    Taraf?ndan desteklenmektedir..
    ຄຸນນະສົມບັດ: https://github.com/turkdevopshttps://turkdevops.g...
    ດາວໂຫລດ turkdevops
  • 2
    asammdf
    asammdf
    *asammdf* ເປັນຕົວແຍກວິເຄາະ Python ທີ່ໄວ ແລະ
    ບັນນາທິການສໍາລັບ ASAM (ສະມາຄົມສໍາລັບ
    ມາດຕະຖານຂອງອັດຕະໂນມັດແລະ
    ລະບົບການວັດແທກ) MDF / MF4
    (ຮູບແບບຂໍ້ມູນການວັດແທກ...
    ດາວໂຫລດ asammdf
  • 3
    LAME (Lame ບໍ່ແມ່ນຕົວເຂົ້າລະຫັດ MP3)
    LAME (Lame ບໍ່ແມ່ນຕົວເຂົ້າລະຫັດ MP3)
    LAME ເປັນເຄື່ອງມືການສຶກສາທີ່ຈະນໍາໃຊ້
    ສໍາ​ລັບ​ການ​ຮຽນ​ຮູ້​ກ່ຽວ​ກັບ​ການ​ເຂົ້າ​ລະ​ຫັດ MP3​. ໄດ້
    ເປົ້າໝາຍຂອງໂຄງການ LAME ແມ່ນເພື່ອປັບປຸງ
    ສຽງ​ທາງ​ຈິດ​ໃຈ​, ຄຸນ​ນະ​ພາບ​ແລະ​ຄວາມ​ໄວ​
    ຂອງ MP...
    ດາວໂຫລດ LAME (Lame Aint an MP3 Encoder)
  • 4
    wxPython
    wxPython
    ຊຸດຂອງໂມດູນການຂະຫຍາຍ Python ທີ່
    ຫໍ່ຫ້ອງຮຽນ GUI ຂ້າມເວທີຈາກ
    wxWidgets.. ຜູ້ຊົມ: ນັກພັດທະນາ. ຜູ້ໃຊ້
    ການໂຕ້ຕອບ: X Window System (X11), Win32 ...
    ດາວໂຫລດ wxPython
  • 5
    packfilemanager
    packfilemanager
    ນີ້ແມ່ນຕົວຈັດການໄຟລ໌ Total War pack
    ໂຄງ​ການ​, ເລີ່ມ​ຈາກ​ສະ​ບັບ 1.7​. ກ
    ການແນະນໍາສັ້ນໆກ່ຽວກັບ Warscape
    modding: ...
    ດາວໂຫລດ packfilemanager
  • 6
    IPerf2
    IPerf2
    ເຄື່ອງມືການຈະລາຈອນເຄືອຂ່າຍສໍາລັບການວັດແທກ
    ການປະຕິບັດ TCP ແລະ UDP ດ້ວຍການວັດແທກ
    ປະມານທັງການສົ່ງຜ່ານ ແລະ latency. ໄດ້
    ເປົ້າໝາຍລວມເຖິງການຮັກສາການເຄື່ອນໄຫວ
    iperf cod...
    ດາວໂຫລດ IPerf2
  • ເພີ່ມເຕີມ »

Linux ຄຳ ສັ່ງ

Ad