วิชาการ.คอม - คลังความรู้ ปัญญาไทย เพื่อการศึกษาไทย เพราะเรารักเมืองไทย
เว็บส่งเสริมการเรียนรู้ดีเด่น 2547 (สมาคมผู้ดูแลเว็บไทย)   |   เว็บสื่อวิทยาศาสตร์ดีเด่น 2549 (กระทรวงวิทย์)   |   เว็บการศึกษาที่มียอดผู้เข้าชมสูงสุด 2549, 2550 (TrueHits)
ขอขอบคุณ บริษัท ปตท. จำกัด (มหาชน) และ สสวท ที่ให้การสนับสนุน  
การฝึกเขียนโปรแกรม SciLab ขั้นแนะนำ (โดย MathGuy)
โพสต์เมื่อ: 11:21 วันที่ 30 เม.ย. 2550         ชมแล้ว: 22,219 ตอบแล้ว: 197
น่าจะนับได้ว่า เป็นการนับ 1 ของการที่จะพอมีอะไรแบ่งปันให้กับคนอื่นๆบ้าง ในโลก Internet จากที่เราได้ใช้ประโยชน์จากแหล่งความรู้ ข้อมูลต่างที่มีประโยชน์ต่อเรา ที่มีคนเสียสละเวลา เสียสละแรงกายใจ แบ่งปันให้เราได้ใช้ร่วมกัน

เมื่อถึงจุดๆหนึ่ง เราก็น่าจะได้เริ่ม ทดแทนคุณกลับคืนบ้าง (รับมามากแล้ว เราก็ฝึกที่จะให้ )
.........................................................................................................................

กระทู้นี้ จึงเป็นการแบ่งปัน ในเรื่องการฝึกเขียนโปรแกรม SciLab

เข้าไปดูตรงนี้นะครับ : http://www.champa.kku.ac.th/jeerayut/scilab41/scilab41.html
(1) ถ้ารู้ว่า MatLab, Maple, Mathematica, Maxima, Octave คืออะไร ก็จะรู้ว่า SciLab เป็นพี่น้องกันด้วย
(2) SciLab เป็น Freeware และเข้าใจว่าจะเป็นต่อไปเรื่อยๆ (เช่นเดียวกับ Maxima และ Octave)
(3) ผมเชือว่า SciLab มีความสามารถสูงในการใช้งาน และกำลังจะเข้าไปพิสูจน์ หาคำตอบอันนี้
(4) กระทู้นี้จึงเป็นการเชิญชวน ผู้ที่สนใจ ให้เรียนรู้ไปด้วยกัน
(5) ผู้เรียนควรจะมีพื้นความรู้ทางคณิตศาสตร์ (มัธยมปลายน่าจะ OK) และมีพื้นความรู้ทางการเขียนโปรแกรมคอมพิวเตอร์บ้างพอสมควร (เคยเขียนมาบ้าง ภาษาอะไรก็ได้)
(6) ผมจะแนะนำให้น้อยที่สุด (เท่าที่คิดว่าน่าจะพอเริ่มต้นได้) และจะเน้นการทดลองเขียน การเรียนรู้ด้วยตัวเอง
(7) ถ้ามีผู้ใดที่ใช้โปรแกรมนี้อยู่ และถึงขั้นเชี่ยวชาญแล้ว ก็อยากจะให้มาช่วยๆกัน แลกเปลี่ยนประสบการณ์ครับ
(8) ผู้ที่สนใจ ถ้าได้ทดลองเขียน เรียนรู้ตามไป ถ้าไม่เข้าใจ ก็ให้ post ถามในกระทู้นี้นะครับ


MathGuy เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1988 ครั้ง - ได้รับดาวแล้ว 323 ดวง - โหวตเพิ่มดาว

จำนวน 194 ความเห็น, หน้า่ | 1| 2| 3| 4| -5- 6| 7| 8| 9| 10|
ความเห็นเพิ่มเติมที่ 76 24 พ.ค. 2550 (15:51)
ผมลองให้การบ้านได้มั้ยครับ

ลองเขียนฟังก์ชัน MyGCD(n1,n2,n3) สำหรับหา ห.ร.ม. ของจำนวนเต็มบวก
3 จำนวน คือ n1, n2 และ n3
MathGuy เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1988 ครั้ง - ได้รับดาวแล้ว 323 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 77 24 พ.ค. 2550 (22:30)
การบ้าน พยายามทำแล้ว หลายครั้งแล้ว แก้แล้วแก้อีก
ก็ไม่ได้ ครับ

ถ้าเป็นโปรแกรมอื่น ผมใช้วิธี หา หรม.ของ n1 กับ n2 แล้วเก็บไว้ในตัวแปร n12 แล้วจึงหา หรม.ของ n12 กับ n3 อีกครั้งหนึ่ง
****************************************************

ผมลองเขียนคำสั่งหา ครน. ได้ดังนี้

function m=LCM(n1,n2),
i=1,
while(modulo(n1*i,n2)<>0), i=i+1; end,
m=n1*i,
endfunction
LCM(8,24)
LCM(9,6)

โปรดวิจารณ์และแก้ไขให้กระทัดรัด ใช้ได้กว้างขวาง ไรปัญหา ให้ด้วย
np (IP:58.8.85.160)

ความเห็นเพิ่มเติมที่ 78 25 พ.ค. 2550 (07:50)
Did you mean to say:
LCM(LCM(n1, n2), n3)? or LCM(n1, LCM(n2, n3))?


SR (IP:144.138.31.128)

ความเห็นเพิ่มเติมที่ 79 25 พ.ค. 2550 (10:30)
โอ คอบคุณม๋าก คุณ เอสอาร์
ผมจะลองอีกดูอีกสักยก
np (IP:202.57.149.52)

ความเห็นเพิ่มเติมที่ 80 25 พ.ค. 2550 (11:52)
code ของคุณ np ในคหพ#77 ถูกต้อง กระชับดีแล้วครับ

ผมขอ copy ลงตรงนี้อีกทีหนึ่ง
...........................................................

-->function m=LCM(n1,n2),
-->i=1,
-->while(modulo(n1*i,n2)<>0), i=i+1; end,
-->m=n1*i,
-->endfunction


-->LCM(3,5)
ans =

15.

-->LCM(12,18)
ans =

36.

-->LCM(50,180)
ans =

900.

-->
MathGuy เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1988 ครั้ง - ได้รับดาวแล้ว 323 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 81 25 พ.ค. 2550 (12:03)
วันนี้ผมขอแนะนำ คำสัง ที่ทำให้เราเรียนรู้คณิตศาสตร์ได้สนุกมากขึ้น

คำสัง Matplot(A)

เมื่อ A เป็นเมตริกซ์ โดยสมาชิกมีค่าเป็นจำนวนนับ 1,2,3,4,5,6,7,8
ซึ่งจะใช้เป็น ค่าสี

เราจะระบายสีบนตารางขนาด m x n เมื่อ m x n คือ ขนาดของเมตริกซ์ A
( มี m แถว n หลัก)

ทดลองดุเลยนะครับ จะแสดงลวดลาย ที่ได้ทำไว้ในคหพ#68

-->for i=1:80,
-->for j=1:80,
-->A(i,j)=modulo(i*i+j*j,3)+1;
-->end, end

-->Matplot(A)

-->


ได้ผลดังนี้
10054

MathGuy เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1988 ครั้ง - ได้รับดาวแล้ว 323 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 82 25 พ.ค. 2550 (12:07)
เปลี่ยนจาก modulo 3 เป็น modulo 7


-->for i=1:80,
-->for j=1:80,
-->A(i,j)=modulo(i*i+j*j,7)+1;
-->end, end

-->Matplot(A)

-->


ได้ผลดังนี้
10055

MathGuy เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1988 ครั้ง - ได้รับดาวแล้ว 323 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 83 25 พ.ค. 2550 (12:11)
เปลี่ยนลวดลาย

-->for i=1:80,
-->for j=1:80,
-->A(i,j)=modulo(i*i+2*j,7)+1;
-->end, end

-->clf()

-->Matplot(A)

-->


ได้ผลดังนี้
10057

MathGuy เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1988 ครั้ง - ได้รับดาวแล้ว 323 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 84 25 พ.ค. 2550 (13:19)
ลองอีกสักลวดลาย กำลังพยายามหาลายสวยๆ แปลกๆ

-->for i=1:50,
-->for j=1:50,
-->A(i,j)=modulo(abs(3*sin(i)+5*cos(j)),7)+1;
-->end, end

-->Matplot(A)

-->


ได้ผลดังนี้
10060

MathGuy เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1988 ครั้ง - ได้รับดาวแล้ว 323 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 85 25 พ.ค. 2550 (14:07)
ค รู ผ่า ย อ ยู่ ห นา ย . . . . .

เข้ามาดูหรือยัง


ยอดเยี่ยมมากเลยครับ แต่รู้สึกว่าจะเล่นแรงไปหน่อย
ของ่ายๆก่อน ได้ไหมครับ
เช่น
1. สร้างเส้นตรงที่จุด(x1,y1),(x2,y2) ขนาด Z
2. สร้างรูปสี่เหลี่ยมที่(x1,y1),(x2,y2) ขนาด Z
3. สร้างวงกลมที่จุด(x1,y1),(x2,y2) ขนาด Z
4. สร้างวงกลมที่จุด(x,y) รัศมี rขนาดเส้น z
5. สร้าง จากรายการ 1 - 4 แต่ให้มีสี หรือถ้าเป็นเส้นตรง ก็มีลูกศร

6. สร้างตารางที่ จุด(x1,y1),(x2,y2) ขนาดเส้น Z จำนวน n1 คอลัมน์ n2 แถว มีสีและไม่มีสี
7. สร้างตารางที่ จุดเริ่มต้นที่(x1,y1)แต่ละช่องกว้าง w จำนวน n1 ช่อง สูง h จำนวน n2 ช่อง มีสีและไม่มีสี
np (IP:202.57.149.52)

ความเห็นเพิ่มเติมที่ 86 25 พ.ค. 2550 (14:39)
จริงๆ มีสีให้เลือกเยอะครับ มาลองดูสี 1 2,3, ..., 25 จากเมตริกซ์ขนาด 5x5
..................................................................................................................

-->A=[1 2 3 4 5; 6 7 8 9 10; 11 12 13 14 15; 16 17 18 19 20; 21 22 23 24 25]
A =


1. 2. 3. 4. 5.
6. 7. 8. 9. 10.
11. 12. 13. 14. 15.
16. 17. 18. 19. 20.
21. 22. 23. 24. 25.

-->Matplot(A)


ได้ผลดังนี้ครับ
MathGuy เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1988 ครั้ง - ได้รับดาวแล้ว 323 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 88 25 พ.ค. 2550 (14:42)
(ผลของ คหพ#ก่อนหน้านี้)
10065

MathGuy เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1988 ครั้ง - ได้รับดาวแล้ว 323 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 89 25 พ.ค. 2550 (14:50)
คำถามเกี่ยวกับ การทำกราฟิกพื้นฐาน ของคุณ np

ผมขอไปค้นดู (อยู่ใน Help ของ SciLab) คืนนี้ (หรือสุดสัปดาห์นี้) เป็นการบ้านนะครับ

.......................................................................

สัปดาห์หน้า ผมจะพยายามแนะนำส่วนที่เกี่ยวกับ graphic หรือ image เพิ่มเติม
(พร้อมกับการใช้งาน ที่ควบคุมด้วยการเขียน code! )
MathGuy เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1988 ครั้ง - ได้รับดาวแล้ว 323 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 90 26 พ.ค. 2550 (17:34)
ไล่อ่านมาตั้งแต่ คหม#1 ถึงตรงนี้
สนุกครับ
ขอร่วมเรียนรู้ด้วยอีกคนครับ
หวังว่าไม่ช้าไปนะครับ
จะรีบตามคุณ np กับ ครูไผ่ให้ทันครับ
AJ Kong เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 29 ครั้ง - ได้รับดาวแล้ว 151 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 91 28 พ.ค. 2550 (13:34)
ยินดีต้อนรับ AJ Kong ครับ

หลายๆคน ช่วยกันเรียนรู้ นับว่าเป็นสิ่งที่ดีครับ

ใน คหพ# ที่ผ่านๆมา มีตรงไหนที่ต้องการคำอธิบาย เพิ่มเติม
AJ Kong ถามเข้ามาได้เลยนะครับ
อยากให้ลองเขียน code ทำการคำนวณอะไรก็โพสต์เข้ามาได้

ณ ขณะนี้ ก็มีผมและคุณ np ที่เป็นตัวหลักที่จะช่วยๆกันครับ
MathGuy เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1988 ครั้ง - ได้รับดาวแล้ว 323 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 92 28 พ.ค. 2550 (14:00)
ตอบคำถามคุณ np (บางส่วนน้อยๆ .... กำลังศึกษาอยู่ครับ ต้องอดใจรอสักหน่อย)

ขอให้ code การทำกราฟิก ที่เป็นการวาดเส้นต่อจุดกัน

ผมจะวาดเส้นต่อจุด(ในระนาบ XY)
เริ่มจากจุด (1,0) ไป (2,4) ไป (3,0) ไป (0,3) ไป (4,3) แล้วก็กลับมาที่ (1,0)


-->xbasc()

-->x=[1 2 3 0 4 1];

-->y=[0 4 0 3 3 0];

-->plot2d(x,y)

-->


ได้ผลดังนี้ครับ
10291

MathGuy เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1988 ครั้ง - ได้รับดาวแล้ว 323 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 93 28 พ.ค. 2550 (14:34)
ตัวอย่างเพิ่มเติม


-->xbasc()

-->x=[1 2 3 2 1];

-->y=[2 3 2 1 2];

-->plot2d(x,y)

-->


ได้ผลดังนี้
10293

MathGuy เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1988 ครั้ง - ได้รับดาวแล้ว 323 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 94 28 พ.ค. 2550 (16:00)
ตัวอย่างเพิ่มเติม 2


-->x=[1 1 0 0 1 1 2 2 3 3 4 4 5 5 4 4 3 3 2 2 1];

-->y=[1 2 2 3 3 4 4 5 5 4 4 3 3 2 2 1 1 0 0 1 1];

-->plot2d(x,y)

-->a=[2 2 3 3 2];

-->b=[2 3 3 2 2];

-->plot2d(a,b)

-->


ได้ผลดังนี้
10318

MathGuy เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1988 ครั้ง - ได้รับดาวแล้ว 323 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 95 28 พ.ค. 2550 (16:09)
ขออนุญาตให้การบ้านเลยนะครับ

ให้ลองวาดรูป "แปดเหลี่ยม" โดยมีรูป "หกเหลี่ยม" ซ้อนอยู่ข้างใน

...........................................................................

โดยใช้การลากเส้นต่อจุดในระนาบ XY
MathGuy เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1988 ครั้ง - ได้รับดาวแล้ว 323 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 96 28 พ.ค. 2550 (17:22)
อย่างนี้สนุกแน่

ครู ไผ่ อยู่ไหน

ช้างตัวใหม่ กำลังจะมา แล้ว
np (IP:202.57.149.52)

ความเห็นเพิ่มเติม วิชาการ.คอม

ชื่อ / email:
ข้อความ

รูปภาพ หรือ ไฟล์
กรุณาล๊อกอินก่อน เพื่อโพสต์รูปภาพ และ ใช้ LaTex ค่ะ สมัครสมาชิกฟรีตลอดชีพที่นี่
ตัวช่วย 1: CafeCode วิธีการใช้
ตัวช่วย 2: VSmilies วิธีการใช้
ตัวช่วย 3: พจนานุกรมไทย ออนไลน์ ฉบับราชบัณฑิต
ตัวช่วย 4 : dictionary ไทย<=>อังกฤษ ออนไลน์ จาก NECTEC
ตัวช่วย 5 : ดาวน์โหลด โปรแกรมช่วยพิมพ์ Latex เพื่อแสดงสมการบนวิชาการ.คอม

ขอบคุณผู้สนับสนุน

Hot Links

Google
 
ติดต่อลงโฆษณา :   คุณอันนา 086-4907600,
0-2583-2802
และ 086-4907585
สำนักงาน :   0-2642-7828
อีเมล์ :   
Copyright© 2000-2007, Vcharkarn.Com. All rights reserved.
คลิ๊กเพื่อดูสถิติ
รับรองและสนับสนุนโดย

สสวท.

มูลนิธิ พสวท.

พสวท.