การplot กราฟ ที่ง่ายสุดในโลกกก
----- ใน m-file -----
fx = @(x) (x-1).^2;
x = -5:0.2:6;
y = fx(x);
plot(x,y) %คำสั่ง plot กราฟ
----- จบ -----
โปรแกรมมจะแสดงรูป
ต่อไปเป็นการ plot กราฟ 3D และการคอนทัวร์นะฮ้าฟฟ
----- ใน m-file -----
clear;
clc;
fx = @(x1,x2) (x1-3).^2 + (x2-4).^2;
x1 = 0:0.2:6;
x2 = 0:0.2:8;
[x1m,x2m] = meshgrid(x1,x2);
zf = fx(x1m,x2m);
mesh(x1,x2,zf) % สั่ง plot กราฟ 3D
colorbar %plot กราฟ หลายๆสี
figure
[cf,hf] = contour(x1,x2,zf,[2 3 4])
clabel(cf,hf)
----- จบ -----
โปรแกรมมจะแสดงรูป 2 รูป พร้อมกันน
การ plot หลายกราฟ ในรูปเดียวของ Matlab
------ ใน m-file ------
clear;
clc;
fx = @(x1,x2) (x1-2).^2 + (x2-2).^2;
x1 = 0:0.2:6;
x2 = 0:0.2:8;
[x1m,x2m] = meshgrid(x1,x2);
zf = fx(x1m,x2m);
figure %ให้แสดงรูป
[cf,hf] = contour(x1,x2,zf,[2 3 4 5 6 7 8 9 10])
clabel(cf,hf) % ให้ตั้งชื่อแกน x y
g1 = @(x1,x2)5 - x1 -x2;
zg1 = g1(x1m,x2m);
hold on % ให้แสดงรูปของโค้ดก่อนหน้าค้างไว้
[cg1,hg1] = contour(x1,x2,zg1,[0 0],'--c')
g2 = @(x1,x2)-2.5 + x1 -x2;
zg2 = g2(x1m,x2m);
[cg2,hg2] = contour(x1,x2,zg2,[0 0],'--m')
----- จบ -----
เมื่อ RUN แล้วในหน้า command window จะแสดง
Columns 28 through 36
5.1000 5.2000 5.3000 5.4000 5.5000 5.6000 5.7000 5.8000 5.9000
2.6000 2.7000 2.8000 2.9000 3.0000 3.1000 3.2000 3.3000 3.4000
Column 37
6.0000
3.5000
hg2 =
460.0011
ซึ่งเป็นค่าที่คำนวณจาก column ต่างๆ และจบที่ค่าสุดท้ายคือ ค่า hf
และจะมีกราฟแสดงขึ้นมา
โจทย์อีกข้อ
------ ใน m-file ------
clear;
clc;
fx = @(x1,x2) (x1-3).^2 + (x2-4).^2;
x1 = 0:0.2:6;
x2 = 0:0.2:8;
[x1m,x2m] = meshgrid(x1,x2);
zf = fx(x1m,x2m);
figure
[cf,hf] = contour(x1,x2,zf,[2 3 4 5 6 7 8 9 10])
clabel(cf,hf)
g1 = @(x1,x2)5 - x1 -x2;
zg1 = g1(x1m,x2m);
hold on
[cg1,hg1] = contour(x1,x2,zg1,[0 0],'--c')
g2 = @(x1,x2)-2.5 + x1 -x2;
zg2 = g2(x1m,x2m);
[cg2,hg2] = contour(x1,x2,zg2,[0 0],'--m')
----- จบ -----
เมื่อ RUN แล้วในหน้า command window จะแสดง
Columns 28 through 36
5.1000 5.2000 5.3000 5.4000 5.5000 5.6000 5.7000 5.8000 5.9000
2.6000 2.7000 2.8000 2.9000 3.0000 3.1000 3.2000 3.3000 3.4000
Column 37
6.0000
3.5000
hg2 =
243.0027
และแสดงกราฟ
จบแบ้วววจ้าา าาา ^^