MATLAB A limit problem. (Is something wrong with matlab?)

  • Thread starter Thread starter oahsen
  • Start date Start date
  • Tags Tags
    Limit Matlab
AI Thread Summary
The discussion revolves around a MATLAB issue where the limit calculation for the hyperbolic sine function, sinh, does not yield the expected derivative result, cosh(z), instead returning an expression involving a limit. Users express confusion over MATLAB's output, which includes NaN values and an incorrect limit format. Some participants suggest that the problem may stem from MATLAB's limit algorithm or a potential syntax error in the input. Comparisons are made with Maxima, which provides the correct derivative result. The conversation emphasizes the importance of understanding the differences in how various software handle limit calculations for derivatives.
oahsen
Messages
58
Reaction score
0
With the following code segment ;
limit((sin(z+h)-sin(z))/h,h,0)
matlab gives the result cos(z). (which is the differential of the sin(z)).
However, with the code ;
limit((sinh(z+h)-sinh(z))/h,h,0)
matlab gives an absurd result;
limit((sinh(z+h)-sinh(z))/h,h = 0)
newertheless, the result should be cosh(z). Why does MATLAB makes such a wrong calculation also what is the meaning of this result? Does anybody have an idea about that?
 
Physics news on Phys.org
I tried the same code, and i got:

ans=
NaN

I don't know why this answer is given. However, if you are looking for the derivitive of a function, try this line:

> syms x; diff(sinh(x))
ans =
cosh(x)
 
Just for the record, Maxima does it right.

(%i1) limit((sinh(x+h)-sinh(x))/h,h,0);

gives exp(-x)*(exp(2x)+1)/2;
 
atqamar said:
I tried the same code, and i got:

ans=
NaN

I don't know why this answer is given. However, if you are looking for the derivitive of a function, try this line:

> syms x; diff(sinh(x))
ans =
cosh(x)

actually this is the problem. The teacher asks us to find the derivative with;
syms x; diff(sinh(x)) and after that finding it with;
syms z h; limit((sinh(z+h)-sinh(z))/h,h,0)

and he wants us to comment on the difference.

With my matlab(R2007a) I find the first result as cosh(z) as expected however with the second code it gives me ;
limit((sinh(z+h)-sinh(z))/h,h = 0).

Some of my friend said that Maxima finds the correct result. I wonder if it is something about the limit algorithm of Matlab or I do not know? What kind of comment can I write for the difference?
 
I'm wondering if you didn't accidently enter a "=" instead of "," and MatLab just echoed it back to you.
 
HallsofIvy said:
I'm wondering if you didn't accidently enter a "=" instead of "," and MatLab just echoed it back to you.
I checked it 1000 times. This is the copy of the command window;

>> syms z h;
>> limit((sinh(z+h)-sinh(z))/h,h,0)

ans =

limit((sinh(z+h)-sinh(z))/h,h = 0)
 
If limits have to be used to find the derivitive, use the exponents definition of sinh(x) and find the limit:

>> syms z h; limit((((exp(z+h)-exp(-z-h))/2)-((exp(z)-exp(-z))/2))/h,h,0)
ans =
(1/2*exp(2*z)+1/2)*exp(-z)

The answer, when simplified, is cosh(x).
 

Similar threads

Replies
5
Views
3K
Replies
1
Views
2K
Replies
4
Views
1K
Replies
1
Views
1K
Replies
2
Views
1K
Replies
4
Views
2K
Replies
1
Views
2K
Replies
2
Views
2K
Replies
5
Views
6K
Back
Top