У меня есть матрица A 3x3, которая имеет некоторый элемент равным 0. И я хочу, чтобы журнал calcualte (A). Но мы знаем, что log (0) не идентифицируется. Поэтому я хочу вычислить журнал матрицы A, игнорирующий элементы равные 0. И если элемент равен 0. Я хочу установить log (0) = 0. Как реализовать его в Matlab. Благодарим всех. Пример:Как вычислить журнал матрицы, но игнорировать значения, которые равны 0
A=[3 2 3
3 0 2
4 5 0]
Log(A)=[ 1.0986 0.6931 1.0986
1.0986 0 0.6931
1.3863 1.6094 0]
Но 'Журнал (0) ~ = 0 'и' ехр (0) ~ = 0 '. То, что вы предлагаете, просто вызовет проблемы позже в ваших вычислениях. Лучше пойти с потоком и позволить 'log (0) == - Inf'. Вы можете оспаривать справедливость вычисления Matlab в этом отношении, но, по крайней мере, это ясно показывает, что вы взяли логарифм исключительной ценности. –
Да, я знаю. Но если бы я не игнорировал элемент, равный нулю, мой расчет не срабатывает. В моем случае я не хочу, чтобы calulate элемент равный 0. Поэтому я установил их равными 0, чтобы игнорировать их – user3051460
Просто nitpicking - но 'logm' там, чтобы вычислить журнал * матрицы *. Вы на самом деле выполняете логарифм по элементу. – bdecaf