如何通过使用matlab将三维矩阵中的任意值更改为0或1

如何通过使用matlab将三维矩阵中的任意值更改为0或1

问题描述:

我有200x200x200矩阵,它在每个体素中都有一些任意值。如何通过使用matlab将三维矩阵中的任意值更改为0或1

我想这个值更改为0或1。

如果体素具有许多啤酒比0,这将是1 否则将是0

有没有人如何解决这个问题?

我的代码如下。

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 

但是B完全是0. 我应该改变哪一部分?

+0

如果我正确理解你的问题,这听起来像很基本的索引和分配。你能给我们一个[mcve]吗? – beaker

+0

对不起。我是初学者。你可以帮帮我吗? – Tom

+0

请显示'A'中的内容。 – mikkola

矩阵是您的200x200x200任意值的矩阵。这将为整个矩阵创建一个逻辑索引,其中1表示一个值。 matrix = matrix ~=0;