76
คู ่มือโปรแกรม MATLAB วิชา 876131 หลักการเขียนโปรแกรม จัดทาโดย นายกนกพันธ์ วรรณศรี รหัสนิสิต 55670150 กลุ ่ม 3301 เสนอ อาจารย์ กฤษณะ อิ่มสวาสดิ ภาคการศึกษาที2/2558 คณะภูมิสารสนเทศศาสตร์ มหาวิทยาลัยบูรพา

55670150

Embed Size (px)

Citation preview

Page 1: 55670150

คมอโปรแกรม MATLAB

วชา 876131 หลกการเขยนโปรแกรม

จดท าโดย

นายกนกพนธ วรรณศร

รหสนสต 55670150 กลม 3301

เสนอ

อาจารย กฤษณะ อมสวาสด

ภาคการศกษาท 2/2558

คณะภมสารสนเทศศาสตร มหาวทยาลยบรพา

Page 2: 55670150

โปรแกรม MATLAB

แมตแลบ (องกฤษ : MATLAB : Matrix Laboratory) เปนซอฟตแวรในการค านวณและ

การเขยนโปรแกรมโปรแกรมหนงทมความสามารถครอบคลมตงแตการพฒนาอลกอรธม การ

สรางแบบจ าลองทางคณตศาสตร และการท าซมเลชนของระบบ การสรางระบบควบคม และ

โดยเฉพาะเรอง image processing และ wavelet การสรางเมตรกซ แมตแลบไดเรมตนขนเพอ

ตองการใหเราสามารถแกปญหาตวแปรทมลกษณะเปนเมทรกซไดงายขน แมตแลบเรมพฒนา

ครงแรกโดย Dr. Cleve Molor ซงเขยนโปรแกรมนขนมาดวยภาษาฟอรแทรน โดยโปรแกรมน

ไดพฒนาภายใตโครงการ LINPACK และ EISPACK แมตแลบสามารถท างานไดทงในลกษณะ

ของการตดตอโดยตรง คอการเขยนค าสงเขาไปทละค าสง เพอใหแมตแลบประมวลผลไปเรอย ๆ

หรอสามารถทจะรวบรวมชดค าสงเรานนเปนโปรแกรมกได ขอส าคญอยางหนงของแมตแลบก

คอ ขอมลทกตวจะถกเกบในลกษณะของแถวล าดบ คอในแตละตวแปรจะไดรบการแบงเปน

สวนยอยเลก ๆ ขน ซงการใชตวแปรเปนแถวล าดบในแมตแลบเราไมจ าเปนทจะตองจองมต

เหมอนกบการเขยนโปรแกรมในภาษาขนต าทวไป ซงท าใหเราสามารถทจะแกปญหาของตว

แปรทอยในลกษณะของเมทรกซและเวกเตอรไดโดยงาย ซงท าใหเราลดเวลาการท างานลงได

อยางมากเมอเทยบกบการเขยนโปรแกรมโดยภาษาซหรอภาษาฟอรแทรน

Page 3: 55670150

ความรเบองตนใน MATLAB

เปนการเรยนรเบองตนใน Matlab

Page 4: 55670150

เปนการท ากราฟ plot

เปนกราฟแบบ shading interp

Page 5: 55670150

เปนการท ากราฟแบบ colourbar

mesh(xx,yy,zz)

Page 6: 55670150

กด new script

จะไดตามภาพ

Page 7: 55670150

เขยนโคดขนมา

เลอกทเกบ

Page 8: 55670150

เสรจแลวกด run

กด change folder

Page 9: 55670150

จะไดลกโลกตามภาพ

Page 10: 55670150

plot

เปนการ plot กราฟ (x,y) จะไดออกมาดงภาพ

Page 11: 55670150

เปนการตงชอกราฟ โดยพมพวา title (‘…’)

Page 12: 55670150

เปนการตงชอแกน x โดยพมพวา xlabel (‘…’)

Page 13: 55670150

เปนการตงชอแกน y เชนเดยวกบแกน x แคเปลยนจาก xlabel (‘…’) เปน ylabel (‘…’)

Page 14: 55670150

เปนการเปลยนสเสนของกราฟ โดยพมพวา plot(x,y,'red') จะไดเปนเสนสแดงออกมา

Page 15: 55670150

เปนการเปลยนเสนของกราฟเปนเสนปะ plot(x,y,'--r')

Page 16: 55670150

เปนการเปลยนเสนของกราฟเชนกน plot(x,y,'-.r')

Page 17: 55670150

เชนเดยวกบเสนปะ

Page 18: 55670150

เชนเดยวกบเสนปะ

Page 19: 55670150

เชนเดยวกบเสนปะ

Page 20: 55670150

เปนการ plot กราฟแบบรวมๆ plot(x,t,'--r',y,t,'-.b',z,t,'-^k')

Page 21: 55670150

เปนการแทนสญลกษณ โดยใชค าวา legend('airplane','train','ship')

Page 22: 55670150

เปนการยายต าแหนงของสญลกษณ โดยพมพวา legend('location','northwest')

Page 23: 55670150

เปนการแยกกราฟในแตละประเภท ใชค าวา subplot

Page 24: 55670150
Page 25: 55670150
Page 26: 55670150
Page 27: 55670150
Page 28: 55670150

ไปท new script

ใสโคดทมลงไป จากนนกด run

Page 29: 55670150
Page 30: 55670150

กด data cursor เปนการบอกคาความสง

Page 31: 55670150

DEM & topotoolbox

เปนการก าหนดโฟลเดอรของ topotoolbox

จะไดออกมาดงภาพ

Page 32: 55670150

เลอกไฟลทตองการ

จากนนกด save แลว close ไดเลย

Page 33: 55670150

เปนการเลอกไฟลเพอไวใชท างาน

จากนนเลอกไฟลทตองการ

Page 34: 55670150

พมพโคดตามน

จะไดออกมาดงภาพ

Page 35: 55670150

เปนการพมพโคดเพอเรยกภาพออกมา

จะไดออกมาดงภาพ

Page 36: 55670150

เปนการใหภาพทชดเจนและละเอยดมากขน

จะไดออกมาดงภาพ

Page 37: 55670150

เปนการตดภาพทก าหนดขนาดได

เปนการก าหนดตวแปรของภาพ

Page 38: 55670150

เปนการท าใหภาพภเขามความสมจรงแบบ 3D

จะไดภาพของภเขาออกมาดงภาพ

Page 39: 55670150

เปนการ export แบบ ascii

เปนการ export แบบ geotiff

Page 40: 55670150

เปนการท า fillsinks

FD = FLOWobj(DEMf);

A = flowacc(FD);

imageschs(DEM,dilate(sqrt(A),ones(5)),'colormap',flipud(copper));

เปนการผานการ fillsinks มาแลว

จะไดออกมาดงภาพ

Page 41: 55670150

DB = drainagebasins(FD);

DB = shufflelabel(DB);

nrDB = numel(unique(DB.Z(:)))-1; % nr of drainage basins

STATS = regionprops(DB.Z,'PixelIdxList','Area','Centroid');

imageschs(DEM,DB);

hold on

for run = 1:nrDB;

if STATS(run).Area*DB.cellsize^2 > 10e6;

[x,y] = ind2coord(DB,...

sub2ind(DB.size,...

round(STATS(run).Centroid(2)),...

round(STATS(run).Centroid(1))));

text(x,y,...

num2str(round(STATS(run).Area * DB.cellsize^2/1e6)),...

'BackgroundColor',[1 1 1]);

end

end

hold off

title('drainage basins (numbers refer to drainage basin area in km^2)')

เปนการแบงลกษณะของลมน า

จะไดออกมาดงภาพ

Page 42: 55670150

Image Processing

เปนการก าหนดโฟลเดอรเพอน ามาใชท างาน

เลอกภาพทเราตองการจากท save ไวในโฟลเดอรของเรา

Page 43: 55670150

เปนการก าหนดตวแปรของภาพท 1

กด enter แลวจะไดดงภาพ

Page 44: 55670150

เปนค าสงในการเปดภาพขนมา

จะไดดงภาพ

Page 45: 55670150

เปนค าสงประกาศตวแปร

กด enter แลวจะไดดงภาพ

Page 46: 55670150

เปนค าสงทท าใหภาพเปนสเทา

จะไดดงภาพ

Page 47: 55670150

เปนค าสงทใชเปดกราฟของภาพขนมา

จะไดดงภาพ

Page 48: 55670150

เปนการบอกขนาดลกษณะของภาพ

กด enter แลวจะไดดงภาพ

Page 49: 55670150

เปนค าสงแปลงจากภาพสเปนขาวด า

กด enter แลวจะไดดงภาพ

Page 50: 55670150

เปนค าสงโชวภาพขาวด าขนมา

จะไดดงภาพ

Page 51: 55670150

เปดภาพท 2 ขนมา

โชวภาพท 2 ขนมา

Page 52: 55670150

จะไดดงภาพ

เปนการเปดกราฟของภาพท 2

Page 53: 55670150

จะไดดงภาพ

เปนค าสงการปรบแกภาพใหมความชดเจนมากยงขน

Page 54: 55670150

เปนค าสงโชวภาพขนมา

จะไดดงภาพ

Page 55: 55670150

เปดกราฟขนมา

จะไดดงภาพ

Page 56: 55670150

พมพค าสงดงภาพ

จะไดดงภาพ

Page 57: 55670150

เปนค าสงเปดกลองขนมา

จะไดดงภาพ

Page 58: 55670150

เลอกขนาดของภาพ

จากนนกด start

Page 59: 55670150

จะไดดงภาพ

เปนค าสงเรยกไฟลภาพขนมา

Page 60: 55670150

เปนค าสงการแสดงผลลพธออกมา

เปนค าสงแสดงการถายภาพ

Page 61: 55670150

3D Stereo Pair

เลอกภาพทไดจากการคนหา stereo pair

จากนนเลอก select แลวคลมภาพครงดานซาย แลวกด crop

Page 62: 55670150

เลอกท save ดงภาพ และท าภาพครงดานขวาเชนเดยวกบครงดานซาย

ไปท matlab กดดงภาพ เพอเลอกภาพทเราตองการ

Page 63: 55670150

กด Ctrl+N แลวใสโคดทเราเตรยมไว

เลอกทเกบ

Page 64: 55670150

จากนนกด run

จะไดภาพ 3D ดงภาพ

Page 65: 55670150

Guide

พมพ guide แลวกด enter

จะไดออกมาดงภาพ

Page 66: 55670150

จากนนกด ok

จะไดออกมาดงภาพ

Page 67: 55670150

เลอกตามภาพเพอใหแสดงชอของเครองมอขนมา

Page 68: 55670150

จะไดออกมาดงภาพ

ท าการขยายโดยดงจากมมขวาลาง

Page 69: 55670150

เลอกดงภาพ

สรางขนมา 5 ปม

Page 70: 55670150

จากนนเลอกดงภาพ

สรางดงภาพ

Page 71: 55670150

Double click ทปมแรก

จะไดออกมาดงภาพ

Page 72: 55670150

ปรบตามทเราตองการ

ท าแบบนนจนครบจ านวนปม

Page 73: 55670150

เลอกดงภาพ

ใสโคดทเราเตรยมไว ท าแบบนทง 5 ปม

Page 74: 55670150

จากนนกด run

จะไดออกมาดงภาพ

Page 75: 55670150

กดท load image แลวเลอกภาพขนมา จะไดออกมาดงภาพ

Page 76: 55670150

การผสมสภาพ

ใสโคดทมลงไป

จะไดออกมาดงภาพ