تبدیل مقادیر عددی (Numeric) به مقادیر منطقی (Logical) (یعنی 0 و 1 ، متناظر با false و true)، با دستور logical ، در متلب (MATLAB)
دستور logical در متلب (MATLAB)، برای تبدیل مقادیر عددی (Numeric) به مقادیر منطقی (Logical) (یعنی 0 و 1 ، متناظر با false و true) به کار می رود.
دستور logical ، هر عدد ورودی غیر از عدد 0 را به 1 تبدیل می کند و ورودی های برابر 0 را به همان 0 تبدیل خواهد کرد و بنابراین یک آرایه منطقی (Logical Array) را در خروجی خود به ما می دهد که تنها شامل اعداد 0 و 1 می باشد (0 متناظر با false و 1 متناظر با true).
به مثال زیر توجه کنید :
close all
clc
A = [6 0 2; -5 3 0; 7 -4 9]
L = logical(A)
سه خط اول کدها برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب (MATLAB) می باشد.
نتیجه :
6 0 2
-5 3 0
7 -4 9
L =
1 0 1
1 1 0
1 1 1
close all
clc
A = [Inf 0; 9.36 -Inf]
L = logical(A)
نتیجه :
Inf 0
9.3600 -Inf
L =
1 0
1 1
دستور logical بر روی اعداد مختلط (Complex Number) و NaN عمل نمی کند و یک پیام خطا را نمایش می دهد.
به مثال های زیر توجه کنید :
مثالی از اعداد مختلط (Complex Number) :
close all
clc
A = [3 0; 2 4+j]
L = logical(A)
نتیجه :
دستور logical یک پیام خطا را نمایش می دهد :
3.0000 + 0.0000i 0.0000 + 0.0000i
2.0000 + 0.0000i 4.0000 + 1.0000i
Error using logical
Complex values cannot be converted to logicals.
Error in kelidestan (line 6)
L = logical(A)
مثالی از NaN :
close all
clc
A = [3 0; 2 NaN]
L = logical(A)
نتیجه :
دستور logical یک پیام خطا را نمایش می دهد :
3 0
2 NaN
NaN’s cannot be converted to logicals.
Error in kelidestan (line 6)
L = logical(A)