2

I'm trying to define a function as follows:

if nn == 0
   tau(nn) = 0
else
   tau(nn) = crazy_function(nn)
end

However, I want to do it in a single line. I tried

tau = @(nn) crazy_function(nn).*(nn~=0) + 0.*(nn==0);

But this doesn't work because crazy_function(0) is not a number (NaN). So MATLAB has trouble with the first part of the expression. How can I get MATLAB to simply return 0 when I call tau(0) by some modification of this line? Thanks!

user1936752
  • 756
  • 1
  • 9
  • 25

0 Answers0