How to do this

Suppose I have a matrix with some entries zero and some are nonzero.
0.36 0 0.9 0.4
0.26 0.1 0 0
0.5 0 0 0.8
0.6 0.75 0.4 0.88
I have to take log of nonzero numbers and then I have to add it, i.e. log(0.36)+log(0.9)+log(0.4)+log(0.26)+log(0.1)+log(0.5)+log(0.8)+log(0.6)+log(0.75)+log(0.4)+log(0.88), how to do.

Answers (1)

Thorsten
Thorsten on 5 Jul 2016
A = [0.36 0 0.9 0.4
0.26 0.1 0 0
0.5 0 0 0.8
0.6 0.75 0.4 0.88];
sum(log(A(A ~= 0))

This question is closed.

Asked:

on 5 Jul 2016

Closed:

on 20 Aug 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!