Matlab cơ bản 2: Toán tử và mảng trong matlab

Lu ROm

Administrator
Staff member
25 Tháng bảy 2014
481
119
43
31
One piece
vimach.net
1.1.Các toán tử
- Có 2 loại toán tử cơ bản là toán tử unary(toán tử một ngôi) và binary (toán tử hai ngôi). Ví dụ kí hiệu “-” được hiểu toán tử một ngôi là giá trị âm và hiểu toán tử hai ngôi là toán tử trừ .
- Dưới đây là một vài toán tử phổ biến được sử dụng với các biểu thức số học :
+ toán tử cộng
- giá trị âm , toán tử trừ
* toán tử nhân
/ toán tử chia lấy tử (9/3 = 3)
\ toán tử chia lấy mẫu (3/12 = 4)
^ toán tử lũy thừa

1.2.Vector và ma trận
- Vector và ma trận được sử dụng để lưu tập các giá trị có cùng kiểu dữ liệu . Một vector có thể là vector hàng hoặc vector cột . Một ma trận có thể được hình thành từ một bảng giá trị. Ma trận cỡ mxn là bảng số chữ nhật gồm mxn số được sắp xếp thành m hàng và n cột :
+ Nếu m = 1 thì ma trận chuyển thành vector hàng
+ Nếu n = 1 thì ma trận chuyển thành vector cột
+ Nếu m = n = 1 thì ma trận trở thành đại lượng vô hướng.
- Một vector trong MATLAB được coi là mảng 1 chiều trong các ngôn ngữ khác. Một ma trận được coi là mảng 2 chiều . Vì vậy trong MATLAB , thực hiện toán tử với vector và ma trận thì được coi là các toán tử mảng .
1.2.1. Tạo vector hàng
- Có nhiều cách tạo biến vector hàng . Cách trực tiếp nhất là đặt các giá trị bạn muốn vào trong dấu ngoặc vuông , và được phân cách bởi dấu cách hoặc dấu phẩy . Ví dụ :
2.png

Sử dụng colon operator (toán tử : ) lấy từng giá trị trong khoảng xác định. Ví dụ :
R_bbX_VQw5YkNKoKYE6TFKc4MLJLOSvDTbW0tEGIV0uqJHLkUqUdCnkqB7FI9j09Ifxzkxas1bpNkJLwZws5WWKwZNwFuPinD5X32Z-Okm5Jio1lrYgRtHO487yg0uic4Y23Qfw1zVJbsijOPz5VH14e2sGSy5Ge2Vztj9ZWzeXAbOI3RGU5mXL84d5wDnqScROCUYLaPbJKzsbv58WOF_tsJEP5oBBQ-UHtfAcDe_Sxx5Hpt0XU_XqMFtPzFNNf09zHCK7pDCh45Ck5zzyBnh0UI6FGR-fZErFVugfuWEA4Y8Vq3kbQBcoSrcxAgcSLtTJ65mv9La1_eMwN6GRIjr37QNXfVc4-Zit7muD8np97w6WiPKkRerwPbKHvDNPzWVXt8yIlEogo5g6JhXdOUKcwBYm8ppy8OpmBwA4PdWucBRc0NpqwuGtYVL99CBJyFIU5alGrDfY50b3ddYMYc3a4ZG2k51bFrTz2YmMAkpjowv6sEU-dfAFB50yE1f-7v08RNo-y8aCCOKUWKverSyiEYxi5TIOfwAxLwBPwHDg=w117-h88-no

- Chú ý trong trường hợp này , cặp [] là không cần thiết để định nghĩa vector.
Với colon operator , một giá trị bước nhảy có thể xác định với 1 dấu 2 chấm khác , theo mẫu sau (giá trị đầu : bước nhảy : giá trị cuối) . Ví dụ :
7CS5wD858JxjYwUBeKViKf9f2tvh4gFx9E3veQtZXqHsJTaKgUKWgxvF8wr-YGFonx-nidzafdpzOdNF_oDEbKZG8uLwuaUZ9KNmwodwtKZ7LzBTsXanI_fM5Mov5QvAh9CseBcHQAcBOWP6WOvXhuFNlUeAN_y82pJY1vuqyIm3XG1Mx3MXsQ3kaLUUNLkliRSNz8f9SzUHiJStqeB39RNnjr39HbnqHcS03ESqAV4uGdpMVBzXPiISnEro2W_Egc4JCfK7wHc52w5yxyZc-H5vLHTheQnM6LM2b8A51owH7tGKUwiRf8aBNK2jOhTkXL6KZRB4qiNyC6PtDWnr_V1vrrD4BAJ4WE8fv1PA3Ozls9D7IwzCBmNo-x7FXbkwQQGbFSxUsXFgSxmENaf4017GqWYpd_IZ_n4EqDKoNkYATZa0fmhxvC3qCCZb7KygVupfHeEnSR-nRKOkCDIY50KME5iCEcdSQko34Xr8qqtSPXwu2Okf99XFiOe5VZLz8J6eGQ7HIS7p5x9TrbYleyUnJ0R475a06I1NTbIVLjs=w226-h91-no

- Tương tự hàm linspace tạo ra 1 vector có n giá trị từ x đến y . Ví dụ tạo ra vector với 5 giá trị nằm cách đều trong khoảng từ 3 đến 15 :
00faR7G_Z1Ks1c-9XU2ln76eJFKoc6Kj156Ue_2vf4Wtp3D4GZ42OVQ9sPtJGiiykDRUeXScrOTvurFyjiYk7CnfTaYWxS8S62wt3ZupVFoO-97HKa9U5Zu_nb0h9DCySbVLw-vpe2jliJIDQbCUO3YDirbARzakL1443ZhzMg8t4ZD3m2OlrFobB6Y-P-vqKYY4MmZ9J95zLuLUaCYbcrW4cj6LBXAWHDhD_j1DQmgeTdqwOsANET8ErG8MChr9EHACYB_4lxJybBCCP776gMThLSUAT7bROKtWcGn5-vpWvckJ_8tXNcqx4fdWw34poH1IOsdLSnmm5ehXcEF2FeiAi0gjSbmcn3XhsD_VnaKYZrPEnOv-bjPFrM7zpy8WcBppYLauuIbXguLDhGfSbT2giGb488VCmpobeyGxGvLew9RG4oM9A4Gjcl4_AKR2YeYPrFe3LiM9kt64Q2SozgIfmXJyYyEBzJxJ-lb4ptBPkDQLjhFyjylL2qRI8sL-dB2byF22PraYLtLtP8uYvrs_cUO76B2ybULNH7To7z0=w225-h93-no

- Biến vector cũng có thể được tạo dựa trên các biến có sẵn . Ví dụ tạo một vector mới chứa 2 vector đã tạo ở trên :
FsEM4Mcdq6-nAkrR7lWfSqEVQitIPk2wj9oUR5lPOrqKmVpBvWEtntVQiBkeugFSYTGeYKOvu-NrEmQkCHW1_824qMiDEUzxtbvM7aRM1Er03NYpku0Y4pe72jgk2Me3mMWFCxYd33USzbZ9ulWKZ3TZtJNqyNXw-8F3s-3y6N7Jh8mFH3NwM27T5gJgNBaohLDbH6VMCsaM6tJGFFa35YJR0tRW0UelTh1NfFVQyteVhotAOlx2PgiJ4soufOa1Ip2maB4Rj3miGCLxyl6FsPxHbqVG2dJT2aiXtXV4d86gCkvEBzeka5YQ2pQyIL56A6GDrMT2nkxfGy_c9GKK_L1BIhxTtoFv0c2Pq3MCKb5WuMV1DiblCJ7ObBEbb7q0k78M6l6kbCDud_QKpqxK2XUpU2mcua1GjIZ_oDggAVx88iKQzdFwLOTE7TvgT4PmqXLf-OuSRFQFAEGCmx-C1pBK2yxTz3Zhcp_eNPVUtHdgwFLiBgCI9_G0l5D-qypjYDaWR5iof9hZhH01a4vzqvo-2YHE_tHkIhRhyXHXdNo=w201-h88-no

- Đặt 2 vector cùng nhau giống như tạo một vector mới được gọi là concatenating (nối ghép) vector.

1.2.2. Tạo vector cột

- Để tạo vector cột , ta đặt các giá trị cần truyền vào trong cặp dấu ngoặc vuông và phân cách bởi dấu chấm phẩy (;) :
tEfXl8-6kimg9l7cbu0VLV0CyuvJC_6jdbgEL2QEsTofqzIpX2ZIl9uEXba9SvwBWvUvGMKJsyBFwFBbLc-AMGzioFWpfVxE38P8X9T7xrAHvXr9GUa_2i58fR8f2TfO5vPQMjpUm6-FhIZrQcVqI72VzwurUh_WYyDdddhG3fzL564p-TkPVER8BlXUJbx-lljsJFKeuMkNt2RXBm0loQ7Vsidzx8A3eXZ__oTPdyZJLBg2nU0BuEnMAktDMzMZo8NKFUuZIyn4J9V5Ni1E1Yeu1CtYJFNp7dO4ctrug3q_JqWmZHEgPF3bsOJOxkj_INuF293cIFbzYkeUlAFW1TnvKEvoAV6u7wQ5-J3yie94rz9WDNBXBRTSBY9iaYsyHdSr5shkik2ckqebobMejSCMvuQOY8kVJXG1BR6rDDPO7beuXwAcYt4gbo-DsPrBjaP23NE8EPMC6fnlP1WvsefYRNmGW9W3bl6n_nzCOxaqRBYzG5ompApg9cNqm2b9LL6qRKiwqqjazjq6Ty8RVWZwo3tFwI5rgD_Q0hX9MYY=w176-h187-no

- Không thể sử dụng colon operator để tạo ra vector cột . Tuy nhiên có một cách khác là chuyển hàng thành cột để tạo ra vector theo ý . Ví dụ :
XgoFdISJawTSS9OTX-0Vml5UnES7PchAQ63N-yobhS2jzD78AJ-f3Eq--6LGYiU_95oUrnnGd9FAvjL93HKuAjVh3P9ok3Yh3FH6Ke3X6-b3lezjvrouc2qVs6eMWUjc1JmnOgIoEGwoCMwdoO5VSGpMDz0KMTrSo4jXu20Evb0buvNTsi_fC3Pakllmf8kG3nr6SL41Uffl3k0_4YmzQ6cOM7xYrMPoq3Xj8fPLlSi8frkTu6mEDTFqrochgFKg1GzPQ_Pc-c_XEiEiyAcosVjyEWUjpLvLhoOzSs7S9x7-BVYOvq7TkuHSJNzIfVg63NwvxdjqjIPN05-_4pihZNYzUwfH_LNIl1-3MW0ggWKOJfhec62mZuX19yeGjO-4OqOK4fIQl8hAQ_nA7VSa4s9l7Eexwfmf3WEZ2WQPunLL-e4sLDnDKAgL9DjoULKVyPQYxwhmtgvWW0F4mkReMs_i_4ODD8M3vLlvByeiZhuXfe5LnUOOrySpba9ayoKInq7SxCIdX16KtGmfXJxejFsc8LWHMp1NAGxX5Q8bDmY=w166-h212-no


1.2.3. Tạo biến ma trận
- Việc tạo biến ma trận thực chất là kết hợp biến vector hàng và cột lại với nhau . Ví dụ biến mat được tạo bởi các giá trị cho trước :
PyYxx7z2NYIbLVEwbo_kI2GGyz_p1-lxcvhI20NP6sk-As1HlTG-BBR5uY46IuJOzP2f_b3wWzUgrXcjUXB9QQyyIqdze-o-1zoWyacmj4_svDYkU38SkhN8IGZt0koxocxsHWlKDOZp2LgAQKu-OhN6QSpZFJIZ6IYJUzj1B2ZWi1YF2-66NCmGOvfQOd0HawaS_EeVBkKpUSUnNF17MREBMrHEWIpvkTZBbOTd4yGo152cRJIDOilxQA2lhc-EH2RrUvFQwC3kXiyGpSeGOriQ1iFfAj0Dc8mqmInKEhNkrmK4jYORhuJEJLq-1BC-kLlYIuqikjRcJlgIMOitTqQf708-ZNLx43kf914pBFk9krO0uhPZ8g--ezbMF8PcZAhbkQsC9aXQOc4OW2ZtdKpwyX1Cx1H_g-Qtq7TaH8aDyTeCl355G40EsaPyndX2f3Ik7lyN53dqo1UiEtDegKdDneXXzhP9eNvjS7UogyDZ4njFDeBmSEjYwKxZqXjlVhO-U5F7PORmD2Iy5NDmjszxiS6WE3c6Asizqpxcc_M=w229-h123-no

- Yêu cầu để tạo ma trận là số giá trị trên các hàng phải bằng nhau . Nếu khác thì sẽ hiển thị một thông báo lỗi , ví dụ :
l7_-NnzWQmRUHhIk76v4Zad8bfp0-M9hlVhLOWb1jlWIEYOVLu31tGw-aIynhSV_15CuQNG3vlBUPRDFspniCl0FPFA30SeM-t90G3lXuq7fDZI45e3VZMKqc9eFa2L78izLlC5unn3rvUGZ6mUBFHJUNFJxENjc6aono4v5zCfjkE4vlmamfWtqILip6IfGj3-oCzWhsxWkZI0hj7f5Hi-Z1VR8w9ZxyLDGfuSwkbik_YYbl9dbSH0aaOIBsXbEY201RinH4ozx7Zdpl0HRB0oXm_z8yQzcR0isSwCJ9BJQ6ZUXVPvCrTXTF-ShVTUjax6mD2jBqo-ZZveseJeizu-gi4VuFCgwRYg99kQtGyR2RwLoxVs_q3lTH3VCHLAF31JcPsEEAVtRKWT1W0Nnb78yzQ9795t1qbY3yqT_84b_8p81TBXMxJlC8NotGm4BtLxnuywmETwtg2MTE16s3cLO7c-0KHMirkNx9SwFNKk3NzvBsAgcYtdnoOfen9NfKQtwxt-pu0Kc82k_V5CidLoQvtltMKm78fqFbTqjJzs=w398-h62-no

- Chúng ta có thể có thể tạo ma trận dựa trên colon operator cho các hàng . Ví dụ :
pKOtYKriYfQMt-iBMcjDyoT0LRsIYMlKvo6z648RKmFeDBoAjtY140t8y2SIY1B7iIW6pej284FLkwCP0TQwJVFopljzmHuOgMCVzfPNAJ6OpCWDDn4qOFrkVIArJjUhcP1hJKJszYIP7R5kMBmKy3K39-DKhfAmC6231ksAyV6i9B-iHRiQukvD-NMT1EiznzoR98ZLW26q7Cnd6u83en-9IU0vzdVsO3P_eiwsQ1VyIDTtBW2O4Hkup3dWq7iEkeFmcuPFoJGtFzjDIOfeoYzA-RZ4Jt2BMDnqRJik8jNta1iHzufXhJIb6nuaO42t6yBihj8iXmqobdMzb32xDN0QSNziZ8XVM344YqF07vbfv1aKlb284ERZ9IS6E8K-JH-dQMrlmNPjy3aN6VxlMQJHJl1wXr30cI-RXeLRCNnLndKFEWDSwuAcMMyVGCBl1K9xA7cs8XSw_gm_JT0oGX08P4Q3Q1ARmWGdN8M-LFk1Oow0hRmWl1dN18fTBFNhpittNLiajefbHKvZEkhFLUgYVWHsELnAfDhTg2Yn30U=w274-h129-no

- Một cách khác để tạo ma trận không cần sử dụng dấu chấm phẩy để kết thúc một hàng là nhấn phím Enter sau mỗi hàng. Ví dụ :
jnQLt8dZofpjV1ypjQmkI4IRoaouVUUgRx0QdzwqWLJ-NOLuOlNQ2J4vYpLo9B430W07bFGe45DUcb42SAAiidWvB_eZS03Cg5ox1AWB51CuccnSzu62KO-up46RyKlg-hTGLgdrVLhV3aKfwgsinFgRf9pFyZnQgEN03zwgzCUTA-Za8FXS0fwKpkyBxeOTwkRtpqhprWfYek2rrBuB076NwT5yIp2VXzct1AnJv2ctBrowP4mf3dWhD2SiRPgM408QvpjXMisMlwmfZNaJspZCAGQeYwSu7AiFZTtNtEn-X-32UEyoWEdhdPtc-6DoRhgKBgL7_YR_Tr71CFV0B8S1IzUu1fQUlRenrdTus4Prsv22oteIcF_-QmTl6AdEI-Pk1JQqQojlj4B-Ds-TXolzIkaoFKt92LfAR_xciwmrNjXlRogfbKZOc-T225B9s6sTOEjuh5yG6gbT8lU3KLeNMVivPyA1IOhhF_CRxIo3hwpdAvNS8pi23Phwnj9LF3YH3rcfoZqxCmmCUwI39D8uLwuMKd3tjjM-PRWfecM=w280-h176-no

- Ma trận với các số ngẫu nhiên được tạo bằng cách sử dụng hàm rund randint . Hai đối số đầu tiên trong hàm randint xác định số hàng và cột của ma trận . Đối số cuối xác định các giá trị ngẫu nhiên của ma trận nằm trong khoảng nào . Ví dụ tạo ma trận 2x4 với các giá trị nằm trong khoảng 10 đến 30 :
M8MPm2GnNfZvLSU_ts2wPwkGAwsA2LSutobneTU8c_IeHuQgtJ5HFxq90AHa0O9aOYbH6OVcee7ouWHFuKf8aSsRGdWMgZPAwxotmz25idGFvf356ZhpJvIYcDW6461Cd5Wa5aHKdy25_df9d0XaaSOJpCsNtdpC6JygCFDOOkMxaFgG-EV8tozpQ9l1WLEPUkshNRFowsOwTebuITgH0tEsmMzXfn4tHOktRORFC5jMQiKDSgeNxqbuvHGfOF7tKZcY3_5pBz5ukoGxJcND2lkUKhsojq7S4EmoURhghLMJzC8z9wkG86L1lRBqJEd7JjGePnXVlQcnQRaCZ1MetZB-qjbgTQcZAdRvjDJ1sZu_Oze2_KrcFHyCpG8EUiy3RfeMHdDFsX18cYhiDdcTr7UPMkw9Hzfws7jJ40_ShsBetqhsYu_u-ns9AWJ8Y60rRKsT-ragrRXqzyNsMDayGFkapQeeku77ILEQeUk6JFIpafhqOw1uNbeSjVHHkt_S2IwbfnXCTy-tg6jXvi71enYJwJN92LB8VMHQsduwA8A=w283-h129-no

- Đối với hàm rand , nếu truyền vào hàm 1 giá trị n thì ma trận nxn sẽ được tạo với các giá trị ngẫu nhiên kiểu số thực :
dsY1bE3By66-lEte41C5UBqwDFklICgbUcB7awp8cyG7Y-wp5Ym61GsrPkfBx5KEVOD10YlcrYP3QrCGn0U8xtEiop-oyuS8nkKtOlOytHHn9xbULT04XFvEDfugsUBiXjXd0bj9RF3Ejz_Zj9YSwBVnabnRRQug7VSOq4XZAXApCBgSfFkEZwEJMPNMe3sEFjFi2_bnY7kyWy4pE98L59Fn0hGQkUJ3Hoywu_lW85Zn2FGX8Pt6U_LzbDXr026BJKULK8dtmt21PDJ2_dC-CRop4dxmBdcge0hP1JOyGiwLPDRBcp-B-jlx87j00dHt5wX8T3ItIMTC5pl8M6giIjvUS2vmspOp2CsbSVza5J4nuLGCDoSB-hGXFMihP3724SPSUFT3rwKDceHa_5uzpvKkWwflB3YKGCBNUofkXcWKKs8OLkHoHsHN6-TjbNVCTFPWvzb2Upxbq4_82zPKotJE9TVpulOtvezUlslN0r5Y1BTeF2hMW401ZbAY8JomHqihKf6TXY2MbFV7XckfHe73rCJNaGnxKRP6_rV9_bA=w258-h125-no

- Truyền vào 2 giá trị m, n thì ma trận mxn với các giá trị ngẫu nhiên số thực sẽ được tạo :
Q43WGgCH_lTtIECcdynZ-w2dlv6OOxHX6UnIY9CM19YM1KJKlWWw6rEWDTX4o5r3OfejF4SJxrSsdM4MC3gj24K5Id7YbntbXQx4j7QXAwklYquMQSxxHMRse9nL4wXQzz7dG0CFcp_3fRk47U9oF9x_lolMsLIphX64k7uiTYpe7PL3zBH8_gbQLQhIIqn_Yjjx3EGKGs8syW7WfVEfpjTtOOUNSk3spCptOZVIvJIm5Sm9qU3lqbeMXFuf_T_wYmw5QerDsbHOwKq3PzYybrv5Fyg2XXIWPqrDuWu54oFyzw7BEK2of7JxsI5KYR-a3r5Rkf-_gck2ZC5u7OTtKQf47LTcX5hbYMgJhNY7xJ_0OLCAEBYbxBUaTaqkvxYqB4KB5AUcHQMyhW849aCrHJpPC5kOVUcnI0SD_wP-4y3s6F5P9jZ9gvaXC8Tv-C2GAnA0-N1HgoY6aLEeLt6CZF-H2n3LFq21Kvu6o1v4c7hCBTCq9TZDivP_psVZgZRe6LtVKa6ACZ9ZQy2h7ssqSOpmlVmTfhgnkz1lz8KA_AM=w352-h94-no

- MATLAB cũng cung cấp các hàm để tạo ra các ma trận đặc biệt . Ví dụ là hàm tạo ma trận với các giá trị 0 . Nếu truyền 1 đối số n thì ma trận nxn được tạo , 2 đối số m, n thì ma trận mxn được tạo :
UvnuBkCy1DZ345WNmUrpk3Q7PXeMeG3mEpod_-Lfm7TmLOn2Gq0AVLwHYo3BYL7lZDsIW7Ink4dqcwt8gMEHb2PFJ1DZ9p4DVP93zBrctuLhmS5rRqE5ofU_BLuUGYSdHwdIBCxB1xPMgk3XFk4r5mswpnfsIZHnXQuqXHmxAVDQPo_kQwfdrhvmPVQIy1HAwecvxxaiQX3bgOj4jCL12j4uYf5YJyZz7NnUp7X5CgVPfjlfqfb3ZTJkDMhcIxIUA8S-LGydwwc9iQ-_ADcm4U-wuNbJ900TS9XrAsHhFYM6XDPTUDJgllIOa64Rw0Jh3fq1yWQvUutE192JuQI2TP_k279H3a7g6tabo6I0Q6cMumjvZmV7-WeRlHugwUIyDKeP1K1haH78ta0wEFn6de02VTkZX4VNwAkwyHaXo0lvs-f3UNMKDIMSZbzNkNizlMe1ERcCvncygZBEvIdurtqWbPThdpSfdXMuLdINzStOixMl4QmPY7N9WCprHsygu9sZekXFkMcqecUMsPL6xeXm99tLFfcrHswz3BTxU4E=w257-h171-no