ไซแลบติวเตอร์เรียล 1
บทนำ
ไซแลบ(Scilab) เป็นโปรแกรมสำเร็จรูปสำหรับการคำนวณเชิงจำนวนตัวเลข ที่ได้จัดสิ่งแวดล้อมการคำนวณที่มีประสิทธิภาพสำหรับการประยุกต์ทางวิศวกรรมและวิทยาศาสตร์ พัฒนาขึ้นตั้งแต่ปี 1990 โดยนักวิจัยจากสถาบันอินเรีย (INRIA: French National Institute for Research in Computer Science and Control) และ อีเอ็นพีซี (ENPC:National School of Bridges and Roads), ขณะนี้ได้ดูแลพัฒนาผ่านทางสมาคมไซแลบ(Scilab Consotium) ในเดือนพฤษภาคม 2003 ผนวกรวมเข้ากับมูลนิธิ ดิจิจีโอ(Digigeo) ในเดือนกรกฏาคม 2008 ไซแลบ รุ่นที่ใช้กันในปัจจุบัน คือเวอร์ชั่น 5 ขึ้นไป ตั้งแต่ปี 1994 ได้เผยแพร่ไปทางอินเตอร์เน็ตอย่างอิสระพร้อมด้วย ซอร์สโค๊ด มีการนำไปใช้กันมากในทางการศึกษา และสภาพแวดล้อมทางอุตสาหกรรมทั่วโลก ตั้งแต่เวอร์ชั่น 5 เป็นต้นไป ที่เผยแพร่ออกไปนั้นเป็นไปตามการอนุญาตลิขสิทธิ์ซีซิล (CeCill License ) เที่ยบเท่ากับมาตรฐาน GPL
Scilab ได้ผนึกรวมเอาฟังก์ชั่นทางคณิตศาสตร์ไว้นับร้อย ที่นำออกมาใช้ได้อย่างมีปฏิสัมพันธ์กับผู้ใช้ จากภาษาโปรแกรมมิ่งหลายภาษา (เช่น C, Fortran..) มีโครงสร้างข้อมูลที่ซับซ้อนลุ่มลึก
(รวมเอา โครงสร้าง lists, polynomials, rational functions, linear systems...), และเป็นตัวแปลภาษาตามคำสั่งโดยตรง และเป็นภาษาโปรแกรมระดับสูงอย่างหนึ่ง
Scilab ได้รับการออกแบบมาเพื่อให้เป็นระบบเปิดที่ผู้ใช้สามารถกำหนดข้อมูลใหม่และการดำเนินการต่อข้อมูลเหล่านั้นโดยการใช้ผ่านการโหลดข้อมูลเข้ามา และมีจำนวนกล่องเครื่องมือจำนวนหนึ่งที่นำมาใช้ได้ในระบบ:
•2-D and 3-D graphics, animation•Linear algebra, sparse matrices•Polynomials and rational functions•Simulation: ODE solver and DAE solver•Scicos : a hybrid dynamic systems modeler and simulator•Classic and robust control, LMI optimization•Differentiable and non-differentiable optimization•Signal processing•Metanet: graphs and networks•Parallel Scilab using PVM•Statistics•Interface with Computer Algebra (Maple, MuPAD)
•Interface with Tcl/Tk•And a large number of contributions for various domains.
Scilab ทำงานได้บนระบบปฏิบัติการทั้งในระบบ Unixและ GNU/Linux ระบบวินโดว์Windows9X/NT/2000/XP/Vista/7. ที่ให้ซอร์ทโค๊ดมาพร้อมด้วยความช่วยเหลือออนไลน์และคู่มือเป็นภาษาอังกฤษ
บางลักษณะของ scilab ดังรายการต่อไปนี้•ชนิดข้อมูลพื้นฐานเป็นแบบ matrix, และการดำเนินการเมตริกทั้งหมด มีตัวกระทำที่ผนึกรวมอยู่ในตัว•มีตัวแปลโปรแกรมภาษาระดับสูงในตัว•กราฟิกส์ เช่นกราฟ 2Dและ 3D สร้างขึ้นและส่งผ่านไปเป็นเอกสารรูปแบบต่างๆได้
บางลักษณะของ scilab ดังรายการต่อไปนี้•ชนิดข้อมูลพื้นฐานเป็นแบบ matrix, และการดำเนินการเมตริกทั้งหมด มีตัวกระทำที่ผนึกรวมอยู่ในตัว•มีตัวแปลโปรแกรมภาษาระดับสูงในตัว•กราฟิกส์ เช่นกราฟ 2Dและ 3D สร้างขึ้นและส่งผ่านไปเป็นเอกสารรูปแบบต่างๆได้
ภาพข้างบนนี้เป็นกราฟ 3D สร้างขึ้นโดย Scilab และส่งออกมาในรูปแบบไฟล์ GIF. สามารถรวมไว้ในเอกสารเพื่อการนำเสนอ Scilab สามารถส่งออกรูปแบบไฟล์ ไปยัง Postscript และ GIF รวมทั้งไปยัง Xfig (ซอพท์แวร์ฟรีที่ได้รับความนิยมสำหรับการวาดรูปทรง) และ LaTeX (ระบบฟรีในการเตรียมเอกสารทางวิทยาศาสตร์)
สภาพแวดล้อมไซแลบ
เมื่อเริ่มเข้าสู่โปรแกรม จะเห็นหน้าต่างดังแสดงในรูปที่ 1.1 ผู้ใช้ใส่คำสั่ง Scilab ที่เครื่องหมายเตรียมพร้อม --> แต่ยังมีคำสั่งอื่นอีกมากที่เรียกใช้จากเมนูด้านบนหน้าต่างได้
สภาพแวดล้อมไซแลบ
เมื่อเริ่มเข้าสู่โปรแกรม จะเห็นหน้าต่างดังแสดงในรูปที่ 1.1 ผู้ใช้ใส่คำสั่ง Scilab ที่เครื่องหมายเตรียมพร้อม --> แต่ยังมีคำสั่งอื่นอีกมากที่เรียกใช้จากเมนูด้านบนหน้าต่างได้
รูปที่ 1.1
ในรูปที่ 1.2 เมนูที่สำคัญมากหนึ่งคือสำหรับผู้เริ่มต้นหนึ่งคือเมนู ความช่วยเหลือ (Help) ให้คลิกที่ “Help” เมื่อเมนูความช่วยเหลือเปิดออกมาได้หน้าต่าง Help Brower แสดงรายการหัวข้อให้ความช่วยเหลือที่จัดไว้ให้
รูปที่ 1.2 เบล้าเซอร์แสดงการให้ความช่วยเหลือของไซแลบ (Scilab help browser)
การคลิกที่หัวข้อที่เกี่ยวข้องนำผู้ใช้เข้าสู่การเชื่อมโยงเอกสารคล้ายกับเว็บเพจซ์ โดยที่ Help Brower จะมี 2 รายการหลัก (tabs)คือ ตารางเนื้อหา และการสืบค้น (Table of Content and Search) ตารางเนื้อหามีหัวข้อเนื้อหาที่เรียงตามลำดับตัวอักษร การดูรายการของฟังก์ชั่นที่มีใน scilab การสืบค้นหาฟังก์ชั่นพื้นฐานในหน้าเนื้อหาของ Help Browser ฟังก์ชั่นที่มีประโยชน์อื่นๆ อาจหาได้ภายใต้หัวข้อที่ต่างกัน เช่นที่ พีชคณิตเชิงเส้นf( Linear Algebra, Signal Processing, Genetic Algorithms, Interpolation, Metanet, Optimization and Simulation,Statistics, Strings, Time and Date etc.)ให้ใช้แท็บ Search เพื่อค้นหาความช่วยเหลือในรูปแบบข้อความ
ความช่วยเหลือด้วยคำสั่งเฉพาะสามารถเข้าดูได้จากบรรทัดคำสั่งได้โดยตรงแทนที่จะสืบค้นผ่านทางการเชื่อมโยงต่างๆ ดังนั้นเพื่อที่จะให้ได้รับความช่วยเหลือในการใช้ บนคำสั่งของ Scilab คำสั่ง “inv” ก็เพียงแต่พิมพค่ำสั่งต่อไปนี้ที่เครื่องหมายเตรียมพร้อม
-->help inv
จะเห็นว่ามีประโยชน์มากเมื่อเรารู้ชื่อของฟังก์ชั่น และต้องการรู้ว่า การนำข้อมูลเข้าออก (input and output ) และ arguments ที่เกี่ยวข้อง เพื่อจะเรียนรู้วิธีการใช้
Scilab help browse นำเสนอมุมมองเนื้อหาความช่วยเหลือ ในการดูเนื้อหา หัวข้อเรียกรายการให้เห็นในโครงสร้าง 3 แบบที่สามารถขยาย หรือ ยุบลงในการกวาดดูผ่านเนื้อหาความช่วยเหลือ ในอีกทางในมุมมองการค้น(search view) ยอมให้ผู้ใช้พิมพ์ข้อความค้น ตรงกับหัวข้อที่มีรายการ ซึ่งมุมมองเนื้อหาจะให้ภาพรวมที่ดีขณะที่มุมมองการค้นนำผู้ใช้ไปสู่หัวข้อที่ต้องการ
ความช่วยเหลือด้วยคำสั่งเฉพาะสามารถเข้าดูได้จากบรรทัดคำสั่งได้โดยตรงแทนที่จะสืบค้นผ่านทางการเชื่อมโยงต่างๆ ดังนั้นเพื่อที่จะให้ได้รับความช่วยเหลือในการใช้ บนคำสั่งของ Scilab คำสั่ง “inv” ก็เพียงแต่พิมพค่ำสั่งต่อไปนี้ที่เครื่องหมายเตรียมพร้อม
-->help inv
จะเห็นว่ามีประโยชน์มากเมื่อเรารู้ชื่อของฟังก์ชั่น และต้องการรู้ว่า การนำข้อมูลเข้าออก (input and output ) และ arguments ที่เกี่ยวข้อง เพื่อจะเรียนรู้วิธีการใช้
Scilab help browse นำเสนอมุมมองเนื้อหาความช่วยเหลือ ในการดูเนื้อหา หัวข้อเรียกรายการให้เห็นในโครงสร้าง 3 แบบที่สามารถขยาย หรือ ยุบลงในการกวาดดูผ่านเนื้อหาความช่วยเหลือ ในอีกทางในมุมมองการค้น(search view) ยอมให้ผู้ใช้พิมพ์ข้อความค้น ตรงกับหัวข้อที่มีรายการ ซึ่งมุมมองเนื้อหาจะให้ภาพรวมที่ดีขณะที่มุมมองการค้นนำผู้ใช้ไปสู่หัวข้อที่ต้องการ
Scilab สามารถใช้เป็นเครื่องคิดเลขธรรมดาเพื่อคำนวณเชิงตัวเลข และยังมีความสามารถในการกำหนดตัวแปร และเก็บค่าไว้ได้ ที่สามารถนำออกมาใช้ภายหลัง แสดงให้เห็นดังตัวอย่างดังนี้
ปกติแล้วคำตอบจากการคำนวณจะถูกเก็บไว้ในตัวแปร ดังนั้นจึงสามารถนำออกมาใช้ได้ทันทีในนิพจน์ต่อมา ถ้าผู้ใช้ไม่ได้กำหนดชื่อตัวแปรให้ชัดเจนที่จะเก็บคำตอบ ที่จะให้ค่าจากนิพจน์ Scilabใช้ตัวแปรหนึ่งชื่อ ans เพื่อเก็บผลลัพธ์ ถ้าผู้ใช้ระบุตัวแปรในการเก็บผลลัพธ์ของนิพจน์ ผลลัพธ์ก็จะเก็บไว้ในตัวแปรที่ผู้ใช้กำหนดe.
การจบนิพจน์ด้วยเครื่องหมายเซมิโคลอน (;) จะกันไม่ให้แสดงผลเอ้าพุทของนิพจน์ที่จอภาพ นิพจน์ได้รับการคำนวณหาค่า กำหนดผลลัพธ์ แต่ผลลัพธ์ไม่นำออกมาแสดงผล ให้ทดลองตามคำสั่งต่อไปนี้
-->a = 5;
-->_
-->_
และเราจะสังเกตเห็นว่าเครื่องหมายเตรียมพร้อมจะเกิดขึ้นมาทันทีโดยไม่มีผลลัพธ์ a=5 ให้เห็นอีก
เราสามารถที่จะพิมพ์คำสั่งมากกว่าหนึ่งคำสั่งในบันทัดเดียวกันโดยแยกคำสั่งด้วยเซมิโคลอน(;) หรือคอมม่า (,) เซมิโคลอนจะกันไม่ให้แสดงค่ามาที่จอภาพอีกแต่ที่คั่นด้วยคอมม่ายังคงแสดงค่าให้เห็นดังเช่น
นอกจากนี้ยังสามารถที่จะผสมการใช้เซมิโคลอนกับคอมม่าได้ โดยที่นิพจน์ที่ตามด้วยเซมิโคลอนจะไม่แสดงค่า ขณะที่นิพจน์ที่ตามด้วยคอมม่าจะแสดงค่าผลลัพธ์ให้เห็น
แบบฝึกหัดที่1 สิ่งแวดล้อม Scilab
1. แนวทางอื่นที่จะขอความช่วยเหลือใน Scilab มีอะไรบ้าง นอกจากการพิมพ์ “help” ที่บรรทัดคำสั่งเพียงอย่างเดียว? (Ans: ใช้จากเมนู ? ScilabHelp หรือกดคีย์ F1)
1. แนวทางอื่นที่จะขอความช่วยเหลือใน Scilab มีอะไรบ้าง นอกจากการพิมพ์ “help” ที่บรรทัดคำสั่งเพียงอย่างเดียว? (Ans: ใช้จากเมนู ? ScilabHelp หรือกดคีย์ F1)
2. โปรแกรมสาธิตอยู่ที่ไหนที่แสดงถึงความสามารถของ Scilab?
(Ans: ไปที่เมนู Scilab Demos)
3. ที่ใดที่เราสามารถจะค้นหาเอกสารจากผู้ใช้สนับสนุนในการใช้และประยุกต์ Scilab? มีเอกสารประเภทใดบ้าง? ชนิดใดที่ทำให้สนใจบ้าง? (Ans: ไปที่เมนู ? Weblinks Contributions)
4. ค้นคำหรือวลี ออนไลน์ใน Scilab help browser อย่างไร? (Ans: ให้คลิกที่เครื่องหมายการค้นรูปแว่นขยาย แล้วใส่คำค้นที่ต้องการ
5. การใช้ใช้ตั้วแปรที่ให้มา(build in)“ans” ในการคำนวณได้หรือไม่? ถ้าใช้ได้ เป็นความคิดที่ดีหรือไม่ที่ทำเช่นนั้น หรือว่าเป็นการดีกว่าถ้าใช้ชื่อตัวแปรอื่นของเราเอง ?(Ans: ไม่ได้แน่นอนโปรแกรมไม่รับ เป็นความคิดที่ไม่ดีเพราะจะทำให้การทำงานสับสนได้)
6. เมื่อไรที่คิดว่ามีประโยชน์ในการใช้เซมิโคลอนกันไม่ให้แสดงค่าผลลัพธ์จากการปฏิบัติตามประโยคคำสั่งScilab ?
7. มีกฏหรือหลักอะไรในการเลือกชื่อตัวแปรใน Scilab? เราสามารถใช้อักขระตัวเลขเป็นตัวแรกของชื่อตัวแปรได้หรือไม่? ใช้ useunderscore (_ ) เป็นอักขระแรกของตัวแปรได้หรือไม่? ใช้อักขระพิเศษเฉพาะ เช่น -, +, /, ? ในชื่อตัวแปรได้หรือไม่?
8. สามารถที่จะเปลี่ยนแบบอักษร( font ) ที่ใช้ในScilab? (Ans: ไปที่เมนูPreferences--> Choose Font)
9. คำสั่งอะไรที่ใช้ล้างจอภาพ? (Ans:clc)
10. คีย์ทางลัดในการล้างจอภาพคืออะไร? (Ans:F2 key)
9. คำสั่งอะไรที่ใช้ล้างจอภาพ? (Ans:clc)
10. คีย์ทางลัดในการล้างจอภาพคืออะไร? (Ans:F2 key)
11. ประวัติคำสั่งคืออะไร? คีย์ทางลัดเพื่อเข้าดูประวัติคำสั่งคืออะไร? (Ans: ไปที่เมนู Edit--> History. รวมทั้งสามารถใช้คีย์ลูกศร)
12. ให้เขียนรายการเรื่องที่คุณคิดว่าสามารถนำScilabไปใช้เป็นเครื่องมือให้เกิดประโยชน์ได้ดี
13. มีคำสั่งใดที่ใช้บันทึกทุกคำสั่งที่เราพิมพ์เข้าไปและบันทึกไว้เป็นไฟล์ ที่เราสามารถกลับมาดูได้ภายหลังr?
(Ans: ให้พิมพ์ help diary)
14. ให้อธิบายประโยชน์บางอย่างจากการประยุกต์ใช้คำสั่ง diary?
15. สามารถที่จะปรับการทำงานเริ่มต้นไซแลบให้เหมาะกับความต้องการเฉพาะของผู้ใช้ได้หรือไม่?
(ตอบ: การปรับไซแลบตอนเข้าโปรแกรม, ให้สร้างไฟล์ขึ้นไฟล์หนึ่ง “C:\Documents andSettings\<User>\Scilab\scilab-<version>\ scilab.ini” และนำคำสั่งใดๆที่ใช้ถูกต้องลงไปตามที่ต้องการให้ไซแลบทำงานเมื่อเข้าโปรแกรม. <User>จะต้องแทนที่ login name ของผู้ใช้ และ Scilab<version> ล่าสุดคือis 5.3.2 ดังนั้น ชื่อโฟนเดอร์คือ5.3.2. ตามตำแหน่งเป็นของวินโดว์ XP สำหรับวินโดว์ Vista, คือC:\Users\<User>\AppData\Roaming\Scilab\<scilab-<version>\scilab.ini).
(Ans: ให้พิมพ์ help diary)
14. ให้อธิบายประโยชน์บางอย่างจากการประยุกต์ใช้คำสั่ง diary?
15. สามารถที่จะปรับการทำงานเริ่มต้นไซแลบให้เหมาะกับความต้องการเฉพาะของผู้ใช้ได้หรือไม่?
(ตอบ: การปรับไซแลบตอนเข้าโปรแกรม, ให้สร้างไฟล์ขึ้นไฟล์หนึ่ง “C:\Documents andSettings\<User>\Scilab\scilab-<version>\ scilab.ini” และนำคำสั่งใดๆที่ใช้ถูกต้องลงไปตามที่ต้องการให้ไซแลบทำงานเมื่อเข้าโปรแกรม. <User>จะต้องแทนที่ login name ของผู้ใช้ และ Scilab<version> ล่าสุดคือis 5.3.2 ดังนั้น ชื่อโฟนเดอร์คือ5.3.2. ตามตำแหน่งเป็นของวินโดว์ XP สำหรับวินโดว์ Vista, คือC:\Users\<User>\AppData\Roaming\Scilab\<scilab-<version>\scilab.ini).





ไม่มีความคิดเห็น:
แสดงความคิดเห็น