Danh mục

matlab_toan_tap_8

Số trang: 10      Loại file: pdf      Dung lượng: 108.84 KB      Lượt xem: 6      Lượt tải: 0    
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tham khảo tài liệu matlab_toan_tap_8, kỹ thuật - công nghệ, điện - điện tử phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
matlab_toan_tap_8 71Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Tr¹ng th¸i 1:10 lµ mét tr¹ng th¸i t¹o lªn m¶ng MATLAB tiªu chuÈn. BÊt cø kiÓu m¶ng nµo cña MATLAB ®Òu ®−îc chÊp nhËn trong vßng lÆp for: >> data = [3 9 45 6; 7 16 -1 5] data = 3 9 45 6 7 16 -1 5 >> for n = data x = n(1)-n(2) end x= -4 x= -7 x= 46 x= 1 B×nh th−êng vßng lÆp for cã thÓ lång vµo nhau: >> for n = 1:5 for m = 5:-1:1 A(n,m) = n^2+m^2; end disp(n) end 1 2 3 4 5 >> A A= 2 5 10 17 26 5 8 13 20 29 10 13 18 25 34 17 20 25 32 41 26 29 34 41 50 Kh«ng nªn dïng vßng lÆp for khi mµ t−¬ng ®−¬ng víi viÖc ta dïng m¶ng ®Ó tÝnh to¸n. Nh− trong vÝ dô tr−íc ta còng cã thÓ dïng m¶ng ®Ó tÝnh to¸n: >> n = 1: 10; >> x = sin(n*pi/10) x= Columns 1 through 7 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 Columns 8 through 10 0.5878 0.3090 0.0000 Trong hai tr−êng hîp nh− trªn, tr−êng hîp thø hai ta dïng m¶ng ®Ó tÝnh to¸n còng ®−îc kÕt qu¶ nh− vËy, nh−ng nã nhanh h¬n vµ c¸c th¸o t¸c còng Ýt h¬n. 72Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com §Ó t¨ng tèc ®é tÝnh to¸n, m¶ng cÇn ph¶i ®−îc khëi t¹o tr−íc khi thùc hiÖn vßng lÆp for (hoÆc vßng lÆp while). Trong vÝ dô tr−íc cø mçi lÇn lÖnh trong vßng lÆp for ®−îc tÝnh, kÝch cì cña biÕn x l¹i t¨ng lªn 1. §iÒu nµy lµm cho MATLAB mÊt thêi gian ®Ó cËp nhËt thªm bé nhí cho x trong mçi vßng. §Ó rót ng¾n b−íc nµy, vÝ dô vÒ vßng lÆp for ë tr−íc viÕt l¹i nh− sau: >> x = zeros(1,10); % Khëi t¹o bé nhí cho x >> for n = 1: 10 x = sin(n*pi/10); end B©y giê chØ cÇn thay ®æi gi¸ trÞ cña c¸c phÇn tö cña x. 11.2 Vßng lÆp while Vßng lÆp while thùc hiÖn lÆp l¹i mét nhãm lÖnh mét sè lÇn cè ®Þnh, nh−ng kh«ng biÕt tríc ®- −îc sè lÇn lÆp l¹i. Có ph¸p cña vßng lÆp while nh− sau: while biÓu thøc ®iÒu kiÖn khèi c¸c lÖnh.. end “khèi c¸c lÖnh..” gi÷a hai tr¹ng th¸i while vµ end ®−îc thùc hiÖn lÆp ®i lÆp l¹i khi tÊt c¶ c¸c “biÓu thøc ®iÒu kiÖn” lµ ®óng. Th«ng th−êng gi¸ trÞ cña ®iÒu kiÖn ®−a ra kÕt qu¶ lµ mét sè, nh−ng nÕu c¸c kÕt qu¶ ®a ra lµ mét m¶ng th× vÉn hîp lÖ. Trong tr−êng hîp m¶ng, tÊt c¶ c¸c phÇn tö trong m¶ng kÕt qu¶ ®a ra ph¶i lµ True (®óng). Cã thÓ tham kh¶o vÝ dô d−íi ®©y: >> num = 0; ESP = 1; >> while (1+ESP) > 1 ESP = ESP/ 2; num = num + 1; end >> num num= 53 >> ESP = 2*ESP ESP= 2.2204e-16 VÝ dô nµy ®−a ra c¸ch tÝnh gi¸ trÞ ®Æc biÖt eps cña MATLAB, nã lµ mét sè d−¬ng nhá nhÊt, cã thÓ céng víi 1 ®Ó ®−îc mét sè lín h¬n 1 dïng cho giíi h¹n ®é chÝnh x¸c. ë ®©y chóng ta dïng ch÷ hoa EPS ®Ó ch¾c ch¾n r»ng gi¸ trÞ eps cña MATLAB kh«ng ghi ®Ì lªn. Trong vÝ dô nµy, gi¸ trÞ cña EPS b¾t ®Çu b»ng 1, trong khi ®iÒu kiÖn (1+EPS)>1 lµ True (®Ó cho nã kh¸c kh«ng), c¸c lÖnh trong vßng lÆp while ®−îc tÝnh, gi¸ trÞ cña EPS tiÕp tôc ®−îc chia ®«i, gi¸ trÞ cña EPS nhá ®i, mµ céng EPS víi 1 th× nã lµ sè nhá nhÊt mµ lín h¬n 1. Do m¸y tÝnh sö dông sè cè ®Þnh cã 16 ch÷ sè nªn khi gi¸ trÞ nhá qu¸ th× nã lµm trßn b»ng 0, vµ khi ®ã ®iÒu kiÖn (EPS+1)> 1 False (sai) vµ vßng lÆp while dõng l¹i. Cuèi cïng EPS ®−îc nh©n víi 2 v× sau lÇn chia cuèi cïng cho 2 th× vßng lÆp dõng l¹i. 11.3 CÊu tróc if-else-end NhiÒu khi chóng ta cÇn nh÷ng c©u lÖnh ®−îc thùc hiÖn theo mét ®iÒu kiÖn nµo ®ã. Trong ng«n ng÷ lËp tr×nh, logic nµy ®−îc cung cÊp bëi cÊu tróc if-else-end. Có ph¸p cña cÊu tróc nµy nh− sau: if biÓu thøc ®iÒu kiÖn khèi c¸c lÖnh... 73Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com end Khèi c¸c lÖnh gi÷a hai tr¹ng th¸i if vµ end ®−îc thùc hiÖn khi tÊt biÓu thøc ®iÒu kiÖn lµ ®óng. Trong tr−êng hîp ®iÒu kiÖn bao gåm c¸c ®iÒu kiÖn con, th× tÊt c¶ c¸c ®iÒu kiÖn con ®−îc tÝnh vµ tr¶ vÒ mét tr¹ng th¸i logic cña ®iÒu kiÖn. VÝ dô: % sè t¸o >> apple = 10 >> cost = apple*25 cost= 250 >> if apple > 5 % bá ®i 20% cost = (1-20/100)*cost; end >> cost cost 200 Trong tr−êng hîp cã hai ®iÒu kiÖn thay ®æi, cÊu tróc if-else-end lµ: biÓu thøc ®iÒu kiÖn if khèi c¸c lÖnh ®−îc thùc hiÖn nÕu ®iÒu kiÖn lµ ®óng else khèi c¸c lÖnh ®−îc thùc hiÖn nÕu ®iÒu kiÖn lµ sai end Khi cã ba hoÆc nhiÒu ®iÒu kiÖn thay ®æi, cÊu tróc cña nã sÏ lµ: biÓu thøc ®iÒu kiÖn 1 if khèi c¸c lÖnh ®−îc thùc hiÖn nÕu ®iÒu kiÖn 1 lµ ®óng elseif biÓu thøc ®iÒu kiÖn 2 khèi c¸c lÖnh ®−îc thùc hiÖn nÕu ®iÒu kiÖn 2 lµ ®óng elseif biÓu thøc ®iÒu kiÖn 3 khèi c¸c lÖnh ®−îc thùc hiÖn nÕu ®iÒu kiÖn 3 lµ ®óng elseif biÓu thøc ®iÒu kiÖn 4 . . . else khèi c¸c lÖnh ®−îc thùc hiÖn nÕu kh«ng cã ®iÒu kiÖn nµo ®óng. End Trong mÉu d¹ng nµy th× khi biÓu thøc ®iÒu kiÖn ®Çu tiªn ®óng th× c¸c c©u lÖnh sau kh«ng ®−îc kiÓm tra n÷a, c¸c cÊu tróc if-else-end cßn l¹i ®−îc bá qua. H¬n n÷a c©u lÖnh else ë cuèi cã thÓ kh«ng cÇn cho ...

Tài liệu được xem nhiều:

Tài liệu có liên quan: