Matlabdagi oddiy hisoblashlar

Matlabdagi oddiy hisoblashlar
MATLABdagi oddiy hisoblashlar
MATLAB tizimi shunday ishlab chiqilganki, hisoblashlarni, foydalanuvchi dasturini tayyorlamasdan to‘g‘ridan-to‘g‘ri bajarish mumkin. Bunda Matlab superkalkulьyator vazifasini bajarib, qatorli komanda rejimida ishlaydi. Masalan, >>2+3, ans=5; >>2*3, ans=6 va xokazo.
Tizimda ishlash muloqotli (dialogli) tavsifga ega bo‘lib, “savol berildi – javob olindi” qoidasi bo‘yicha ishlanadi. YA’ni foydalanuvchi klaviatura yordamida hisoblanishi lozim bo‘lgan ifodani kiritadi, tahrir qiladi (agar lozim bo‘lsa) va kiritishni ENTER klaviaturasini bosish bilan yakunlaydi.
Umuman olganda, ma’lumotlarni kiritish va hisoblashlarni amalga oshirish quyidagicha amalga oshiriladi:
Boshlang‘ich ma’lumotlarni kiritishni ko‘rsatish uchun >> belgidan foydalaniladi;
Ma’lumotlar oddiy yozuvli tahrir yordamida kiritiladi;
Biror bir ifoda hisoblash natijasini blokirovka qilishuchun mazkur ifodadan keyin - ; (nuqta vergul) qo‘yiladi;
Hisoblashlar natijasini ko‘rsatuvchi o‘zgaruvchi aniqlanmagan bo‘lsa, u holda Matlab tizimi bunday o‘zgaruvchi deb ans oladi;
O‘zlashtirish amali sifatida juda ko‘plab dasturlash tillari kabi : = belgi emas, balki matematikadagi oddiy = ni o‘zi olinadi;
Sozlangan funksiyalar (masalan, sin) yozma harflar bilan yoziladi hamda ularning argumentlari oddiy qavslar ichida yoziladi;
Hisoblashlar natijasi yangi qatorda >> belgisiz chiqadi;
Muloqot “Savol berildi – javob olindi” ko‘rinishida amalga oshadi.
Ma’lumki, juda ko‘plab matematik tizimlarda, agar u son bo‘lmasa, u holda sin(v) va exr(v) ifodalarni hisoblab bo‘lmaydi, ya’ni tizim bunday ifodalarni xato deb beradi. Matlabda esa agar berilgan o‘zgaruvchi vektor bo‘lsa, natija ham mazkur o‘lchamdagi vektor bo‘ladi, agar matritsa bo‘lsa, natija ham matritsa bo‘ladi.
Komandali rejimda bir qatordagi belgilarning maksimal soni – 4096, m – fayllarda esa chegaralanmagan.
Barcha matematik tizimlarning markaziy tushunchasi bu matematik ifodalardir. Ma’lumki, ular ustida amallar bajarilayotganda, asosan ularning sonli qiymatlaridan foydalaniladi (kam holatlarda belgi ko‘rinishlaridan ham foydalaniladi).
Matlab ham matematik tizim bo‘lgani uchun bu erda ham asosiy tushuncha matematik ifodalardir. Matlabda matematik ifodalarni ifodalashni qarab chiqaylik. Matlabda ifodalar bir qator ko‘rinishida ifodalanib, sonlarni butun qismlarini ajratish uchun verguldan emas balki nuqtalardan foydalaniladi. Quyida ba’zi bir ifodalarni Matlab va oddiy matematikadagi ifodalanishini ko‘rib chiqamiz:
Matlabda Matematikada
2+3 2+3
2^3*sqrt(y)/2; 23√y/2
2.301*sin(x); 2,301sin(x)
4+exp(3)/5; 4+e3/5
Matematik ifodalar sonlar, konstantalar, o‘zgaruvchilar, operatorlar, funksiyalar va turli xil maxsus belgilar ustiga quriladi. Ilgari aytib o‘tganimizdek, nuqta vergul, ya’ni ; belgi natijani chiqishini blokirovka qiladi, ammo ans maxsus o‘zgaruvchi yordamida natijani olishimiz mumkin.
Son – Matlab tilining eng oddiy ob’ektlaridan biri bo‘lib, u miqdoriy ma’lumotlarni ifodalab beradi. Sonlarni konstanta deb hisoblash mumkin. Sonlar butun, kasr, fiksirlangan va suzuvchi nuqtali bo‘lishi mumkin. Ularni yaxshi ma’lum bo‘lgan ilmiy shaklda, ya’ni mantissa va son tartibini ko‘rsatgan holda ifodalash mumkin.
0
-3
2.301
123.456e-24
-234.456e10
YUqoridan ko‘rinib turibdiki, mantissadan sonning butun qismi kasr qismidan, juda ko‘plab dasturlash tillarida qabul qilinganidek, vergul orqali emas, balki nuqta orqali ajratiladi. Son tartibini mantissadan ajratish uchun ular orasiga e belgisi qo‘yiladi. “+” ishora sonlar oldiga qo‘yilmaydi, “-” ishora esa qo‘yiladi va uni unar minus deb nomlanadi. Sonlarda belgilar orasiga probel (bo‘sh joy) qo‘yish ruxsat etilmaydi.
Bundan tashqari sonlar kompleks bo‘lishi mumkin: z=Re(z) + Im(z)*i. Bunday sonlar Re(z) haqiqiy va Im(z) mavhum qismga ega bo‘linadilar. mavhum qism kvadrat darajasi -1 ga teng bo‘lgan, i va j ko‘paytuvchilarga ega bo‘ladi:
3i
2j
2+3i
-3.141i
-123.456+2.7e-3i
real (z) funksiya kompleks sonning butun qismini, image(z) – esa mavxum qismini ajratib beradi. Kompleks sonning modulini (kattaligini) abs(z) funksiya, fazasini angle(z) funksiya hisoblab beradi. Masalan:
>> i
Ans=0+1.000i
>>z=2+3i
Z=2.000+3.000i
>>abs(z)
Ans=3.6056
>>real(z)
Ans=2
>>Imag(z)
Ans=3
>>angle(z)
Ans=0.9828
Matlab dasturlash tilida o‘zgaruvchiga qiymat berish:
komandasi yordamida amalga oshiriladi. Bu erda (=) tayinlash (qiymat berish) operatori vazifasini bajaradi.
Masalan,
>> x= 5+exr (3) ;
Matlabning yaxshi xususiyatlaridan biri shuki, unda avvaldan o‘zgaruvchini turi e’lon qilinmaydi, balki uni qiymatlariga qarab aniqlanaveradi. Demak ifoda qiymati vektor yoki matritsa bo‘lsa, u xolda o‘zgaruvchi shunga mos bo‘ladi.
O‘zgaruvchi nomi (identifikator) – boshlanishi xarfdan iborat ixtiyoriy sondagi belgilardan tashkil topgan bo‘lishi mumkin, ammo faqat boshidagi 31tasi orqali identifikatsiya qilinadi. O‘zgaruvchi nomi boshqa o‘zgaruvchilar bilan ustma-ust tushmasligi kerak, ya’ni nom noyob bo‘lishi lozim. O‘zgaruvchi nomi xarfdan boshlangan bo‘lsada, orasida raqamlar va belgidan (podchyorkivanie) iborat bo‘lishi mumkin. Lekin ularning orasiga maxsus belgilar, masalan +, -, *, / va boshqalarni qo‘yish mumkin emas.
Matlabda ma’lumotlar ustida bajariladigan ma’lum bir amalni bajarish uchun ishlatiladigan belgi operator deyiladi. Masalan, oddiy arifmetik amallar +, -, *, / - operatorlarga misol bo‘ladi. Bu amallar (1*1) o‘lchovlidan yuqori bo‘lgan matritsalar ustida bajarilsa va natija ham matritsa bo‘lsa, u holda amallar elementlararo bajariladi va * amali. *, / esa./, /. kabi belgilab amalga oshiriladi.
Masalan:
>> x= [2 4 6 8]
x= 2 4 6 8
>> u= [1 2 3 4]
u= 1 2 3 4
>> x/u
ans= 2
>> x.*u
ans= 2 8 18 32
>> x./u
ans= 2 2 2 2.
Matlabdagi barcha operatorlar ro‘yxatini ko‘rish uchun help ops komandasidan foydalaniladi.
Ko'pgina matematik tizimlar foydalanuvchi o'z muammolarini ozgina dasturlash bilan hal qiladi degan taxmin asosida yaratilgan. Biroq, boshidanoq bu yo'lning kamchiliklari borligi va umuman, vahshiyligi aniq edi. Ko'pgina vazifalar o'zlarining algoritmlarini yozishni soddalashtiradigan va ba'zan ikkinchisini yaratishda yangi usullarni ochadigan ilg'or dasturiy vositalarni talab qiladi.
Bir tomondan, MATLAB ko'plab amaliy muammolarni muvaffaqiyatli hal etuvchi juda ko'p sonli o'rnatilgan operatorlar va funktsiyalarni (mingga yaqin) o'z ichiga oladi, buning uchun ilgari juda murakkab dasturlarni tayyorlash kerak edi. Masalan, bu matritsalarni aylantirish yoki o'zgartirish funktsiyalari, lotin yoki integralning qiymatlarini hisoblash va hokazo va hokazo. Va hokazo. Bunday funktsiyalarning soni, tizimni kengaytirish paketlarini hisobga olgan holda, allaqachon minglablarga etgan va doimiy ravishda o'sib bormoqda. Ammo, boshqa tomondan, MATLAB tizimi tashkil topganidan beri kuchli matematik dasturlashga yo'naltirilgan dasturlash tili sifatida yaratilgan yuqori darajadagi.Va ko'pchilik buni tizimning muhim ustunligi deb hisoblashdi va bu uni yangi, eng murakkab matematik muammolarni echishda qo'llash mumkinligini ko'rsatdi.
MATLAB tizimi BASIC-ga o'xshash kirish tiliga ega (Fortran va Paskal aralashmasi bilan). Tizimda dasturlarni yozish an'anaviy va shuning uchun ko'pgina kompyuter foydalanuvchilariga tanish. Bundan tashqari, tizim foydalanuvchi uchun tanish bo'lgan har qanday matn muharriri yordamida dasturlarni tahrirlash imkoniyatini beradi. U shuningdek, tuzatuvchiga ega o'z muharririga ega. MATLAB tizimining tili dasturlash matematik hisoblari nuqtai nazaridan har qanday yuqori darajadagi universal dasturlash tiliga qaraganda boyroqdir. U deyarli barcha ma'lum dasturiy vositalarni, shu jumladan ob'ektga yo'naltirilgan va vizual dasturlashni amalga oshiradi. Bu tajribali dasturchilarga o'z fikrlarini ifoda etish uchun juda katta imkoniyatlarni beradi.
1. M-fayllar.
Ichida oldingi ma'ruzalarda biz juda oddiy misollarni ko'rib chiqdik, buning uchun buyruqlar satriga bir nechta buyruqlarni kiritish kerak. Keyinchalik murakkab vazifalar uchun buyruqlar soni ko'payadi va buyruq satrida ishlash samarasiz bo'ladi. Jamoa tarixidan foydalanib,
mehnat muhiti o'zgaruvchilarini tejash yoki kundalikni ozgina kundalik bilan saqlash
samaradorlikni oshirish. O'zingizning algoritmlarimni ishchi muhitdan yoki muharrirdan ishlaydigan dasturlar (M-fayllar) shaklida ishlab chiqish samarali echim hisoblanadi. MATLAB-ga o'rnatilgan M-fayl muharriri nafaqat dasturning matnini yozibgina qolmay, balki uni to'liq yoki qisman ishga tushirish, balki algoritmni tuzatishga imkon beradi. M-fayllarning batafsil tasnifi quyida keltirilgan.
1.1. M-fayl muharririda ishlash.
M-fayllarni tayyorlash, tahrirlash va disk raskadrovka qilish uchun maxsus ko'p oynali muharrir ishlatiladi. U odatdagi Windows dasturi sifatida yaratilgan. Siz tahrirlovchilarni buyruq satridan yoki asosiy menyudagi File | buyrug'i bilan qo'ng'iroq qilishingiz mumkin Yangi | M-fayl. Shundan so'ng, muharrir oynasida o'zingizning faylingizni yaratishingiz, disk raskadrovka va ishga tushirish vositalaridan foydalanishingiz mumkin. Faylni ishga tushirishdan oldin u File | yordamida diskka yozilishi kerak Muharrir menyusidagi kabi saqlang.
1-rasmda muharrir / disk raskadrovka oynasi ko'rsatilgan. Faylning tayyorlangan matni (bu eng sodda va bizning MATLAB dasturlash tilidagi birinchi dasturimiz) diskka yozilishi mumkin. Buni amalga oshirish uchun faylni belgilangan nom bilan yozish uchun standart Windows oynasidan foydalanadigan Saqlash sifatida saqlash buyrug'idan foydalaning. Shuni ta'kidlash kerakki, M-fayl nomi noyob bo'lishi kerak va fayl nomiga qo'yiladigan talab MATLAB muhit o'zgaruvchan nomlari bilan bir xil. Faylni diskka yozgandan so'ng, asboblar panelida yoki Debug menyusida Run buyrug'ini bajarishingiz mumkin yoki shunchaki bosing m-faylni bajarish uchun.
Bir qarashda, muharrir / nosozliklarni tuzatuvchi "foydalanuvchi - MATLAB" zanjiridagi qo'shimcha yo'nalish bo'lib tuyulishi mumkin. Va aslida, faylning matni tizim oynasiga kirib, xuddi shu natijani olish mumkin edi. Ammo, aslida, muharrir / tuzatuvchi muhim rol o'ynaydi. Bu sizga m-fayl (dastur) ni buyruq rejimida ishlash bilan birga keladigan ko'plab "husks" -larsiz yaratishga imkon beradi. Bunday faylning matni sinchkovlik bilan tahlil qilinadi, uning davomida ko'plab foydalanuvchilar xatolari aniqlanadi va yo'q qilinadi. Shunday qilib, muharrir faylni tahlil qilishni ta'minlaydi.
Tahrirlovchida shuningdek, nosozliklarni tuzatishning boshqa muhim vositalari mavjud - bu faylning matnida breakpoints deb nomlangan maxsus belgilarni belgilashga imkon beradi. Ularga etib borganida, hisob-kitoblar to'xtatiladi va foydalanuvchi hisoblarning oraliq natijalarini (masalan, o'zgaruvchilar qiymatlari) baholay oladi, tsikllar bajarilishining to'g'riligini tekshiradi va hokazo. Va nihoyat, muharrir sizga faylni matn shaklida yozishga va MATLAB fayl tizimida o'zingizning ishingizni abadiylashtirishga imkon beradi.
Muharrir / disk raskadrovka bilan ishlash qulayligi uchun undagi dastur chiziqlari ketma-ket tartibda raqamlanadi. Muharriri ko'p oynali. Har bir dasturning oynasi yorliq shaklida yaratilgan. Tuzatish muharriri o'zgaruvchilarning qiymatlarini osongina ko'rishga imkon beradi. Buni amalga oshirish uchun sichqoncha kursorini o'zgaruvchan nomga o'tkazing va uni ushlab turing - o'zgaruvchan nom va uning qiymati bilan asboblar qatori paydo bo'ladi.
M-fayl muharririning juda qulay xususiyati buyruqlarning bir qismini bajarish.Buning uchun kontekst menyusidan yoki Matnning asosiy menyusidan yoki shunchaki funktsiya tugmasidan Evaluate Selection buyrug'idan foydalaning dasturning tanlangan matnini bajarishga imkon beradi.
Shakl 1. M-fayl muharriri oynasi.
1.2. M-fayllarning turlari. Fayl dasturlari.
MATLAB-da ikki xil M-fayl mavjud: buyruqlar ketma-ketligini o'z ichiga olgan fayl-dasturlar (Skript M-Files) va foydalanuvchi belgilaydigan funktsiyalarni tavsiflovchi fayl-funktsiyalari (M-Files funktsiyasi).
Fayl dasturlari - bu M-fayllarning eng oddiy turi. Ular kirish yoki chiqish argumentlariga ega emaslar va ishchi muhitda mavjud bo'lgan parametrlarga ishlaydilar yoki ular yangi parametrlarni yaratishlari mumkin. Siz oldingi qismni o'qiyotganda mydemo fayl dasturini yozdingiz. Fayl dasturida e'lon qilingan barcha o'zgaruvchilar bajarilgandan so'ng ishchi muhitda mavjud bo'ladi. 1-ro'yxatda ko'rsatilgan mydemo fayl dasturini ishga tushiring. Workpace oynasiga o'ting va M-faylga kiritilgan barcha o'zgaruvchilar ish muhitida paydo bo'lishiga ishonch hosil qiling. M-faylni bajarish jarayonida yaratilgan barcha o'zgaruvchilar tugallangandan so'ng ishchi muhitda qoladi va ularni boshqa fayl dasturlarida va buyruq satridan bajariladigan buyruqlarda ishlatish mumkin.
Fayl dasturini ishga tushirishning ikkita usuli mavjud.
1. Yuqorida tavsiflangan M-fayl muharriridan.
2. Buyruq satridan yoki boshqasidan buyruq sifatida M-fayl nomi (kengaytmasdan) ishlatiladigan fayl-dastur. Ikkinchi usulni qo'llash ancha qulayroq, ayniqsa yaratilgan dastur fayli keyinchalik qayta-qayta ishlatilsa. Aslida, yaratilgan M-fayl MATLAB tushunadigan buyruqqa aylanadi.
Barcha grafik oynalarni yoping va buyruq satriga mydemo yozing, mydemo.m fayl dasturining buyruqlariga mos keladigan grafik oyna paydo bo'ladi. Buyruqni kiritgandan so'ng, mydemo MATLAB quyidagilarni bajaradi.
1. Kiritilgan buyruq nom ekanligini tekshiradi belgilangan har qanday o'zgaruvchilar
ichida ish muhiti. Agar o'zgaruvchi kiritilsa, unda uning qiymati ko'rsatiladi.
2. Agar biron bir o'zgaruvchi kiritilmasa, u holda MATLAB o'rnatilgan buyruqlar orasidan kiritilgan buyruqni qidiradi. Agar buyruq o'rnatilgan funksiya bo'lsa, u holda u bajariladi.
3. Agar o'zgarmas va o'rnatilgan bo'lmagan funktsiya kiritilsa, u holda MATLAB qidirishni boshlaydi Buyruq va m kengaytmasi nomi bilan M-fayl. Qidiruv bilan boshlanadi joriy katalog(Hozirgi katalog); agar unda M-fayl topilmasa, u holda MATLAB qidiruv (Path) yo'lida o'rnatilgan kataloglarni tekshiradi. (Joriy katalogni o'rnatish uchun asboblar panelida yoki CD buyrug'ida xuddi shu nom bilan tanlash oynasini ishlatishingiz mumkin. Izlash yo'llarini o'rnatish bilan amalga oshiriladi.
fayl menyusi buyrug'ining Set Path buyrug'i yoki addpath buyrug'i yordamida).
Agar yuqoridagi harakatlar muvaffaqiyatga olib kelmasa, buyruq oynasida xabar ko'rsatiladi, masalan, agar siz xato qilsangiz.
MATLAB qidirish ketma-ketligi shuni ko'rsatadiki, o'z fayl dasturini M-faylga saqlashda uni to'g'ri belgilash juda muhimdir. Birinchidan, uning nomi MATLAB-dagi mavjud funktsiyalarning nomi bilan mos kelmasligi kerak. Siz ism band yoki mavjud funktsiyani ishlatmayotganligini bilib olishingiz mumkin.
Ikkinchidan, fayl nomi raqam bilan boshlanmasligi kerak, "+" yoki "-" belgilari, so'z bilan ifoda kiritishda xato sifatida MATLAB tomonidan talqin qilinishi mumkin bo'lgan belgilar bilan. Masalan, agar siz 5prog.m fayl dasturi bilan M-faylni nomlasangiz, uni muharrir menyusidan yoki xato haqida xabar oling. Buning ajablanarli joyi yo'q, chunki MATLAB siz o'zgarmaydigan prog bilan arifmetik ifodani hisoblash uchun 5 + prog (yoki 5, prog) bo'lishingizni kutadi (yoki vektorli satr progiga birinchi element sifatida 5 qo'shing). Shuning uchun prog5.m (yoki hech bo'lmaganda p5rog.m) nomi to'g'ri bo'ladi, lekin faqat harf bilan boshlanadi.
E'tibor bering, agar siz M-faylning tanlangan buyruqlarini ishlatsangiz (barcha buyruqlarni tanlash mumkin), noto'g'ri nomdan foydalangan holda unda hech qanday xato bo'lmaydi. Aslida, buyruqlarning ketma-ket bajarilishi ularni buyruq satridan qo'ng'iroq qilishdan farq qilmaydi va fayl dasturining ishlashidan farq qilmaydi.
Fayl dasturining nomini ko'rsatishda yana bir xato juda keng tarqalgan bo'lib, birinchi qarashda tushunarsiz oqibatlarga olib keladi: dastur faqat bir marta ishlaydi. Qayta ishga tushirish dasturning ishlashiga olib kelmaydi. Ushbu vaziyatni mydemo.m faylida saqlagan Listing 5.1-dan fayl dasturining misolidan foydalanib tahlil qilamiz. Faylni x.m-ga qayta nomlang, so'ngra ish muhiti o'zgaruvchilarini Workpace o'zgaruvchan brauzer oynasida yoki buyruq satridan o'chiring:
\u003e\u003e barchasini tozalang
Fayl dasturini, masalan, muharrirni bosish orqali ishga tushiring . Ikkita grafikali grafik oyna paydo bo'ladi va hech narsa hiyla ishlatmaydi. Endi grafik oynasini yoping va dasturni yana ishga tushiring. Grafik oyna endi yaratilmaydi, lekin massiv qiymatlari yuqoridagi MATLAB qidirish algoritmining birinchi paragrafiga muvofiq buyruq oynasida ko'rsatiladi. Fayl dasturi nomini tanlashda ushbu holatlar hisobga olinishi kerak. Shunga o'xshash muhim masala MATLAB qidirish algoritmining uchinchi xatboshisi - mavjud katalog va qidirish yo'llari bilan bog'liq. Qoida tariqasida o'z M-fayllaringiz foydalanuvchi kataloglarida saqlanadi. MATLAB tizimi ularni topishi uchun siz M-fayllarning joylashishini ko'rsatadigan yo'llarni belgilashingiz kerak.
1.3. Fayl vazifalari.
Yuqorida muhokama qilingan fayl dasturlari MATLAB buyruqlarining ketma-ketligi bo'lib, ularda kirish yoki chiqish argumentlari yo'q. Hisoblash muammolarini hal qilish va o'z dasturlaringizni MATLAB-ga yozish uchun, siz tez-tez kirish dalillari bilan kerakli amallarni bajaradigan fayl funktsiyalarini dasturlashingiz va natijani chiqarilgan dalillar bilan qaytarishingiz kerak. Kirish va chiqish argumentlarining soni hal qilinayotgan muammoga bog'liq - bitta kirish va bitta chiqish argumenti, ikkalasining ikkitasi yoki faqat kirish argumentlari bo'lishi mumkin.
Kirish yoki chiqish argumentlari yo'qligi mumkin. Ushbu bo'limda fayl funktsiyalari bilan ishlashga yordam beradigan bir nechta oddiy misollar mavjud. Fayl dasturlari kabi fayl funktsiyalari M-fayl muharririda yaratilgan.
Bitta kirish argumenti bilan fayl funktsiyalari.
Hisoblashda ko'pincha funktsiyaning qiymatidan foydalanish kerak deylik.
http://fayllar.org
|