259201 computer programming for engineer
DESCRIPTION
259201 Computer Programming for Engineer. การคำนวณเกี่ยวกับ Array and Matrix. ค่าเริ่มต้น : step : ค่าสุดท้าย. y = ( 0.2 , 0.4 , 0.6 , …, 2.0 ). การกำหนดค่าหลายๆ ค่าในตัวแปรเดียว (Vector Array). เช่นค่า u = ( 0.1 , 0.2 , 0.3 , …, 1.0 ). » u=[ 0.1 : .1 : 1.0 ];. » y = 2.0*u;. - PowerPoint PPT PresentationTRANSCRIPT
1
259201Computer Programming
for Engineer
การคำ�านวณเก�ยวก บ Array and Matrix
2
การก�าหนดคำ�าหลายๆ คำ�าในตั วแปรเดยว (Vector Array)
» u=[0.1:.1:1.0];
เช่�นคำ�า เช่�นคำ�า u = (u = (0.10.1, , 0.20.2, , 0.30.3, …, , …, 1.01.0))
» y = 2.0*u;» y = 2.0*u;
คำ�าเร��มตั�น คำ�าเร��มตั�น :: step step : : คำ�าสุ�ดท้�ายคำ�าสุ�ดท้�าย
y = (y = (0.20.2, , 0.40.4, , 0.60.6, …, , …, 2.02.0))
3
อาเรย! (Array)คื�อกลุ่��มของจำ� นวนที่��ถู�กเก�บอย่� งม�
โคืรงสร� ง 321 aaa 321 aaa
3
2
1
a
a
a
3
2
1
a
a
a
333231
232221
131211
aaa
aaa
aaa
333231
232221
131211
aaa
aaa
aaa
เวกเตัอร!แถว (Row Vector)
เวกเตัอร!แถว (Row Vector)
เวกเตัอร!คำอล มน! (Column Vector)
เวกเตัอร!คำอล มน! (Column Vector)
อาเรย!สุองม�ตั� หร$อ เมตัร�กซ์! (Matrix)
อาเรย!สุองม�ตั� หร$อ เมตัร�กซ์! (Matrix)
4
การป&อนคำ�าให�ก บอาเรย! 0 1234
5] == 0 1 2 3
4 5
15» y= : == 1 2 3 4
5
01234x=[5]
== 0 1 2 3
4 5
15» y= : == 1 2 3 4
5
1210» z= : : == 1 3 5
7 9
-10 21» z= : : == 10 8 6
4 2
1210» z= : : == 1 3 5
7 9
-10 21» z= : : == 10 8 6
4 2
5
การป&อนคำ�าให�ก บอาเรย!ด�วยฟั(งก!ช่ น Linspace
เป็!นก รก� หนดให� element ของอ เรย่%ม�คื� เร&�มตั้()งแตั้� first_value จำนถู+ง last_value โดย่ให�ม�จำ� นวนของข�อม�ลุ่ที่()งหมด n elements แลุ่ะระย่ะห� งระหว� งข�อม�ลุ่แตั้�ลุ่ะคื� จำะม�ขน ดเที่� ก(น (Linear)
linspace(first_value, last_value, n) linspace(first_value, last_value, n)
6
ตั วอย�าง » k=linspace(0,pi,11) k =
Col umns 1 through 7 0 0.3142 0.06283 0.9425
1.2566 1.5708 1.8850 Col umns 8 through 11 2.1991 2.5133 2.8274
3.1416
7
การเรยกใช่�ข้�อม*ลในแตั�ละ element ข้องอาเรย!
ตั้�องระบ�ตั้� แหน�งของ Element ที่��ตั้�องก ร โดย่ก� หนดไว�ด� นหลุ่(งของชื่��อตั้(วแป็ร
เชื่�น ตั้�องก รเร�ย่กใชื่�ข�อม�ลุ่ตั้� แหน�งที่��ส มของอ เรย่% z ใชื่�คื� ส(�ง » z=10:-2:1 z =
10 8 6 4 2
» z(3) ans =
6
8
การเรยกใช่�ข้�อม*ลท้ละหลาย elements ข้องอาเรย!ตั้�องระบ�ตั้� แหน�งของ elements ที่��
ตั้�องก ร โดย่ใชื่�เคืร��องหม ย่ , หร�อ ชื่�องว� ง หร�อเคืร��องหม ย่ : เข� ชื่�วย่ zzzz 1
35]) ans =
10
6 2
1» z([ 3 5 ])
ans = 10
6 2
»1,3 ,5])
ans = 10
6 2
»1,3 ,5zz
ans = 10
6 2
»24z( : )
ans = 8
6 4
»24z( : )
ans = 8
6 4
9
การสุร�างอาเรย!ใหม�จากอาเรย!เด�ม
ถู� ตั้�องก รสร� งอ เรย่%ใหม� c ที่��เก&ดจำ กก รน� เอ อ เรย่% x แลุ่ะ y ม ตั้�อก(น
» x=[0 1 2 3 4 5];» y= 1:5;» c=[x y]c = 0 1 2 3 4 5 1 2 3 4 5
10
การคำ�านวณระหว�างอาเรย!ก บสุเกลาร!
ก รคื� นวณระหว� งอ เรย่%แลุ่ะสเกลุ่ ร% ที่�กๆคื� ของตั้(วแป็รอ เรย่%จำะถู�กกระที่� ด�วย่จำ� นวนสเกลุ่ ร%เหม�อนก(นหมด เชื่�น 012345» x=[ ]; -10 21» z= : : ;
=-=3 == - - - 3 2 1 0 1 2
2*» z == 20 16 12 8 4
11
การคำ�านวณระหว�างอาเรย!ก บอาเรย!ก รคื� นวณระหว� งอ เรย่%ก(บอ เรย่% ไม�ว�
จำะเป็!นก รบวก ลุ่บ คื�ณหร�อห ร จ�านวน Element ข้องอาเรย!จะ
ตั�องมข้นาดเท้�าก น การคำ�านวณระหว�างอาเรย!จะกระท้�า
ระหว�าง Element ตั�อ Element เช่�น
12
ตั วอย�าง 19» x= :
z= 1 2 3 4 5 6 7 8 9
210» y= : z= 2 3 4 5 6 7 8 9
10
» + z= 3 5 7 9 11 13 15
17 19
z-z» z= - - - - - - - - -1 1 1 1 1 1 1 1 1
13
การคำ*ณและการหารอาเรย! ก รคื�ณ ก รห ร ก รย่กก� ลุ่(ง แบบอ เรย่%น()นจำะน� เอ
Element ณ ตั้� แหน�งเด�ย่วก(นของสองอ เรย่%ม ที่� ก รคื�ณ ห ร หร�อ ย่กก� ลุ่(งก(น
ตั้�องใชื่� *. ./ หร�อ .\ เพื่��อให�ตั้� งไป็จำ กก รคื�ณห รแบบเมตั้ร&กซ์%
19»x= : ; 210» y= : ; » .*
== 2 6 1 2 2 0 3 0 4 2
56 72 90
14
การหารอาเรย!ด�วย ./ และ .\
ส� หร(บก รห รจำะใชื่� . / หร�อ . \ก�ได� แตั้�ตั้� แหน�งของตั้(วแป็รจำะว งสลุ่(บก(น » x.\y y ตั้()งห รด�วย่ x » y./x y ตั้()งห รด�วย่ x
15
ก รย่กก� ลุ่(งด�วย่ .^ ใช่� .^>> x = 1:3;>> y = 1:3;>> x.^y % element ข้อง x ยกก�าล งด�วย
element ข้อง y ท้�ตัรงก น ans = 1 4 27
2» .^x % 2 ยกก�าล งจาก 1 ถ/ง 3 ans =
2 4 8
16
การก�าหนดคำ�าอาเรย!เคืร��องหม ย่ ; ใชื่�ระบ�ว� ให�เร&�มแถูวใหม�
หร�อใชื่�ก รกด Enter ก�ได�» g=[1 2 34 5 67 8 9]g = 1 2 3 4 5 6 7 8 9
» g=[1 2 34 5 67 8 9]g = 1 2 3 4 5 6 7 8 9
»123c=[ ; ; ]
z= 1 2 3
»123c=[ ; ; ]
z= 1 2 3
17
Transposeใชื่�ตั้(วด� เน&นก ร ’
» a=[1 2 3 ] a= 1 2 3
»c=a' c= 1 2 3
» a=[1 2 3 ] a= 1 2 3
»c=a' c= 1 2 3
18
Transpose สุ�าหร บเลข้เช่�งซ์�อนถู� ข�อม�ลุ่เป็!นคื� เชื่&งซ์�อน นอกจำ กจำะที่� ก ร
สลุ่(บแถูวก(บคือลุ่(มน%แลุ่�ว ย่(งเป็ลุ่��ย่นคื� ให�เป็!นคื� ส(งย่�คืของคื� เด&มด�วย่ (Transpose Conjugate) >> a = x+i* y
a = 1.0000 + 1.0000i 2.0000 +2.0000i 3.0000 + 3.0000i>> c = a'c = 1.0000 - 1.0000i 2.0000 - 2.0000i 3.0000 - 3.0000i
>> a = x+i* ya = 1.0000 + 1.0000i 2.0000 +2.0000i 3.0000 + 3.0000i>> c = a'c = 1.0000 - 1.0000i 2.0000 - 2.0000i 3.0000 - 3.0000i
>> x = 1:3;
>> y = 1:3;
>> x = 1:3;
>> y = 1:3;
19
เมตัร�กซ์!คื�ออ เรย่%ข�อม�ลุ่สองม&ตั้& ก รบวกแลุ่ะก รลุ่บเมตั้ร&กซ์%ม�ลุ่(กษณะเชื่�น
เด�ย่วก(นก(บก รบวกแลุ่ะลุ่บของอ เรย่% เมตั้ร&กซ์%ที่��น� ม บวกหร�อลุ่บก(นตั้�องเป็!นเม
ตั้ร&กซ์%ที่��ม�ขน ดเที่� ก(น ก รคื�ณแลุ่ะก รห รของเมตั้ร&กซ์%แตั้กตั้� ง
จำ กก รคื�ณแลุ่ะห รของอ เรย่%
20
การคำ*ณเมตัร�กซ์!ใชื่�เคืร��องหม ย่ * ก รคื�ณก(นของเมตั้ร&กซ์% A แลุ่ะ เมตั้ร&กซ์% B
จำ� นวนคือลุ่(มน%ของ A จำะตั้�องเที่� ก(บจำ� นวนแถูวของ B
ถู� เมตั้ร&กซ์% A ม�ขน ด m p แลุ่ะเมตั้ร&กซ์% B ม�ขน ด p n ผลุ่ลุ่(พื่ธ์%ของก รคื�ณ
ระหว� งเมตั้ร&กซ์% A แลุ่ะ B จำะม�ขน ด m n
โดย่ป็กตั้& AB จำะม�คื� ไม�เที่� ก(บ BA
21
ตั วอย�างการคำ*ณเมตัร�กซ์!
= = == 6 -2 10
347; ]; - 98512» B= [ ; ];
6» A = [ -2 10; 3 ;4 7 ] ;
- » =[ 9 8; 5 12];
116
116
24
1
75
64
)12)(7()8)(4(
)12)(3()8)(10(
)12)(2()8)(6(
)5)(7()9)(4(
)5)(3()9)(10(
)5)(2()9)(6(
125
89
7
3
2
4
10
6
116
116
24
1
75
64
)12)(7()8)(4(
)12)(3()8)(10(
)12)(2()8)(6(
)5)(7()9)(4(
)5)(3()9)(10(
)5)(2()9)(6(
125
89
7
3
2
4
10
6
*» A B ans =
64
24
75
116
1 116
*» A B ans =
64
24
75
116
1 116
22
ตั วอย�าง คำ�านวณสุมการเช่�งเสุ�น
มสุมการเช่�งเสุ�น 3 ตั วแปร 3สุมการ ด งเช่�น
11
+ 22
z 3x3
= 366
4x1 5+ x2
6+ x3
= 804
7x1
z 8 x2
0+ x3
= 351
351
804
366
3
2
1
087
654
321
x
x
x
351
804
366
3
2
1
087
654
321
x
x
x
BAX BAX
23
ว�ธีท้�า1.สร� งเมตั้ร&กซ์% A แลุ่ะ B
»B366804;351; ]B = 366 804 351
»B 36=[6804
351
B = 366 804 351
» A=[1 2 345678; ;
0] A =
1 2
3
4 5
6
7 8
0
» A=[1 2 345678
0] z=
1 2
3
4 5
6
7 8
0
24
ว�ธีท้�า 2 .ในก รที่��จำะห คื� ตั้อบได�น()น เมตั้ร&กซ์% A
ตั้�องม�ด�เที่อร%ม&แนนที่%ที่��ไม�เป็!น 0
» det(A)ans = 27
» det(A)ans = 27
ใช่�ฟั(งก!ช่ น det(A) หาคำ�าดเท้อร!ม�แนนท้!ข้อง Aใช่�ฟั(งก!ช่ น det(A) หาคำ�าดเท้อร!ม�แนนท้!ข้อง A
25
ว�ธีท้�า 3. เม��อคื� ด�เที่อร%ม&แนนที่%ไม�เป็!น 0 แลุ่�วก�
ส ม รถูห คื� ตั้อบที่��เป็!น x=A-1B
» x=inv(A)*Bx = 25.0000 22.0000 99.0000
» x=inv(A)*Bx = 25.0000 22.0000 99.0000
ใช่�ฟั(งก!ช่ น inv(A) หาคำ�า inverse matrix ข้อง Aใช่�ฟั(งก!ช่ น inv(A) หาคำ�า inverse matrix ข้อง A
26
ตั วอย�าง การว�เคำราะห!คำ�าใช่�จ�ายในการผล�ตั
Process
คำ�าใช่�จ�ายตั�อ
ช่ �วโมง
จ�านวนช่ �วโมงในการผล�ตัสุ�นคำ�า 1 ช่�3น
ผล�ตัภั ณ
ฑ์!ท้� 1
ผล�ตัภั ณฑ์!
ท้� 2
ผล�ตัภั ณฑ์!
ท้� 3
Lathe 10 6 5 4
Grinding
12 2 3 1
Milling
14 3 2 5
Welding
9 4 0 3
27
คำ�านวณหาa) คื� ใชื่�จำ� ย่ในแตั้�ลุ่ะกระบวนก รผลุ่&ตั้ส� หร(บ
ผลุ่&ตั้ภั(ณฑ์%ชื่น&ดที่�� 1 จำ� นวน 1 ชื่&)นb) ร คื ตั้�อหน�วย่ในก รผลุ่&ตั้ส&นคื� แตั้�ลุ่ะชื่น&ดc) คื� ใชื่�จำ� ย่ที่()งหมด ห กตั้�องก รผลุ่&ตั้ส&นคื�
ชื่น&ดที่�� 1 จำ� นวน 10 ชื่&)น ชื่น&ดที่�� 2 จำ� นวน 5 ชื่&)น ชื่น&ดที่�� 3 จำ� นวน 7 ชื่&)น
28
Process คำ�าใช่�จ�ายตั�อช่ �วโมง
จ�านวนช่ �วโมงในการผล�ตัสุ�นคำ�า 1 ช่�3น
ผล�ตัภั ณฑ์!ท้� 1
ผล�ตัภั ณฑ์!ท้� 2
ผล�ตัภั ณฑ์!ท้� 3
Lathe 10 6 5 4
Grinding 12 2 3 1
Milling 14 3 2 5
Welding 9 4 0 3
1. คื� ใชื่�จำ� ย่ในแตั้�ลุ่ะกระบวนก รผลุ่&ตั้ส� หร(บผลุ่&ตั้ภั(ณฑ์%ชื่น&ดที่�� 1 จำ� นวน 1 ชื่&)น
2. ร คื ตั้�อหน�วย่ในก รผลุ่&ตั้ส&นคื� แตั้�ลุ่ะชื่น&ด 3. คื� ใชื่�จำ� ย่ที่()งหมด ห กตั้�องก รผลุ่&ตั้ส&นคื� ชื่น&ดที่�� 1 จำ� นวน 10 ชื่&)น ชื่น&ดที่�� 2 จำ� นวน 5 ชื่&)น ชื่น&ดที่�� 3 จำ� นวน 7 ชื่&)น
29
ว&ธ์�ที่� a)
ก� หนดคื� ใชื่�จำ� ย่ตั้�อชื่(�วโมงเป็!นชื่น&ดเวกเตั้อร%แถูวในชื่��อตั้(วแป็ร
hourly_costsก� หนดจำ� นวนชื่(�วโมงที่��ตั้�องใชื่�ใน
ก รผลุ่&ตั้ผลุ่&ตั้ภั(ณฑ์% 1 เป็!นชื่น&ดเวกเตั้อร%แถูวในชื่��อตั้(วแป็ร hour
s_1คื� นวณห คื� ใชื่�จำ� ย่ในแตั้�ลุ่ะ
กระบวนก รโดย่ก รใชื่�ก รคื�ณอ เรย่%
» hourly_cost= 10 12 14[ , , ,
9]; » hours_1 = [6 ,
2 3 4, , ]; » process_cost_1 =
_.*1
1process_cost_ = 60 24
42 36
» hourly_cost= 10 12 14[ , , ,
9]; » hours_1 = [6 ,
2 3 4, , ]; » process_cost_1 =
*hourly_cost. hours_1
process_cost_1 = 60 24
42 36
คำ�าใช่�จ�าย = คำ�าใช่�จ�ายตั�อเวลา x จ�านวนเวลาท้�ใช่�ในการผล�ตั
คำ�าใช่�จ�าย = คำ�าใช่�จ�ายตั�อเวลา x จ�านวนเวลาท้�ใช่�ในการผล�ตั
30
ว&ธ์�ที่� b)
162)4(9)3(14)2(12)6(10
4
3
2
6
9141210
162)4(9)3(14)2(12)6(10
4
3
2
6
9141210
ราคำาตั�อหน�วยข้องผล�ตัภั ณฑ์! 1 = hourly_costs * hours_1
31
ว&ธ์�ที่� b)
ราคำาตั�อหน�วยข้องผล�ตัภั ณฑ์! 2 = hourly_costs * hours_2
114)0(9)2(14)3(12)5(10
0
2
3
5
9141210
114)0(9)2(14)3(12)5(10
0
2
3
5
9141210
» hours_2 = [5, 3, 2, 0];» hours_2 = [5, 3, 2, 0];สุร�างอาเรย! hours_2
32
ว&ธ์�ที่� b)
ราคำาตั�อหน�วยข้องผล�ตัภั ณฑ์!3 = hourly_costs * hours_3
» hours_3 = [4, 1, 5, 3];» hours_3 = [4, 1, 5, 3];สุร�างอาเรย! hours_3
149)3(9)5(14)1(12)4(10
3
5
1
4
9141210
149)3(9)5(14)1(12)4(10
3
5
1
4
9141210
33
ว&ธ์�ที่� ก รคื� นวณห ร คื ตั้�อหน�วย่ของที่()งส ม
ผลุ่&ตั้ภั(ณฑ์%ส ม รถูด� เน&นก รพื่ร�อมก(น
149114162
27701240
0283650
36422460
3
5
1
4
0
2
3
5
4
3
2
6
9141210
149114162
27701240
0283650
36422460
3
5
1
4
0
2
3
5
4
3
2
6
9141210
» unit_cost = hourly_cost * [hours_1’, hours_2’, hours_3’]unit_cost = 162 114 149
» unit_cost = hourly_cost * [hours_1’, hours_2’, hours_3’]unit_cost = 162 114 149
34
ว&ธ์�ที่� c)
ก รห คื� ใชื่�จำ� ย่ที่()งหมดของก รผลุ่&ตั้ผลุ่&ตั้ภั(ณฑ์%แตั้�ลุ่ะชื่น&ด จำ� นวน 10 ชื่&)น 5 ชื่&)น แลุ่ะ 7 ชื่&)น ตั้ มลุ่� ด(บ ส ม รถูห ได�จำ กก รคื�ณเมตั้ร&กซ์%
323310435701620
149
114
162
7510
323310435701620
149
114
162
7510
» units = [10, 5, 7];» total_cost = units*unit_cost’total_cost = 3233
» units = [10, 5, 7];» total_cost = units*unit_cost’total_cost = 3233