Anonymous function returning either NaN or a real number depending if the input is a scalar or an element of a vector
1 次查看(过去 30 天)
显示 更早的评论
I have the following problem: I have created a function f(a,b,c), where b and c are scalars and a is a vector, a = [1 2 3 4 5]. Function f returns 4 real values and for the last element of the vector it returns NaN. What is strange, when I supply the Input 'by hand' ie. f(5,b,c) it returns a real value but when I write f(a(5),b,c) it is NaN. It doesn't matter how long vector a is but if I change the value of the last element it can help. Has anyone encounered a similar problem?
4 个评论
Steven Lord
2016-10-12
You should also post the result of the computation a(5)-5. My guess is that you're computing a and while the last element looks like it is exactly 5 that it is not, and is slightly larger leading to Inf or NaN values creeping into the calculation. When you pass in the exact value 5 you're right on the edge; when you pass in something just bigger than 5 you fall over.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!