in algorithm a~b , in MATLAB...??????

2 次查看(过去 30 天)
Meh
Meh 2011-10-19
Hi everybody, In an algorithm I am working on, I came to a check box with content:
a~b
where the '~' would be read as "a approximates b" which can be defined probably by absolute numerical difference. so if a~b=TRUE (i.e the difference b/n a and b is very small)further computations are done if not( i.e. a~b=FALSE) then termination! , if 'YES' it continues with other computations, and if 'NO' it terminates. How can I write this in MATLAB?
  1 个评论
Walter Roberson
Walter Roberson 2011-10-19
In that context, it would be read as "a approximates b". But like the others say below, you need to define what approximation means in the context.

请先登录,再进行评论。

采纳的回答

Daniel Shub
Daniel Shub 2011-10-19
Assuming ~ mean not (or not equal) in your algorithm you could use ~= or ~isequal(). I prefer the isequal approach since it handles arrays and mismatched sizes ...
if isequal(a, b)
disp('NO')
else
disp('YES')
end
Although it seems a little backwards to me that a~b leads to YES.
  5 个评论
Jan
Jan 2011-10-28
@Meh: After you have clarified that "~" should mean "approximation", it got clear, that this amswer does not concern the question. Why do you accept it then as a solution?
It would be helpful for the forum, if you explain what "approximation" means qualitatively for your case. Then an answer would be very easy.
Daniel Shub
Daniel Shub 2011-10-28
It might also be helpful if I edited my answer to reflect the comment I made about comparing the difference to a tolerance. I am hesitant to do that since the answer has already been accepted.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by