2015-02-05 3 views
0

У меня есть следующий кодЕсли заявление Matlab

for a = 1:38; 
    for b = 1:41; 
     if distance(a,b)== 0; 
      distance(a,b) == 1; 
     end 
    end 
end 

Его для матрицы 38x41. Матрица имеет числа и нулевые значения. Как написать инструкцию if, которая преобразует любое значение нуля в 1. Я не понимаю, почему приведенный выше код не работает.

С уважением, Иер

+1

Причина исходный код не работает в том, что '==' и '=' являются разные вещи. Вы хотите '= 1;'. – nkjt

ответ

0

Почему вы не можете сделать

distance(distance==0) = 1; 

B = 

0.00000 0.06275 0.93469 
0.44025 0.39606 0.00000 
0.67538 0.78137 0.04386 


B(B==0) = 1 
B = 

1.000000 0.062751 0.934691 
0.440246 0.396058 1.000000 
0.675376 0.781375 0.043856 
+0

Спасибо за это! Я не знаю, как я об этом не думал! – Jerry

Смежные вопросы