MIT-н MATLAB хичээл. №2

Хичээл № 2.

Матрицын элементүүдтэй ажиллах

Дэд матриц

Өмнөх хичээлээр матрицын элементэд хандахдаа (2,3) гэсэн бичиглэлийг ашиглаж болно хэмээн ярилцсан билээ.

>> a(2,3)

Дээрх бичиглэлээр а матрицын 2-р мөрний 3-р баганы элемент рүү хандах болно.

Үүнээс гадна нэгэн зэрэг хэд хэдэн элемент рүү хандаж болдог:

>> a(2, [1 2])

>> a([3 4], 3)

>> a([2 3], [3 4])

Эдгээр командуудын тусламжтайгаар үндсэн матрицаас хэсэг элементүүдийг дэд матриц болгон тасалж авч болно.

Зарим тохиолдолд өгөгдсөн матрицын нэг мөр эсвэл баганын элементүүдтэй ажиллах шаардлага гардаг. Жишээлбэл, В матриц 10-н мөртэй хэмээн үзье. Тэгвэл дараах командаар 2-р мөрийг хэсэглэн авч болно.

>> B(2,1:10)

Тодорхойлолтын хоёр цэг нь тоон цувааг илэрхийлж байдаг: [1 2 3 4 5 6 7 8 9 10].

Үүнээс гадна тооны оронд end гэсэн түлхүүр үгийг команданд ашиглаж болно:

>> B(2,1:end)

Энэ  түлхүүр үг өмнөх мөрний хамгийн их тоог авна. Өөрөөр хэлбэл бидний жишээнд эхний мөр 10-н элементтэй байгаа учир end түлхүүр үг 10 гэсэн утга авна. end түлхүүр үгний давуу тал бол түүнийг энгийн хувьсагчийн нэгэн адил илэрхийлэлд ашиглаж болно:

>> B(2,1:end-1)

>> B(2,1:end/2)

Гэхдээ алдаатай илэрхийлэл оруулбал matlab ажиллуулж чадахгүй нь мэдээж:

>> B(2,1:end+1)

>> B(2,sin(end):end)

1:end бичиглэлийг илүү товчоор бичиж болно:

>> B(2,:)

гэж бичих нь B(2,1:end) гэж бичихтэй ижил байдаг. Өөрөөр хэлбэл (:) “бүгд” гэсэн санааг илтгэнэ.

Хөрш биш элементүүд рүү хандах

Матрицын хөрш биш элементүүд рүү хандаж болно:

>> a(3,[2 4 6])

>> a([2 4], [1 3])

Эдгээр нь өссөн эрэмбэгүй ч байж болно:

>> a(3,[2 6 4])

>> a([4 1], [3 2])

Түүнчлэн зөвхөн нэг удаа гарч ирэхээр ч байж болно:

>> a(3,[2 2 4 4 1 1 1])

>> a(3*ones(1,3),2*ones(1,10))

Дасгал:

  • Шидэт матрицын хажуугийн диагнолийн нийлбэр нь бүх мөр болоод баганын элементүүдийн нийлбэртэй тэнцүү байдаг гэсэн дүрмийг батал.
  • Хэрэв А матриц өгөгдсөн гэж үзвэл мөр ба баганын дугаар нь хоёул сондгой байх дэд матрицыг хэрхэн ялгаж авч болох вэ?

Матрицын элементэд утга оноох

Хэрвээ матрицүүдийн элементийн тоо ижил бол утга олгох үйлдлийн баруун талын матрицын утгыг зүүн талд байгаад нь олгож болдогt:

>> a([2 3],[1 4]) =[1 2 ;3 4]

>> a(1,1:4)=2:5

Скаляр өргөтгөл

Matlab програмд цаг хэмнэсэн олон бичиглэл байдаг. Хэрэв матрицын хэмжээ мэдэгдээд алхам мэдэгдэж байгаа бол матрицын утгуудыг скаляр хэмжигдэхүүнээр дүүргэж болно:

>>1:10.^2

>>2.^1:10

>>[1 2; 3 4] + 5

Дээрх жишээгээр ижил хэмжээтэй гурван матрицыг үүсгэж байна.

Дасгал

  • 1-ээс 100 хүртлэх бүхэл тоог нэмэж байгаа илэрхийлэл бич
  • 1-ээс 10 хүртлэх тооны квадрат зэргийн нийлбэр олж байгаа илэрхийлэл бич
  • 1-ээс 10 хүртлэх тоог 0.5-аар үржүүлсэн нийлбэр олж байгаа илэрхийлэл бич
  • x = [2 5 1 6] матриц өгөгджээ. Зөвхөн сондгой дугаартай элементүүд дээр 3-г нэмээд хуучин байранд нь бич.

 

5 comments to MIT-н MATLAB хичээл. №2

  • Төрболд

    fun=((1+((22-x)./22)^2-2*(22-x)./(3*22))*(log((((x./(2*22*(22-x)))^2+((29^(1./3))./111)^2)^(-1)))+1-2.*atan(((2*22*(22-x)*29^(1/2))/(111.*x)))/((2*22*(22-x)*29^(1/2))./(111.*x)))+((22-x)./22).*((2.*log(1+((2*22*(22-x).*29^(1/2))./(111.*x))^2)./((2*22*(22-x)*29^(1/2))./(111.*x))^2)+(4*(2-((2*22*(22-x)*29^(1/2))./(111.*x))^2)/3*((2*22*(22-x)*29^(1/2))./(111.*x))^3)*atan(((2*22*(22-x)*29^(1/2))./(111.*x)))-(8./(3*((2*22*(22-x)*29^(1/2))/(111.*x))^2))+2/9)).*((96*(x.*5)^2)./((17^2-x^2)^2+25*x^2)) Эндээс 9,9өөс 22 завсарт тодорхой интеграл авах гэсиймаа.

    • SGK

      ok. Bolbol udahgyi hariu ogohiig bodiyo. Yneheer zavgyi baigaa. Margaash Czech ruu hurald yavah gej bna. Asuudlaa shiidsen bol end bicheerei. Ygyi bol bi zavaara harj ogie. Gehdee bodlogoo eh baidlaar ni maildvel sain bna.

  • Төрболд

    Сайн байна уу?. Би нэг интеграл бодуулах гэсийн. Гэвч энэ интеграл нь шууд бодогддоггүй бөгөөд ойролцоолол дөхөлт ашиглаж матлабаар бодуулдаг гэсэн. Та боломжтой бол яаж бодуулах зааврыг хэлж өгч болох уу?

  • хулан

    sain bnuu ,, bi gadaadad surdag yumldaa ,, tgd manaid odoo yag matlab orj bga yum ,, yag uuriin heleeree bish bolhoor baga zereg oilgohod berhsheeltei zuil ih bnldaa,, tgd ene matlabiin talaarh yamar nom bdg ve ,, tanii gargasan nom bdg uu??

Leave a Reply to хулан

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>