Islom karimov nomidagi toshkent davlat texnika universiteti energetikaning matematik masalalari
Download 1.89 Mb. Pdf ko'rish
|
energetik matematik masalalari
- Bu sahifa navigatsiya:
- Argumentlarining soni o‘zgaruvchi funksiyalar
Ostfunksiyalarning ishlatilishi
Ostfunksiyalar asosiy funksiyaning ichida e‘lon qilinadi va yoziladi. Ostfunksiyaning tuzilishi asosiy funksiyaniki bilan bir xil. Quyida ostfunksiyaga ega bo‗lgan funksiyaga misol keltirilgan: function [mean,stdev] = statv(x) %USTATV Interesting statistics. 46 %Ostfunksiyaga ega bo‘lgan funksiyaga misol n = length(x); mean = avg(x,n); stdev = sqrt(sum((x-avg(x,n)).^2)/n); %-------------------------------------- function m = avg(x,n) %Ostfunksiya m = sum(x)/n; function [mean,stdev] = statv(x) Ushbu misolda x vektor elementlarining o‗rtacha qiymati avg(x,n) ostfunksiya yordamida hisoblangan >> x=[1 2 3 4 5]; >> [a,m]=statv(x) a = 3 m = 1.4142 >> help statv USTATV Interesting statistics. Ostfunksiyaga ega bo‘lgan funksiyaga misol Ostfunksiya lokal, ya‘ni u tarkibida bo‗lgan m-faylning ichida ishlaydi. Faqat asosiy funksiyaga tegishli bo‗lgan izohni help name komandasi, m-faylning to‗liq matnini esa type name komandasi chiqaradi (name ning o‗rniga funksiyaning nomi yoziladi). Agar funksiyada ham ostfunksiyada ham umumiy o‗zgaruvchilar ishlatiladigan bo‗lsa ular fuksiyada ham ostfunksiyada ham global deb e‘lon qilinishi kerak. Argumentlarining soni o‘zgaruvchi funksiyalar Maxsus xususiyatlarga ega bo‗lgan funksiyalarni yaratishda quyidagi ikki funksiya foydali bo‗lishi mumkin: nargin — berilgan funksiyadagi kirish parametrlarining sonini qaytaradi; nargout — berilgan funksiyadagi chiqish parametrlarining sonini qaytaradi. Aytaylik, beshta xl, x2, xZ, x4 i x5 argumentlar kvadratlarining yig‗indisini hisoblaydigan funksiya yaratish zarur bo‗lsin. Odatdagi yo‗l bilan sum2_5 nomli funksiyani yaratamiz: 47 function f=sum2_5(x1,x2,x3,x4,x5) ; f=x1^2+x2^2+x3^2+x4*2+x5^*2; Uning ishlashini tekshirib ko‗ramiz: » sum2_5(l,2.3.4.5) ans = 55 » sum2_5(l,2) ??? Input argument 'xZ' is undefined. Error in ==> C:\MATI_AB\bin\sum2_5.m On line 2 ==> f=x1^2+x2^2+x3^2+x4^2+x5^2; Shunday qilib, beshta argument bo‗lganda funksiya to‗g‗ri ishlaydi. Lekin argumentlar soni beshtadan kam bo‗lsa xatolik to‗g‗risida axborot beradi. Har qanday sondagi kirish argumentlari bo‗lganda (yuqoridagi misol uchun beshtagacha) to‗g‗ri ishlaydigan funksiyani yaratish uchun nargin funksiyasidan foydalanamiz: function f=sum2m_5(x1 ,x2 , xZ ,x4 , x5) ; n=nargin; if n==1 f=x1^2; end if n==2 f=x1^2+x2^2;end if n==3 f=x1^2+x2^2+x3^2; end if n==4 f=x1^2+x2 ^ 2+x3^2+x4 ^ 2: end if n==5 f=x1^2+x2^2+x3^2+x Funksiyaning ishlashini tekshirib ko‗ramiz: » sum2_5m(1) ans = 1 » sum2_5m(1,2) ans = 5 » sum2_5m( 1,2,3) ans = 14 » sum2_5m(1,2,3,4) ans = 30 » sum2_5m(1,2,3,4,5) ans= 55 » sum2_5m(1,2,3,4,5,6) 48 ??? Error using ==> sum2_5m Too many input arguments. Shunday qilib, kirish parametrlarining soni 1 dan 5 tagacha bo‗lganda hisoblashlar to‗g‗ri bajariladi. Undan ortiq bo‗lsa xatolik to‗g‗risida axborot chiqadi. Bu axborotni interpretatorga biriktirilgan xatoliklarni diagnostika qilish tizimi beradi. Download 1.89 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling