2017-10-20 1 views
0

ändert Ich habe 200x200x200 Matrix, die einige willkürliche Werte in jedem Voxel hat.Wie man den willkürlichen Wert in der 3 Dimentionalmatrix zu 0 oder 1 unter Verwendung Matlab

würde Ich mag diesen Wert ändern 0 oder 1.

Wenn das Voxel eine Anzahl lager als 0 hat, wird es 1. sonst sei es 0.

sein wird, ist es jemand, wie um dieses Problem zu lösen?

Mein Code ist wie folgt.

B = zeros(200,200,200); % A is my 200x200x200 data 
for i = 1:200 
    for j = 1:200 
     for k = 1:200 
      if A(i,j,k)>0 
       B(i,j,k) = 1; 
      else 
       B(i,j,k) = 0; 
      end 
     end 
    end 
end 

Aber B ist völlig 0. Welcher Teil sollte ich ändern?

+0

Wenn ich Ihre Frage richtig verstehe, klingt das wie ziemlich grundlegende Indexierung und Zuordnung. Kannst du uns einen [mcve] geben? – beaker

+0

Sorry..Ich bin ein Anfänger. Kannst du mir helfen? – Tom

+0

Bitte zeigen Sie, was in 'A' ist. – mikkola

Antwort

1

Matrix ist Ihre 200x200x200 Matrix von beliebigen Werten. Dies erzeugt einen logischen Index der gesamten Matrix, wobei 1 einen Wert angibt. matrix = matrix ~=0;

Verwandte Themen