No. I'm sorry, but you are wrong. You think of infinity as a number. It is not. Infinity is greater than any number. And, yes, MATLAB sometimes returns a result as inf.
When that happens, as I say below, think of this as essentially an error flag, but a soft one, that your code is producing something with no valid result, but it is larger than any number we can represent.
Arguably, inf is a limit, not really a number.
But what did you do? I'll just look at the first equation you want to solve.
solve(1/S_i1 + 1/100 == 1/100,S_i1)
There is no real number S_i1 that solves the first relation. So MATLAB properly returns an empty result, an indication the problem has no solution in the set of real numbers. With some mental effort that is not really worth our time, I could probably write that same equation as a limit, where the result could be argued to be inf.
limit(solve(1/S_i1 + 1/100 == u + 1/100,S_i1),u,0,'right')
As you can see, solve does not think of infinity as a result. I had to trick it, to generate a result, such that the limit, when u approaches zero from the right, would be seen as inf.
Next, you seem to think that the difference of two infinities can be computed. Again, it cannot, and for good mathematical reasons.
inf-inf is properly NaN, thus Not a Number, because it can be ANYTHING. This next also fails:
Still a NaN.
Think of inf (and NaN) in MATLAB as sort of soft error returns, NaN being a little harder than Inf. inf is something greater than any number you can represent. NaN is just Not a Number. So a NaN results when you could argue for virtually ANY solution.
Personally, I would strongly argue 0^0 should return NaN, but I can accept the argument to allow it to return 1 in MATLAB, even though it is technically wrong.
As soft error flags, they can help you to identify a problem, as only certain things produce infs. 1/0, exp(10000), the list is long, but once you learn the kind of things that result in an inf, you will be ahead of the game. The nice thing about inf as a soft error return, is it sometimes can allow you to survive.
So it is a soft error, in that you still get the result you will like to see. But NaNs just propagate like wire coat hangers. And both inf and NaN have valid uses in MATLAB code. I use both of them frequently.