What is the opinion of matlabs "extra rounding improvements"?
Show older comments
Hi, during my work with matlab I have noticed that matlab always tries to improve some basic functionality of other programming languages. Some examples.
a = cast(0.5,'int32') % a = 1
a = cast(-1.5,'uint32') % a = 0
a = int32(1)/int32(2) % a = 1
The division can of course be solved by idivide, but the issues with cast remains. Also this definitely shows that matlab cannot properly do integer operations since the decimals are obviously used by the /.
Is there some way to do a cast that works as it should in matlab? What is the general opinion of matlabs " IMPROVED " behaviour?
Accepted Answer
More Answers (1)
John D'Errico
on 14 Apr 2014
Edited: John D'Errico
on 14 Apr 2014
"a = cast(-1.5,'unit32') % a = 0"
So is unit32 a new data type? Maybe a 32 bit scalar, that always takes on the value 1?
I'll assume you simply cannot type, and really meant uint32. Of course, then you did not actually bother to test the code you posted, a no-no.
Are you seriously surprised that when you cast a negative number to a non-negative integer class, that you got zero??????? You think this is a bad thing? What did you expect to get out here? pi?
As far as "improving" functionality, there is no claim to an improvement, merely a behavior that is its own. You learn how a language works. Every language will generally be subtly different, with its own characteristic behavior based on decisions made by those who designed the language. Clearly you disagree with those decisions, while I don't care, as I am not closely wedded to some other language. As far as I can see, once you fully learn to use a tool, you learn its characteristic behavior, and there are no problems. One can always get the answer needed, as long as one knows what to expect.
Sorry for a response that may appear a bit sarcastic, but your question is really more of a rant than a question. When you make claims that MATLAB ALWAYS does something, you are making broad assertions that will not be accurate for any tool as large as MATLAB, and are clearly intended as flame bait. Likewise, you ask for the general opinion of people, when you have made your opinion very clear on the matter.
3 Comments
Patrik Ek
on 14 Apr 2014
Walter Roberson
on 14 Apr 2014
I suggest leaving it as it might be of interest to others.
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!