matlab 邏輯數組及其應用


這幾天學習了matlab的邏輯數組功能,總的感覺就有兩點:

第一,通過對原來的數組a進行邏輯判斷后得到邏輯數組b

第二,邏輯數組進行某種運算符操作又回到原數組類型

第三,利用邏輯數組mask功能

測試如下:

disp('邏輯數組學習及應用');
a = [1 2 3;4 5 6; 7 8 9];
b = a > 4 ;%數組中各個元素與4作比較,邏輯為真則為1
whos

結果:

第二,當執行 c = b + 0后,c 數組為:

第三,它在算術運算中能提供一個屏蔽(mask)。屏蔽(mask)是指一個數組, 它從另一個數組選擇所需的元素參與運算。 指定的運算只在選擇的元素上執行,

而不執行余下的元素。

未使用時,對數組中>4求平方根。

clc;
clear;
disp('邏輯數組學習及應用');
a = [1 2 3;4 5 6; 7 8 9];
for ii = 1:size(a,1)
    for jj = 1:size(a,2)
        if a(ii,jj) > 4
        a(ii,jj)=sqrt(a(ii,jj));  %對數組中>4的求平方根
        end
    end
end
a

結果:

a =

1.0000 2.0000 3.0000
4.0000 2.2361 2.4495
2.6458 2.8284 3.0000

使用后:

disp('邏輯數組學習及應用');
a = [1 2 3;4 5 6; 7 8 9];
b = a > 4; %對數組中>4的邏輯判定,得到邏輯數組
a(b) =sqrt(a(b));
a

結果同上。

記得項目中有一個功能是首先將數組元素中>0的選出變為新數組,繼而對其排序,可以考慮用邏輯數組功能,在這里記下了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM