ต่อไปจะเป็นเนื้อหาสำหรับเอกสารนี้ แปลโดย
หัสชัย สิทธิรักษ์
สื่อดิจิทัลหน้าเขามหาชัย
เพื่อการสืบค้น อ้างอิง และการเรียนรู้ภาษาอังกฤษ
ประกาศ
สื่อดิจิทัลส่วนใหญ่เป็นหนังสือดิจิทัล ในรูปแบบของไฟล์ pdf และ epub เป็นส่วนใหญ่ และรูปแบบ cbr, djuv, mobi, html เป็นส่วนน้อย ซึ่งแน่นอนว่ามีตัวหนังสือและรูปภาพประกอบ นอกจากนี้ยังมีหนังสือที่อยู่ในรูปของไฟล์เสียงที่มีคนอ่านให้ฟัง ส่วนสื่อที่อยู่ในรูปของภาพเคลื่อนไหส่วนวก็จะเป็นวิดีโอ ซึ่งจะเป็นวิดีโอทางการศึกษานำไปใช้ประกอบการเรียนการสอนในรายวิชาต่างๆ ได้ ซึ่งบางสื่อสามารถดาวโหลดมาได้จากแหล่งต่างๆ บางสื่อต้องมีรหัสผ่าน หรือต้องมีการจ่ายเงินออนไลน์จึงจะอ่านได้
Saturday, 31 August 2019
Wednesday, 17 January 2018
สารบาญไซแลบสำหรับผู้เริ่มต้น
Introduction
About this document 4
Install Scilab 4
Mailing list 4
Complementary resources 4
Chapter 1 – Become familiar with Scilab The general environment and the console 5
Simple numerical calculations 6
The menu bar 7
The editor 8
The graphics window 9
Windows management and workspace customization 11
Chapter 2 - Programming Variables, assignment and display 12
Loops 16
Tests 17
2 and 3D plots 18
Supplements on matrices and vectors 23
Calculation accuracy 29
Solving differential equations 30
Chapter 3 – Useful Scilab functions In analysis 32
In probability and statistics 32
To display and plot 33
Utilities 33
บทนำ ไซแลบสำหรับผู้เริ่มต้น
About this document 4
Install Scilab 4
Mailing list 4
Complementary resources 4
เกี่ยวกับเอกสารนี้About this document
จุดประสงค์ของเอกสารนี้เพื่อแนะนำไปที่ละขั้นๆในการสำรวจลักษณะพื้นฐานของไซแลบสำหรับผู้ใช้ที่ไม่เคยใช้ซอพท์แวร์ในการคำนวณนี้มาก่อน การนำเสนอในเอกสารโดยมีข้อจำกัดที่จงใจนำเสนอเนื้อหาแก่นหลักที่ทำให้ง่ายต่อการใช้ และดำเนินการไซแลบ การคำนวณ การเขียนและการแสดงกราฟ โดยใช้ไซแลบเวอร์ชั้น 6.02 เราสามารถใช้คำสังทั้งหมดที่มีจากเวอร์ชันนี้.
การติดตั้งไซแลบ Install Scilab Scilab
การติดตั้งซอพท์แวร์การคำนวณไซแลบที่ทุกคนสามารถดาวน์โหลดมาใช้ได้ภายใต้ระบบปฏิบัติการวินโดว์ ลินุกซ์ และ แมค OS X, ไซแลบสามารถดาวโหลดได้ที่เว็บไซต์แอดเดรส http://www.scilab.org/ ผู้ใช้จะได้รับการแจ้งบอกข่าวสารเกี่ยวกับซอพท์แวร์ไซแลบที่ปล่อยออกมาในรุ่นใหม่ โดยผู้ใช้สามารถซับสไคร์บ ตามช่องทางที่ให้ไว้ตามเว็บแอดเดรสดังนี้: http://lists.scilab.org/mailman/listinfo/release
รายการแลกเปลี่ยนเมลล์ Mailing list
รายการแจ้งข่าวทางเมลที่อำนวยความสะดวกระหว่างผู่ใช้ไซแลบ มีรายละเอียดในรายการเรื่องต่างๆ ของเมลล์(รายการในภาษาฝรั่งเศษ สำหรับโลกของการศึกษารายการเมลล์สากลเป็นภาษาอังกฤษ). หลักการที่ง่าย ผู้ที่ลงทะเบียนไว้จะสื่อสารกันและกันโดยอีเมลล์ได้( คำถาม คำตอบ แบ่งปันแลกเปลี่ยนเอกสาร การแสดงความเห็นย้อนกลับ..). เพื่อที่จะกวาดดูค้นหารายการเมลล์และการซับสไคร์บ ให้ไปที่แอดเดรสต่อไปนี้: http://www.scilab.org/communities/user_zone/mailing_list
แหล่งข้อมูลสารสนเทศเสริม Complementary resources
ถ้าสามารถเชื่อมต่ออินเตอร์เน็ตได้ ผู้ใช้จะได้รับเชิญให้เข้าเยี่ยมเว็บไซต์ไซแลบ เป็นที่ที่ผู้ใช้จะค้นหาส่วนหรือเนื้อหาที่เกี่ยวข้องกับการใช้งานไซแลบ(http://www.scilab.org/support/documentation), ด้วยลิงค์แอดเดรสนี้และเอกสารที่เกี่ยวข้องสามารถที่จะดาวโหลดและพิมพ์ออกมาใช้ได้ฟรี
บทที่ 1 รู้จักคุ้นเคยกับไซแลบ Become familiar with Scilab
Chapter 1 – รู้จักคุ้นเคยกับไซแลบ Become familiar with Scilab
The general environment and the console 5
Simple numerical calculations 6
The menu bar 7
The editor 8
The graphics window 9
Windows management and workspace customization 11
Chapter 1 – Become familiar with Scilab
ประโยชน์ของพื้นที่ทำงานในไซแลบประกอบด้วยหน้าต่างทำงานหลายอย่าง
• The console for making calculations,
• The editor for writing programs,
• The graphics windows for displaying graphics,
• The embedded help.
The general environment and the console
หลักจากดับเบิลคลิกที่ไอคอนโปรแกรมไซแลบเข้าสู่การใช้งาน สิงแวดล้อมของไซแลบโดยดีฟอลท์ประกอบด้วยหน้าต่างที่ให้มาต่อไปนี้ – หน้าต่างคอนโซล, หน้าต่างเบล้าเซอร์ไฟล์และตัวแปร, หน้าต่างประวัติการใช้คำสั่ง (ให้ดูที่ “Windows management and workspace customization”, page 11):
ในคอนโซลนี้หลังเครื่องหมายเตรียมพร้อม “ --> “, เพียงแต่พิมพ์คำสั่งแล้วกดคีย์ Enter (Windows and Linux) หรือคีย์ Return (Mac OS X) บนคีย์บอร์ดเพื่อให้ใด้ผลลัพธ์แสดงผลการทำงานตามคำสั่ง
--> 57/4
ans =
14.25
--> (2+9)^5
ans =
161051.
ยังสามารถกลับมาที่จุดหนึ่งจุดใดโดยใช้ลูกศรบนคีย์บอร์ด ← ↑ → ↓ หรือโดยการใช้การเคลื่อนเม้าซ์ คีย์ลูกศรทางซ้ายและขวาใช้ในการเปลี่ยนคำสั่ง และคีย์ลูกศรชี้ขึ้นและลงใช้ในการกลับมาสู่คำสั่งที่ดำเนินการไปแล้วเพื่อแก้ไขให้ทำงานใหม่ได้
Simple numerical calculations
การคำนวณทุกอย่างในไซแลบกับจำนวณตัวเลข ไซแลบดำเนินการคำนวณด้วยเมตริกซ์(see chapter 2, page 23). เครื่องหมายดำเนินการเขียนด้วย“ + “ สำหรับการบวก, “ – “ สำหรับการลบ, “ * “ สำหรับการคูณ, “ / “ สำหรับการหาร, “ ^ “ สำหรับยกกำลัง ตัวอย่างเช่น
-->2+3.4
ans =
5.4
ตัวพิมพ์เล็กใหญ่ให้ผลแตกต่างกัน ดังนั้นจึงต้องคำนึงถึงการพิมพ์ด้วยพิมพ์เล็กและพิมพ์ใหญ่ที่ต่างกันในการคำนวณที่เหมาะสม ตัวอย่างเช่น การใช้คำสั่ง sqrt(ซึ่งคำนวณหารากที่สอง หรือสแควรูท
-->sqrt(9) ขณะที่ -->SQRT(9)
ans = 3. !--error 4
Undefined variable : SQRT
Particular numbers
%e และ %pi แทนค่า e และ π ตามลำดับ
--> %e --> %pi
%e = %pi =
2.7182818 3.1415927
%i แทนค่า i ของจำนวนเชิงซ้อนในอินพุตและแสดงค่า i ในเอ้าพุท
--> 2+3*%i
ans =
2. + 3.i
การที่ไม่ให้แสดงผลลัพธ์ โดยการเพื่อมเซมิโคลอน “ ; “ ที่ตอนปลายของบรรทัดคำสั่ง คำสั่งทำให้มีการคำนวณแต่ไม่แสดงผลลัพธ์ให้เห็น
-->(1+sqrt(5))/2;
--> (1+sqrt(5))/2
ans =
1.618034
To remind the name of a function
ชื่อของฟังก์ชันที่ใช้กันทั่วไปสรุปไว้ในบทที่ 3 ในเอกสารนี้ (หน้า32) ตัวอย่างเช่น
--> exp(10)/factorial(10)
ans =
0.0060699
คีย์แท็บ →│ บนคีย์บอร์ดสามารถให้แสดงชื่อของฟังก์ชันหรือตัวแปรหนึ่งๆ ทั้งหมดโดยกำหนดสองสามตัวอักษรแรกก็ใช้ได้ตัวอย่างเช่น . หลังจากพิมพ์คำสั่งในคอนโซลดังนี้ :
-->fact
และหลังจากนั้นกดคีย์แท็บ แล้ววินโดว์แสดงฟังก์ชันและชื่อตัวแปรทั้งหมด ที่ขี้นต้นด้วย fact fact, ดังเช่น factorial และ factor. จากนั้นเพียงแต่ดับเบิลคลิกที่ฟังก์ชันที่ต้องการ หรือเลือกด้วยการเคลื่อนเมาซ์ หรือ คีย์ลูกศร ↑ ↓ แล้วกด Enter (Windows and Linux) หรือ Return (Mac OS X) เพื่อใส่เข้าไปในบรรทัดคำสั่ง
The menu bar
เมนูได้แสดงรายการข้างล่างนี้มีประโยชน์เป็นการเฉพาะ
Applications
• ประวัติคำสั่ง (The command history) ยอมให้ค้นคำสั่งการทำงานที่แล้วมาไปจนถึงคำสั่งการทำงานล่าสุด
• เบล้าเซอร์ตัวแปร(The variables browser) ยอมให้ค้นหาตัวแปรทั้งหมดที่ใช้มาก่อนระหว่าการทำงานตามคำสั่งล่าสุด
Edit
Preferences (ในเมนูไซแลบภายใต้ Mac OS X) อนุญาตให้เซ็ตตั้งค่าสี ฟ้อน และ ขนาดฟ้อนในคอนโซล และในเอดิเตอร์ ซึ่งมีประโยชน์มากสำหรับการโปรเจคชันของจอ(screen projection)
การคลิก Clear Console ทำการเคลียร์เนื้อหาทั้งหมดในคอนโซล ในกรณีนี้ ประวัติคำสั่งยังคงมีอยู่ และการคำนวณที่ดำเนินการระหว่างเซสชั่นยังคงมีอยู่ในหน่วยความจำ คำสั่งที่ได้ลบออกไปยังคงมีให้ใช้ได้ผ่านทางลูกศรของคีย์บอร์ด
Control
เพื่อที่จะขัดจังหวะการทำงานของโปรแกรมสามารถทำได้คือ
• โดยการพิมพ์ pause ในโปรแกรมหรือคลิก Control> Interrupt ในเมนูบาร์ (Ctrl X ภายใต้ Windows และ Linux หรือ Command X ภายใต้ Mac OS X), ถ้าโปรแกรมกำลังรันอยู่เรียบร้อยแล้ว ในทุกกรณีเครื่องหมายเตรียมพร้อม “ --> “ จะเปลี่ยนไปเป็น “ -1-> “, แล้วเปลี่ยนไปเป็น“ -2-> “…, ถ้าการดำเนินการซ้ำ
• เพื่อกลับเข้าสู่เวลาก่อนที่โปรแกรมจะถูกขัดจัดหวะ ให้พิมพ์ resume ในคอนโซลหรือคลิก Control > Resume.
• เพื่อที่จะเลิกหยุดเพื่อการคำนวณที่ดีปราศจากทางเป็นไปได้ที่จะกลับมาอีก ให้พิมพ์ abort ในคอนโซลหรือคลิกที่ Control > Abort ในเมนูบาร์
The editor
การพิมพ์เข้าไปในคอนโซลโดยตรง มีข้อด้อยอยู่สองประการ นั่นคือเป็นไปไม่ได้ที่จะบรรทึกคำสั่ง และค่อนข้างยุ่งยากในการแก้ไขหลายๆบรรทัดคำสั่ง เอดิเตอร์จึงเป็นเครื่องมือที่เหมาะสมในการใช้รันคำสั่งมากหลายคำสั่ง
การเปิดใช้เอดิเตอร์ (Opening the editor)
การเปิดเอดิเตอร์จากคอนโซล ให้คลิกที่ไอคอนแรกในทูลบาร์หรือที่ Applications > SciNotes เมนูบาร์ เอดิเตอร์เปิดขึ้นมาด้วยชื่อไฟล์ดีฟอลท์ “ Untitled 1 “.
การเขียนในเอดิเตอร์ (writing in editor)
พิมพ์ในเอดิเตอร์คล้ายคลึงกับการพิมพ์ในเวิร์ดโปรเซสเซอร์.
ในเท็กเอดิเตอร์ การเปิดและปิดวงเล็บ ปิดลูป(end loop) ฟังก์ชัน และ ทดสอบคำสั่งถูกเพิ่มเข้ามาโดยอัตโนมัติ อย่างไรก็ตาม ลักษณะเหล่านี้อาจใช้ไม่ได้ใน Options > Auto-completion บนเมนู ในการคลิกบนการนำเข้าข้างล่างสองแบบสามารถเป็นได้โดยดีฟอลท์
• (,[,…
• if,function,…
ขณะที่โดยหลักการแต่ละคำสั่งควรจะนำเข้าบนบรรทัดแยกกัน แต่ก็เป็นไปได้ที่จะพิมพ์หลายประโยคคำสั่งบนบรรทัดเดียวกันโดยแยกแต่ละประโยคคำสั่งด้วยเซมีโคลอน “ ; “. ช่องว่างหนึ่งที่เริ่มต้นบรรทัดคำสั่งเรียกว่าการย่อหน้า(indentation)จะเป็นไปโดยอัตโนมัติเมื่อเป็นลูปหนึ่งหรือการทดสอบเริ่มต้น ในตัวอย่างต่อไปนี้ ทำการคำนวณ 10 เทอม ของ ลำดับ(sequence ) (Un!) ที่กำหนดโดย
Mention
-การเขียนคอมเมนต์ นำหน้าคอมเมนต์ด้วย “ // “ ส่วนนี้จะไม่นำไปเกี่ยวข้องในการคำนวณ
-การเปลี่ยนฟ้อน ให้คลิกที่ Options > Preferences.
- เมื่อเขียนโปรแกรม ย่อหน้าจะเป็นไปโดยอัตโนมัติ ถ้าไม่เป็นไปตามที่กล่าวให้คลิกที่ Format > Correct indentation เพื่อให้กลับโหมดอัตโนมัติ (Ctrl I ภายใต้ Windows และ Linux หรือ Command I ภายใต้ Mac OS X)
Saving
ไฟสามรถที่จะบันทึกโดยการคลิกที่ File > Save as.
นามสกุลไฟล์“ .sce “ ที่ตอนท้ายของชื่อไฟล์ไซแลบจะใส่ให้โดยอัตโนมัติเมื่อเปิดไฟล์ (นอกจากภายใต้ Linux และ Mac OS X). การสำเนามายังคอนโซล สั่งให้ปฏิบัติงานตามโปรแกรม โดยการคลิกที่ Execute ในเมนูบาร์ แล้วจะมีให้ 3 ทางเลือก
• Execute “ …ไฟล์โดยไม่มี echo “ (Ctrl Shift E ภายใต้ Windows และ Linux, Cmd Shift E ภายใต้ Mac OS X): ไฟล์ถูกสั่งให้ปฏิบัติโดยไม่เขียนโปรแกรมลงในคอนโซล(saving the file first is mandatory).
• Execute “ … ไฟล์โดยมี echo “ (Ctrl L ภายใต้ Windows และ Linux, Cmd L ภายใต้ Mac OS X): ทำการเขียนไฟล์ลงในคอนโซลด้วยและปฏิบัติตามคำสั่งในไฟล์
• Execute “ …จนปรากฏ caret, โดยมี echo “ (Ctrl E ภายใต้ Windows และ Linux, Cmd E ภายใต้ Mac OS X): โดยเขียนส่วนที่เลือกด้วยเม้าซ์เข้าไปในคอนโซล และถูกสั่งให้ปฏิบัติตามคำสั่ง หรือ ปฏิบัติตามข้อมูลไฟ
ล์ (execute the file data) จนถึงตำแหน่ง caret ที่กำหนดโดยผู้ใช้
copy/paste มาตรฐาน สามารถนำมาใช้ได้.
การเปิดวินโดว์กราฟิกส์ วินโดว์กราฟิกส์จะเปิดขึ้นโดยอัตโนมัติเมื่อสร้างการพล็อตกราฟใดๆ เป็นไปได้ที่จะพล็อตเคิร์ฟ เคิร์ฟผิวหน้า(surface) ลำดับของจุด(sequennces of points) (see chapter 2, page 18). เพื่อให้เห็นตัวอย่างของเคิร์ฟที่พล็อต ให้พิมพ์ในคอนโซลคือ
-->plot
Mention
- เพื่อที่จะลบการพล็อตที่แล้วมา ให้พิมพ์ clf (“ clear figure “).
- เพื่อเปิดวินโดว์กราฟิกส์อื่น ให้พิมพ์ scf; (“ set current figure “). ถ้าหลายวินโดว์กราฟิกส์ถูกเปิดขึ้นผู้ใช้สามารถเลือก ให้การพล็อตใดวาดปรากฏให้เห็นโดยการพิมพ์ scf(n); n คือจำนวนวินโดว์กราฟิกส์(mentioned on the top left).
Modifying a plot
แว่นขยาย(magnifying glass)ยอมให้มีการซูม การซูมใน 2 ไดเมนชัน ให้คลิกที่เครื่องมือ (tool) และโดยการใช้เมาซ์สร้างสี่เหลี่ยมที่ขยายโตขึ้นกว่าเดิมในการมอง การซูมในสามมิติ ให้คลิกที่เครื่องมือแล้วสร้าง parallelepiped ซึ่งจะเป็นการสร้างการมองภาพที่โตขึ้น และเป็นไปได้ที่จะซูมโดยหมุนล้อบนเมาซ์ เพื่อกลับเข้าสู่หน้าจอเดิม ให้คลิกที่แว่นขยายอื่น ไอคอนนั้นยอมให้มีการรูปร่างกราฟ (มีประโยชน์โดยเฉพาะในสามมิติ) ด้วยการคลิกปุ่มเมาซ์ทางขวาซึ่งถูกแนะแนวทางโดยข้อความในตอนล่างของหน้าต่างกราฟิกส์ สำหรับการขยายที่ให้รายละเอียด ให้คลิกที่ Edit > Figure properties หรือ Axes properties และผู้ใช้ทำตามที่แนะแนวทาง(ในทางเลือกนี้ยังไม่มีใช้ภายใต้ Mac OS X).
Online help
เพื่อที่จะข้อความช่วยเหลือออนไลน์ ให้คลิก ? > Scilab Help ในเมนูบาร์ หรือพิมพ์ในคอนโซล:
-->help เพื่อที่จะรับความช่วยเหลือจากชนิดฟังก์ชันใดๆ ให้พิมพ์ help ในคอนโซลตามด้วยชื่อฟังก์ชันที่ต้องการความช่วยเหลือ ตัวอย่างเช่น :
-->help sin ก็จะแสดงการช่วยเหลือสำหรับฟังก์ชัน sin (sine)
Mention
ตัวอย่างการใช้สามารถรันสั่งให้ทำงานในไซแลบ และแก้ไขใน SciNotes ในการใช้เกี่ยวข้องปุ่มกดต่างๆ ตามกรอบตัวอย่าง
การจัดการหน้าต่าง และการปรับพื้นที่ทำงาน
(Windows management and workspace customization)
ตามดีฟอลท์สิ่งแวดล้อมของไซแลบ ที่ซึ่งคอนโซล ไฟล์ และ ตัวแปร เบล้าเซอร์ และประวัติคำสั่ง ซึ่งทั้งหมดนั้นปรากฏอยู่ในหน้าต่างวินโดว์ หน้าต่างวินโดว์อื่นๆ ในไซแลบสามารถสามารถจัดวางให้อยู่ในตำแหน่งใหม่ได้สามารถกำหนดให้อยู่ในวินโดว์อื่นที่ใหญ่กว่าได้ ตัวอย่างเช่น ผู้ใช้สามารถเลือกที่วางตำแหน่งของเอดิเตอร์เป็นดีฟอลท์ในสิ่งแวดล้อมไซแลบ
เพื่อที่จัดวางวินโดว์ที่ต้องการในวินโดว์อื่น สิ่งแรกมองหาบาร์สีฟ้าตามแนวนอนภายใต้วินโดว์ หรือสีดำภายใต้ Mac OS X และลีนุกซ์ ที่ด้านบนของวินโดว์ในทูลบาร์(toolbar) ที่มีเครื่องหมายคำถาม ? ทางขวา
• ภายใต้วินโดว์และลีนุกซ์ ให้คลิกที่บาร์นี้ด้วยปุ่มซ้ายของเม้าซ์ และ ขณะที่ยังคงกดแช่ไว้ ให้เคลื่อนตัวชี้เม้าซ์ไปยังหน้าต่างที่ต้องการ
• ภายใต้ Mac OS X, ให้คลิกที่บาร์นี้ ขณะที่ทำการคลิกให้เคลื่อนไปยังวินโดว์ที่ต้องการ เกิดสี่เหลี่ยมพื้นผ้าประกฏขึ้นมาบ่งชี้ให้เห็นถึงตำแหน่งวินโดว์ในอนาคต เมื่อได้ตำแหน่งหนึ่งที่ต้องการ ให้คลายปุ่มเมาซ์ เพื่อทีจะยกเลิก และปล่อยวินโดว์ออกมา ให้คลิกที่ลูกศรเล็ก ทางขวาของบาร์เดียวกัน.
การปรากฏสี่เหลี่ยมผืนผ้าบ่งให้ทราบถึงต่ำแหน่งใสอนาคตของหน้าต่าง (window) เมื่อตำแหน่งนั้นเป็นตำแหน่งที่ต้องการหนึ่ง ให้ปล่อยปุ่มเมาซ์ที่กดแช่ไว้ ในการยกเลิกและนำหน้าต่างออกมาแสดง ให้คลิกที่ลูกศรเล็กทางขวาของบาร์เดียวกัน
Tuesday, 16 January 2018
บทที่ 2 การเขียนโปรแกรม ตัวแปร การกำหนดค่า และแสดงผล
Loops 16
Tests 17
2 and 3D plots 18
Supplements on matrices and vectors 23
Calculation accuracy 29
Solving differential equations 30
ในตัวอย่างที่ให้มาในเอกสารนี้ แต่ละบรรทัดจะนำหน้าด้วย “ --> “ คือคำสั่ง บรรทัดอื่นคือส่วนที่ได้จากคำสั่ง (ผลการคำนวณ, รายงานข้อผิดพลาด) ไม่ต้องเขียน “ --> “ ในเอดิเตอร์ . ที่จะเริ่มต้นตอนนี้ที่ชี้ให้เห็นถึงความแตกต่างระหว่างบรรทัดคำสั่งและผลการคำนวณตามที่แสดงให้เห็นในคอนโซลหลังจากสำเนาและนำไปวาง เมื่อนำเสนอในรูปตารางหนึ่ง (โดยปราศยาก “ --> “ และไม่แสดงผลการคำนวณ) คำสั่งถูกกำหนดชัดเจน เหมือนที่ควรจะพิมพ์ไว้ในเอดิเตอร์ ตัวแปร การกำหนดค่า และการแสดงตัวแปรไซแลบไม่ใช่ระบบพีชคณิตคอมพิวเตอร์ การคำนวณเฉพาะกับจำนวณตัวเลข การคำนวณทั้งหมดสำเร็จลงได้ด้วยเมทริกซ์ แม้ว่าการดำเนินการนี้ไม่อาจสังเกตได้ แม้ว่ามโนทัศนฺ์ของเมทริกซ์ไม่เป็นที่รู้จัก เวคเตอร์ และ แถวลำดับ (sequences) ของจำนวนสามารถจะอธิบายได้ตามที่เป็น จริงแล้วเมทริกซ์ของ 1xn มิติ หรือ nx1 และจำนวนหนึ่งๆโดยตัวเองเป็นเมตริกซ์มิติ 1 × 1. ตัวแปรไม่จำเป็นต้องประกาศไว้ก่อนล่วงหน้า แต่ตัวแปรใดๆต้องมีค่าค่าหนึ่ง ตัวอย่างเช่น การให้ได้มาค่าของตัวแปรหนึ่ง ซ่ึ่งยังไม่ได้กำหนดค่ามาก่อนก่อให้เกิดข้อผิดพลาด
-->a !--error 4 Undefined variable : a
ถ้ามีค่าหนึ่งถูกกำหนดให้ตัวแปรหนึ่ง ก็จะไม่มีข้อผิดพลาดอีกต่อไป
--> a=%pi/4
a = 0.7853982
--> a
a = 0.7853982
ตัวแปรอาจเป็นชื่อใดชื่อหนึ่งได้ที่ไม่ได้กำหนดไว้ก่อนโดยระบบ
--> Piby2=%pi/2
Piby2 = 1.5707963
กล่าวถึงคล้ายกับฟังก์ชันไซแลบ ชื่อตัวแปรหนึ่งๆจะต้องมีตัวอักขระหรืออักขระพิเศษ
ผลการคำนวณที่ไม่ได้กำหนดให้ตัวแปร จะกำหนดให้ตัวแปรที่เรียกว่า ans: โดยอัตโนมัติ
-->3*(4-2)
ans = 6.
-->ans
ans = 6.
ฟังก์ชัน(Functions)
ฟังก์ชันเป็นแนวทางที่เป็นธรรมชาติง่ายที่สุดที่จะคำนวณจากตัวแปร และให้ได้ผลลัพธ์จากตัวแปร.
นิยามของฟังก์ชันหนึ่งเริ่มต้นด้วย function และจบด้วย endfunction ตัวอย่างเช่นในการแปลง euros(e) ให้ได้คำตอบเป็นดอลล่าdollars (d) ด้วยอัตราการแลกเปลี่ยน exchange rate (t), โดยกำหนดdollars function ตัวแปรที่มีคือ e และ t และ image คือ d
-->function d=dollars(e,t);
d=e*t; endfunction
-->dollars(200,1.4) ans = 280.
ตามปกติแล้วฟังก์ชันเชิงจำนวนหรือตัวเลข เป็นฟังก์ชันของตัวแปรจริงหนึ่ง ตัวอย่างเช่น ฟังก์ชัน f และ ฟังก์ชัน g ถูกกำหนดโดยใช้คำสั่งต่อไปนี้
-->function y=f(x); y=36/(8+exp(-x)); endfunction
-->function y=g(x); y=4*x/9+4; endfunction
การกำหนดฟังก์ชันแล้วสามารถใช้เพื่อคำนวณหาค่าดังนี้
--> f(10) ans = 4.4999745
--> g(12.5) ans = 9.5555556
การกำหนดค่าให้ตัวตัวแปรหนึ่ง (requesting the assignment of a variable)
การกำหนดค่าให้ตัวแปรทำใด้ง่ายโดยการใช้เครื่องหมายกระทำ “ = “
Display
Writing
เพียงแต่พิมพ์ชื่อของตัวแปรหนึ่งๆ ก็จะแสดงผลค่าของตัวแปรนั้น นอกจากว่ามีเครื่องหมายเซมิโคลอน “ ; “ อยู่ตอนท้ายของบรรทัดคำสั่ง
Brackets
เมทริกซ์ถูกกำหนดขึ้นโดยใช้วงเล็บเหลี่ยม (square brackets). ตามที่กล่าวถึงมาก่อนแล้ว การคำนวณเมทริกซ์ เป็นรากฐานของการคำนวณในไซแลบ ช่่องว่าง หรือ คอมม่าใช้ในการแยกคอร์ลัมน์ และเซมิโคลอนใช้ในการแยกแถว เพื่อที่จะกำหนดเวคเตอร์คอร์ลัม และให้ผลการแสดงเป็นคอร์ลัมดังนี:
-->v=[3;-2;5]
v =
3.
- 2.
5.
เพื่อกำหนดเวคเตอร์แถว และให้แสดงผลแถวของเมทริกซ์ดังนี้
-->v=[3,-2,5]
v =
3. - 2. 5.
หมายเหตุ คำสั่งนี้สามารถพิมพ์ออกมาภายใต้รูปแบบ v=[3 -2 5] เพียงเว้นช่องว่างระหว่างสมาชิกในวงเล็บ
เพื่อที่จะกำหนดเมทริกซ์และให้แสดงผลแบบในแนวตั้ง หรือ แท่ง (tabular display)
-->m=[1 2 3;4 5 6;7 8 9]
m =
1. 2. 3.
4. 5. 6.
7. 8. 9.
หมายเหตุ คำสั่งนี้สามารถพิมพ์ออกมาภายใต้รูปแบบ m=[1,2,3;4,5,6;7,8,9]
ฟังก์ชัน disp
disp ต้องใช้ร่วมกับวงเล็บเสมอ กับเวคเตอร์ v ที่กำหนดไว้ก่อนหน้านี้
-->v(2)
ans =
- 2. -->
disp(v(2)) - 2.
เพื่อแสดงผลสตริง(มักอยู่ในรูปประโยค) ให้นำข้อความหรือสตริงที่ต้องการแสดงอยู่ในเครื่องหมายคำพูด
-->disp("Bob won")
Bob won
เพื่อแสดงผลการควบรวมของคำและค่าต่างโดยใช้คำสั่งสตริง ซึ่งแปลงค่าไปเป็นสตริงตัวอักขระ โดยการใช้เครื่องหมายบวก “ + “ ระหว่างส่วนที่แตกต่างกัน
-->d=500;
-->disp("Bob won "+string(d)+" dollars")
Bob won 500 dollars
ถ้าประโยคประกอบด้วยเครื่องหมายคำพูดเดี่ยว (single quote) การแสดงแบบแรกจำต้องใช้การซ้ำสองในสตริงที่ต้องการแสดงให้ถูกตำแหน่ง
-->disp("It''s fair")
It's fair
การเพิ่มที่ละสเต็บในลูป (Loops Incrementation)
ตัวกระทำโคลอน “ : “ ใช้ในการกำหนดเวคเตอร์ของจำนวน ที่ซึ่งประสานลำดับแบบเลขคณิต โดยให้เครื่องหมาย << สำหรับค่าเริ่มต้น : สเต็ป : ค่าปลายด้วยเครื่องหมาย>> (beginning value<<: ending="" step:="" value="">>. เป็นไปได้ที่ไม่เข้าสู่ค่าปลายหรือท้าย ถ้าไม่ระบุสเต็บที่เพิ่มหรือลด โดยมีค่าปริยายคือ 1
ตัวอย่างเช่น เพื่อกำหนดเวคเตอร์แถวของเลขจำนวนเต็ม ซึ่งการเพิ่มขึ้นสเต็บละ 1 จาก 3 และ 10
-->3:10
ans =
3. 4. 5. 6. 7. 8. 9. 10. or
ซึ่งการเพิ่มขึ้นสเต็ปละ 2 จาก 1 ถึง 10 ดังนี้
-->1:2:10
ans =
1. 3. 5. 7. 9.
หรือเป็นไปในทางที่ลดลงทีละสเต็ปของ 4 จาก 20 to 2:
-->u=20:-4:2
u = 20. 16. 12. 8. 4.
for
สำหรับโครงสร้างลูปที่ง่ายที่สุดสำหรับจำนวนที่ตายตัวของการทำงานซ้ำ เขียนได้เป็น for … end.
ตัวอย่าง: ให้คำนวณ 20 เทอมของลำดับที่กำหนดโดยการเกิดซ้ำตามความสัมพันธ์คือ
{u1 = 4}
{un+1 = un + 2n +3}
Algorithm Scilab Editor
Put 4 in u(1) u(1)=4
For n from 1 to 20 for n=1 :20
u(n+1) takes the value u(n)+2n+3 u(n+1)= u(n)+2*n+3;
and u(n) display ([n,u(n)])
display n and u(n) end
End for
While
เพื่อหยุดลูปเมื่อกำหนดเป้าหมายที่จะไปถึง, โดยใช้ while … end
ฉันได้ปลูกต้นคริสมาสในปี 2005วัดได้สูง 1.20 m. ต้นไม้เติบโตขึ้นปีละ 30 ซม. ฉันตัดสินใจที่จะตัดต้นไม้นี้เมื่อมันสูงเกินกว่า 7 เมตร ในปีใดที่ฉันจะต้องตัดต้นไม้นี้
Algorithm Scilab Editor
Put 1.2 in h (h = tree height) h=1.2;
Put 2005 in y (y = year) y=2005;
While h<7 h="" nbsp="" p="" while=""> h takes the value h+0.3 (the tree grows) h=h+0.3;
y takes the value y+1 (one year passes) y=y+1;
End while end
Display y (the final year) disp("I will cut the.. tree in "+string(y))
หมายเหตุ เมื่อคำสั่งหนึ่งยาวเกินกว่าที่จะเขียนในบรรทัดเดียว เอดิเตอร์จะรวมบรรทัด สามารถทำได้โดยใช้สองจุด“ .. “ (two dots) ก่อนที่จะไปยังบรรทัดต่อไป
Tests
Comparison operators
การทดสอบที่มีประโยชน์รวมทั้งการเปรียบเทียบจำนวนหรือหาว่าประโยคคำสั่งใดเป็นจริงหรือเป็นเท็จ ข้างล่างนี้คำสั่งที่สอดคล้องกัน
Equal Different Less Greater Less or equal Greater or equal
== <> < > <= >=
True False And Or No
%T %F & | ~
หมายเหตุ จงระมัดระวังกับค่าความถูกต้องในการคำนวณ การคำนวณเป็นแนวทางเข้าสู่ และ “ == “ บางครั้งจะให้ผลลัพธ์ที่ผิดพลาด (ดูค่าความละเอียดใหนการคำนวณหน้า 30)
เพื่อเปรียบเทียบเวคเตอร์ 2 เวคเตอร์หรือ 2 เมทริกซ์ การทดสอบ “ == “ และ “ <> “ จะเปรียบเทียบเทอมต่อเทอม ตัวอย่างเช่น:
-->X=[1,2,5]; Y=[5,3,5];
-->X==Y
ans =
F F T
เพื่อทดสอบ 2 เวคเตอร์เท่ากันหรือไม่ ใช้ isequal และใช้ ~isequal ถ้า แตกต่างกัน
-->isequal(X,Y)
ans =
F
-->~isequal(X,Y)
ans =
T
If…then
ประโยคคำสั่งเงื่อนไขพื้นฐานดังต่อไปนี้
• if … then … else … end,
• if … then … elseif … then … else … end.
if … then ต้องเขียนอยู่บนบรรทัดเดียวกัน และเช่นเดียวกับ elseif … then.
ตัวอย่าง อลิษทอยลูกเต๋า 3 ลูก
• If she gets three 6’s she wins $20,
• If she gets three identical numbers different from 6 she wins $10,
• If she gets two identical numbers she wins $5,
• Otherwise she wins nothing.
ให้จำลองแบบการทดลองทอยลูกเต๋า และคำนวณการชนะรางวัลของอลิษโดยใช้ฟังก์ชัน
• grand (see page 22),
• unique(D)which keeps only once the values that appears several times in D,
• length(unique(D)) which returns the size of the obtained vector, that is to say 1 if three dice are equal, and 2 if two dice are equal.
Algorithm Scilab Editor
Put the three values in D D=grand(1,3,"uin",1,6);
If Alice gets three 6, then Alice wins 20 dollars if D==[6,6,6] then W=20;
Else if she receives three identical values, elseif length(unique(D))==1 then Alice wins 10 dollars hen W=10;
Else, if she receives two identical values, elseif length (unique(D))==2
then Alice wins 5 dollars then W=5;
Otherwise else
Alice wins nothing W=0;
End if end
Display Alice's winnings disp("Alice wins "+.. string(W)+ " dollars")
2-D and 3-D plots
คำสั่ง พล็อตใช้ในการพล็อตกราฟในระนาบ สีและการปรากฏให้เห็นสามารถระบุโดยการใช้ตัวบ่งชี้สีและรูปแบบจุดพล็อตภายในเครื่องหมายคำพูด
• Colors "b" = blue (by default), "k" = black, "r" = red, "g" = green, "c" = cyan, "m" = magenta, "y" = yellow, "w" = white.
• Point styles Joined (by default), or ".", "+", "o", "x", "*". Other options are available with: "s", "d", "v", "<", and ">".
การพล็อตกราฟพื้นฐาน (Basic plots)
การพล็อตจุดกราฟ
ให้พล็อตจุด A(1 ; 2) ด้วยจุดสีแดง
Scilab Editor Graphics Window
plot(1,2.".r")
พล็อตเซ็กเมนต์(To plot a segment)
ให้พล็อตเซ็กเมนต์[AB] ด้วยสีฟ้า(่โดยปริยาย) ด้วย A(1 ; 2) และ B(3 ; 5).
Scilab Editor Graphics Window
plot([1,3],[2,5])
การพล็อตเคิร์ฟแนวราบโดยฟังก์ชัน y=f(x) (plot of plane curves by function y=f(x))
สำหรับฟังก์ชัน x → f(x) ค่าของ x ระบุไว้โดยใช้ คำสั่ง linspace โดยเขียนคำสั่งดังนี้ x=linspace(a,b,n); ซึ่ง a เป็นค่าน้อยที่สุดของตัวแปร x, b เป็นค่าสูงสุดของ x, และ n จำนวนค่าที่คำนวณระหว่างค่า a และ b อย่าลืมว่าสัญลักษณ์ “ ; “ นอกจากนี้แล้วทุกค่า n ของ x จะถูกนำออกมาแสดงตัวอย่างเช่น พิจารณาฟังก์ชัน 2 ฟังก์ชัน f และ g กำหนดอยู่ในช่วง [-2 ; 5] โดยที่:
f(x) = (x^2 + 2x)e^-x , และ and g(x) = sin x/2
ด้วยโปรแกรมข้างล่างนี้ ได้พล็อตเคิร์ฟกำหนดโดย f , สีฟ้าโดยปริยาย
Scilab Editor Graphics Window
function y=f(x)
y=(x^2+2*x)*exp(-x)
endfunction
x=linspace(-2,5,50);
plot(x,f)
โดยการเพิ่มโปรแกรมข้างล่าง จะได้การพล็อตของเส้นเคิร์ฟ 2 เส้น ที่เป็นของ f สีแดง และของ g สีเขียว
การพล็อตที่ผ่านมาล้างออกไปโดยใช้คำสั่ง clf(“ clear figure “).
Scilab Editor Graphics Window
function y=g(x)
y=sin(x/2)
endfunction
x=linspace(-2,5,50);
clf
plot(x,f,"r",x,g,"g")
พล็อตชุดของจุด(Plots of sequences of points)
Terms of a sequence
ในกรณีทั่วไปเกือบทั้งหมดจะพล็อตไปตามลำดับของจุด M(n,u(n)) หลังจากการคำนวณของพิกัดฉาก u(n) ของเวคเตอร์u. plot(u,"*r") บ่งถึงสไตล์และสีของจุดในเครื่องหมายคำพูด สีแดงและรูดดาวที่ไม่เชื่อมต่อ โดยปริยายแล้วจุดต่างๆ ถูกพล็อตด้วยสีฟ้า และ เชื่อมต่อกัน
Scilab Editor Graphics Window
for n=1:50
u(n)=(-0.8)^n;
end clf;
plot(u,"*r")
ข้อมูลสถิติ 2 ตัวแปร (Bivariate statistical data)
ข้อมูลสถิติ 2 ตัวแปรถูกกำหนดขึ้นในรูปของเวคเตอร์ 2 เวคเตอร์ เรียกว่า X และ ํBivariate statistical data are given in the form of two vectors: let’s call them X and Y.
plot(X,Y,"<") พล็อตสแกตเตอร์กราฟของ M(Xi;Yi) (scatter plot of M(Xi;Yi) แสดงจุดพล็อตด้วยสามเหลี่ยมสีฟ้า
Scilab Editor Graphics Window
X=[1,3,3,7,7,9,10];
Y=[8,7,5,5,4,2,2];
clf; plot(X,Y,"<")
การพล็อตกราฟ 3 มิติ (Plots in 3 dimensions)
ไซแลบสามารถใช้ในการพล็อตพื้นผิว เคิร์ฟในสเปสซ์ ด้วยออพชันมากมายสำหรับจัดการผิวด้านที่ซ่อนบังไว้ สีของผิวหน้า, จุดในการมอง ฯลฯ ตัวอย่างต่อไปนี้แสดงการพล็อตกราฟ 3-D
ฟังก์ชัน surf สามารถใช้ในการพล็อตพื้นผิว ฟังก์ชันนี้มีตัวแปรนำเข้า 3 ตัวแปร x, y และ z. x และ y เป็นเว็คเตอร์ขนาดare respectively vectors of size m and n ตามลำดับ สอดคล้องกับจุดบนแกน(0x) และ(0y). z คือ เมทริกซ์ขนาดมิติ m×n ด้วยองค์ประกอบ zij สอดรับกับความสูงของจุดตามพิกัดX xi และพิกัดaY yi
เพื่อที่จะพล็อตพื้นผิวโดยฟังก์ชันในรูป z = f(x,y) ซึ่งต้องทำดังต่อไปนี้
• กำหนดฟังก์ชัน f
• คำนวณ z=feval(x,y,f)'
feval(x,y,f) คืนค่าเป็นreturns the m×n matrix ซึ่งองค์ประกอบ ij คือ f(xi,yi) ซึ่งจะถูกทรานสโพสโดยใช้เครื่องหมายคำพูดเดี่ยว“ ' “
• Execute surf(x,y,z).
เพื่อจะพล็อตพื้นผิว z = 2x^2 + y^2 (elliptic paraboloid):
Scilab Editor Graphics Window function
z=f(x,y)
z=2*x^2+y^2;
endfunction
x=linspace(-1,1,100);
y=linspace(-2,2,200);
z=feval(x,y,f)';
clf
surf(x,y,z)
เคิร์ฟในสเปสซ์อาจพล็อตโดยใช้ ฟังก์ชัน param3d โดยที่ param3d มี 3 อาร์กูเมนต์ x, y และ z, แต่ละเวคเตอร์มีมิติเดียวกัน และสอดคล้องกับจุด(xi,yi,zi) บนเคิร์ฟ
เพื่อพล็อต helix กำหนดโดยdefined by (x = cos t , y = sin t , z = t):
Scilab Editor Graphics Window
t=linspace(0,4*%pi,100);
param3d(cos(t),sin(t),t)
การจำลองแบบและสถิติ (Simulations and statistics)
มีหลายฟังก์ชันที่นำมาใช้ได้ในไซแลบเพื่อใช้ในการจำลองแบบได้เร็วและมีประสิทธิภาพ
ลำดับการสุ่ม (Random Sequences)
• grand(1,p,"uin",m,n) คืนกลับเป็นเวคเตอร์หนึ่ง ของ ลำดับการสุ่มจำนวนเต็ม p (p random integer sequences) ระหว่าง m และ n ด้วยจำนวนเต็มบวก p , m และ n เป็นจำนวนเต็มและ m ≤ n.
-->t = grand(1,4,"uin",1,6)
t =
3. 1. 3. 6.
• grand(1,p,"unf",a,b) คืนกลับค่าเป็นเว็คเตอร์หนึ่งของลำดับการสุ่มจำนวนจริงp (p random real sequences) ระหว่าง a และ b ด้วยจำนวนเต็มบวก , a และ b เป็นจำนวนจริง และ a ≤ b.
-->tr = grand(1,2,"unf",-1,1)
tr =
- 0.7460264 0.9377355
สถิติ (Statistics)
ฟังก์ชันมาตรฐานทางสถิติทั้งหมดแสดงรายการไว้ในหน้า 32
คิดไว้ในใจเป็นการเฉพาะกล่าวคือ
• ฟังก์ชัน bar(x,n,color) ซึ่งวาดกราฟแท่ง(bar graphs):
Scilab Editor Graphics Window
x=[1:10];
n=[8,6,13,10,6,4,16,7,8,5];
clf; bar(x,n)
• สำหรับกราฟแท่งที่แทน 2 ชุดด้านต่อด้าน(two sets side by side): พิจารณาชุดของค่า X และ 2 ชุดลำดับของจำนวน n1 และ n2. สำหรับการพล็อต n1 และ n2 ต้องเป็นเว็คเตอร์คอร์ลัมน์ นั่นคือทำไมจึงนำทรานสโพสมาใช้ในตัวอย่างข้างล่าง
Scilab Editor Graphics Window
X=[1,2,5];n1=[5,10,5];n2=[6,8,7];
bar(X,[n1',n2'])
อาร์กูเมนต์ทางเลือกสีกำหนดสีตามฟังก์ชันการพล็อต
ข่าวสารเพิ่มเติมของเมทริกซ์และเวคเตอร์ (Additional information on matrices and vectors)
การจัดการองค์ประกอบเว็คเตอร์
วงเล็บเหลี่ยมถูกนำมาใช้เพื่อกำหนดเมทริกซ์ สเปสซ์หนึ่งหรือคอร์ลัมน์หนึ่งๆถูกใช้เพื่อสลับจากคอร์ลัมน์หนึ่งไปเป็นอีกคอร์ลัมน์ และเซมิโคลอนถูกใช้เพื่อสลับจากบรรทัด(line)ไปเป็นอีกบรรทัด ดังนี้
-->m=[1 2 3;4 5 6]
m =
1. 2. 3.
4. 5. 6.
วงเล็บใช้เพื่อจัดการองค์ประกอบของเมทริกซ์หรือปรับเปลี่ยนองค์ประกอบ
หมายเหตุ คำสั่งนี้สามารถพิมพ์ภายใต้รูปแบบ m=[1,2,3;4,5,6]
-->m(2,3)
ans =
6.
-->m(2,3)=23
m =
1. 2. 3.
4. 5. 23.
โอเปอร์เรเตอร์ “ : “ ถูกนำมาใช้เพื่อจัดวางแถวทั้งหมดหรือคอร์ลัมน์ทั้งหมดของเมทริกซ์หนึ่งๆ เพื่อมองหาแถวที่ 2 ของเมทริกซ์ m พิมพ์ดังนี้
-->m(2,:)
ans =
4. 5. 23.
และคอร์ลัมน์ที่ 3 ดังนี้
-->m(:,3)
ans =
3.
23.
เพื่อให้ได้มาของการทรานซโพสของเมทริกซ์หนึ่งหรือเว็คเตอร์หนึ่ง ให้ใช้สัญลักษณ์เครื่องหมายคำพูดเดี่ยว “ ' “:
-->m'
ans = 1. 4.
2. 5.
3. 23.
ตัวกระทำ (Operations)
การกระทำ “ * “, “ / “ เป็นการกระทำของเมทริกซ์ เพื่อทำให้ทำให้การกระทำไปตามองค์ประกอบ (element wise operations) เราจำต้องใส่จุดก่อนเครื่องหมายกระทำ: “ .* “, “ ./ “.
-->A=[1,2,3;4,5,6]
A =
1. 2. 3.
4. 5. 6.
-->B=[1;1;2]
B =
1.
1.
2.
-->A*B
ans = การคูณเมทริกซ์ (Matrix multiplication)
9.
21.
-->A*A !--error 10
Inconsistent multiplication. Dimensions are not consistent
-->A.*A
ans = 1. 4. 9. Element wise multiplication
16. 25. 36.
-->2*(A+2)
ans =
6. 8. 10. The operation is performed on each element
12. 14. 16. because 2 is a number
-->A/A กำหนดให้เมทริกซ์ X ที่ซึ่ง X*A = A
ans =
1. 1.518D-16 ผลลัพธ์จริงๆคือ 1. 0
3.795D-15 1. 0 1
สำหรับเหตุผลความถูกต้องในการคำนวณ ผลลัพธ์อาจ
แตกต่างกันเล็กน้อยดขึ้นอยู่กับรุ่นของไซแลบและระบบ
ปฏฺิบัติ การที่ใช้ (ให้ดูความละเอียดในการคำนวณ หนา 29).
-->A./A
ans =
1. 1. 1.
1. 1. 1.
กำหนดให้เมทริกซ์หารตามองค์ประกอบ (divided element wise) ในกรณีของเว็คเตอร์
-->C = 1:4
C = 1. 2. 3. 4.
-->C*C !--error 10 Dimensions are not consistent
Inconsistent multiplication.
-->C.*C
ans =
1. 4. 9. 16.7>
บทที่ 3- ฟังก์ชันไซแลบที่มีประโยขน์ในการวิเคราะห์
In probability and statistics 32
To display and plot 33
Utilities 33
chapter 3 – Useful Scilab functions Analysis • sqrt(x) returns the square root of � with � real positive or zero, and the complex root of real positive part otherwise. • log(x) returns the natural logarithm of x with x real or complex number. • exp(x) returns the exponential of � with � real or complex number. • abs(x) returns the absolute value of � real (or the module if � is complex). • int(x) returns the truncation of � real (the integer before the decimal). • floor(x) returns the integer part of � real (the integer � for which � ≤ � < � + 1). • ceil(x) for � real returns the integer � for which � − 1 < � ≤ �. Probability and statistics • factorial(n) returns the factorial of n with n positive or zero integer. • grand(1,p,"uin",m,n) returns a vector of p random integer sequences taken between m and n with p positive integer, m and n integers and � ≤ �. • grand(1,p,"unf",a,b) returns a vector of p random real sequences taken between a and b with p positive integer, a and b real and � ≤ �. • sum(n) returns the sum of the values of vector � (used to calculate a total). • cumsum(n) returns the vector of increasing cumulative values of vector � (used to calculate the increasing cumulative numbers). • length(v) returns the number of coordinates of vector �. • gsort(v) returns the vector of numbers or strings � sorted in descending order. • gsort(v,"g","i") returns the vector of numbers or strings � sorted in ascending order. • mean(v) returns the average of the vector of numbers �. • stdev(v) returns the standard deviation of numbers � vector. • bar(v,n,couleur) draws the bar graph with � as X-coordinate, � as Y-coordinate, � and � being same size line vectors. By default, bar(n) draws the bar graph of � in blue with 1,2,3… as X-coordinates. • bar(v,[n1’,n2’]) draws a double bar graph with � as X-coordinate, n1 as Ycoordinate in blue and n2 as Y-coordinate in green, with �, n1 and n2 being same size line vectors. • rand(n,p) with � and � positive integers, returns a matrix �×� of numbers randomly taken between 0 and 1. • rand() returns a real number randomly taken between 0 and 1. • floor(x) returns the integer part of � real number. In particular, if � is real between 0 and 1, floor(rand()+p) will be 1 with � probability and 0 with 1 − � probability. Scilab for very beginners - 33/33 Display and plot • clf means “ clear figure “ and clears the current figure on the graphics window. • plot allows to draw curves and scatter plots in 2 dimensions. • linspace(a,b,n), with � and � real and � integer, defines a vector of � values regularly spaced between � and �. • scf allows to open or to select other graphics windows than the current one. • surf allows 3-D surface plots. • bar(X,Y) in which X and Y are vectors, draws the bar graph of the series of values for X which has for numbers the values of Y. • plot(X,Y,"*") draws the scatter plot of coordinates (X(i),Y(i)) as stars. The color can be specified. • plot(Y,"+") draws the scatter plot of coordinates (i,Y(i)) as cross. • disp("Sentence") displays what is written in double quotes. • disp(A) in which A is a matrix of numbers, displays the table of the values of A. • disp("Sentence"+string(x)) displays the sentence and the value of number �. • xclick returns the coordinates of the point clicked in a graphics window. Utilities • unique(v) returns the vector � with a unique occurrence of its repeated components. • sum(v) returns the sum of all the elements of the vector or the matrix �. • prod(v) returns the product of all the elements of the vector or the matrix �. • find(
Friday, 8 December 2017
Thursday, 7 December 2017
Wednesday, 6 December 2017
Thursday, 9 November 2017
Sunday, 26 March 2017
Subscribe to:
Posts (Atom)
การสืบค้นสื่อดิจิทัลจากอินเตอร์เน็ตสำหรับทุกคน
ตามรายการหน้าปกหนังสือที่ให้มาบางเล่มสามารถที่จะค้นหาได้จากอินเตอร์เน็ต จากเครื่องจักรการค้น ต่างๆ บางเล่มก็สามารถเปิดอ่านได้ บางเล่มไม่สามารถเปิดอ่านได้เนื่องจากลิขสิทธิ์ เปิดอ่านได้เมื่อมีรหัสผ่านที่เสียค่าใช้จ่าย