در قسمت های اول و دوم از آموزش عملگر ها در نرم افزار متلب به معرفی انواع عملگر ها در این نرم افزار پرداختیم و دسته بندی چهارگانه ای را برای این عملگر ها انجام دادیم .
در قسمت اول از آموزش با عملگر های ریاضی (Arithmetic Operators) و تناسبی (Relational Operators) آشنا شدیم و در ابتدای قسمت دوم از آموزش نیز با عملگر های منطقی (logical oprators) آشنا شدیم.
در ادامه قسمت دوم آموزش ، گفتیم که توابعی وجود دارند که مانند عملگر های منطقی عمل می کنند و حتی اختیارات بیشتری را نیز به ما می دهند . حال در ادامه آموزش جلسه قبل می خواهیم به معرفی باقی توابع بپردازیم :
در ابتدا مجددا دو ماتریس را تعریف می کنیم :
>> A=[0 1 0]; >> B=[1 1 1];
تابع any(A)
مشخص می کند که آیا حداقل یک درایه غیر صفر در ماتریس وجود دارد یا خیر . اگر وجود داشته باشد خروجی یک یا true است . به مثال های زیر توجه نمایید :
>> any(A) ans = logical 1 >> any(B) ans = logical 1 >> C=[0 0 0]; >> any(C) ans = logical 0
دستور any(X,DIM)
دستور any ، مولفه دیگری را نیز می پذیرد که اختیاری است ، مولفه DIM مشخص می کند که چه تعداد بعد از آرایه مورد بررسی قرار بگیرد . برای روشن شدن این مفهوم آرایه دو بعدی با دو سطر و سه ستون را مورد آزمایش قرار میدهیم که داریم :
>> D=[0 1 0;0 0 0 ]; >> any(D,1) ans = 1×3 logical array 0 1 0 >> any(D,2) ans = 2×1 logical array 1 0 >> any(D,3) ans = 2×3 logical array 0 1 0 0 0 0 >> any(D,4) ans = 2×3 logical array 0 1 0 0 0 0
تابع false :
برابر با صفر منطقی یا false است .
تابع false(n) :
یک ماتریس n در n با مقادیر صفر منطقی است.
تابع false(m,n) :
یک ماتریس m در n با مقادیر صفر منطقی است.
می توان ابعاد دیگر را نیز به همین ترتیب اضافه نمود .
false(size(A)) :
آرایه ای به اندازه A و با مقادیر صفر منطقی می سازد.
>> false(size(A)) ans = 1×3 logical array 0 0 0 >> false(size(D)) ans = 2×3 logical array 0 0 0 0 0 0
تابع ind = find(X) :
این تابع ، به دنبال درایه های غیر صفر در یک ماتریس می گردد و اندیس آن ها را به صورت یک بردار خطی نشان می دهد . برای آشنایی با نحوه کار این دستور دوباره به سراغ ماتریس های قبلی می رویم . ماتریس A دارای یک درایه غیر صفر است که دارای اندیس 2 است و ماتریس B دارای سه درایه غیر صفر است .
>> ind = find(A) ind = 2 >> ind = find(B) ind = 1 2 3 >> ind = find(D) ind = 3 >> E=[0 0 0]; >> ind = find(E) ind = 1×0 empty double row vector
تابع ind = find(X, k):
این تابع مشابه تابع بالا است که یک مولفه اختیاری k به آن اضافه شده است و با وارد کردن این عدد، اندیس k درایه اول که غیر صفر باشند در خروجی بر گردانده می شوند . k باید مقداری مثبت باشد .
>> ind = find(B,1) ind = 1 >> ind = find(B,2) ind = 1 2 >> ind = find(B,3) ind = 1 2 3
همچنین تابع ind = find(X, k, ‘last’) نیز وجود دارد که عملیات قبلی را برای k اندیس آخر انجام می دهد.
تابع islogical(A):
مشخص می کند که آیا ماتریس A یک ماتریس منطقی است یا خیر .
دستور true :
یک منطقی
دستور true(n)
یک ماتریس n در n با مقادیر true
دستور true(m,n)
یک ماتریس m در n با مقادیر true
true(size(A)) :
آرایه ای به اندازه A و با مقادیر یک منطقی می سازد.
در این بخش از آموزش عملگر ها در نرم افزار متلب با توابع معادل عملگر های منطقی آشنا شدیم.