acer

32373 Reputation

29 Badges

19 years, 334 days
Ontario, Canada

Social Networks and Content at Maplesoft.com

MaplePrimes Activity


These are replies submitted by acer

@Carl Love Yes, thanks, I meant LimitTutor.

I was too hasty, and misread the citations at the end of that linked page. I apologize to all. Stewart is merely named as a reference, on that linked page. I had mistakenly thought that the whole thing was from his Calculus text. But rather it's just some online course. I don't know what the current Stewart Calculus edition does for this derivation.

But the overall meassage for the OP is the same: quite often sources give a logically faulty derivation of this limit, as explained. You might try here, for better.

Before you were taught the defintion of a derivative you ought to have been taught how to do such limits.

You should know that you can treat the x^3 and the 3*cos(x) separately, and then add. And the 3 will factor out, for the 3*cos(x) part. And you should be able to handle the x^3 easily (as indicated by your comments).

That leaves you with the job of figuring out the derivative of cos(x) using the usual definition (as a limit). You should be able to do the following steps by hand.

f:=(cos(x+h)-cos(x))/h;

                               cos(x + h) - cos(x)
                          f := -------------------
                                        h         

# using identity for cos(A+B)
T:=expand(f);

                      cos(x) cos(h)   sin(x) sin(h)   cos(x)
                 T := ------------- - ------------- - ------
                            h               h           h   

T:=collect(T,h);

                      cos(x) cos(h) - sin(x) sin(h) - cos(x)
                 T := --------------------------------------
                                        h                   

T:=collect(T,cos(x));

                       (cos(h) - 1) cos(x)   sin(x) sin(h)
                  T := ------------------- - -------------
                                h                  h      

So now you need to take the limit of the above as h->0. The above is the sum of two expressions, and you can treat them separately. The cos(x) and -sin(x) factors can be taken outside the limit. So, how do you find the value of the following? You could use Maple's limit tutor and get its hints. It may suggest an application of l'Hopital's rule.

Limit( sin(h)/h, h = 0 )

The same goes for the other part, Limit( (cos(h)-1)/h, h=0 ). And that is how some texts explain this example, by using l'Hopital's rule to find the limits of both (cos(h)-1)/h and sin(h)/h as h->0. See, for example, this online AP Calculus source. The bright student might object, at this point, on the grounds that it is circular logic to allow use of the derivative of numerator cos(h)-1 during an application of l'Hopital's rule while attempting to derive the derivative of cos(x) via its limit definition. And so it often goes, in a first Calculus course. (Geometric proof, or application of the squeeze theorem, may be beyond what you are responsible for in your course.)

acer

@digerdiga In 64bit Maple 17.02 running on Windows 7 Pro I am seeing `simplify(eq)` produce a result of `1` when running your uploaded worksheet.

Could you please show the exact sequence of commands where `simplify` alone (without that composed around `evalc`) fails under those assumptions?

Either plaintext 1D Maple notation, or an uploaded worksheet, would be helpful.

acer

@yaseen Which elements, and how do you wish to pair them in order to take products?

@yaseen Which elements, and how do you wish to pair them in order to take products?

@Mac Dude I certainly did not advocate suppressing the warning. I showed how to suppress the warning, and then I advocated dealing with it via explicit declaration instead of suppressing the warning. I suggested that dealing with it via explicit declaration was better; I gave an example of the supression potentially leading to problems.

The act of showing how to do something does not make any suggestion that it's a good idea.

@Mac Dude I certainly did not advocate suppressing the warning. I showed how to suppress the warning, and then I advocated dealing with it via explicit declaration instead of suppressing the warning. I suggested that dealing with it via explicit declaration was better; I gave an example of the supression potentially leading to problems.

The act of showing how to do something does not make any suggestion that it's a good idea.

Also possible is to use %a in the format string, rather than %e.

That should avoid any reliance on Digits or the length of the float.

acer

Also possible is to use %a in the format string, rather than %e.

That should avoid any reliance on Digits or the length of the float.

acer

@Carl Love Using method=ftocms I see, in Maple 17.01,

restart:                                                                

ee:=sin(x)/cos(x)/(1+sin(x)^3)^(1/2):
                                  
J:=Int(ee,x=0..Pi/4):                                                   

evalf(J);                                                               
                                 0.3224464890

K:=IntegrationTools:-Change(J, t= sin(x)):                              

W:=value(subsindets(K,specfunc(anything,Int),z->Int(op(z),method=ftocms))):

has(K,Int), has(W,Int);                                                    

                                  true, false
evalf(W);
                                                    -9
                      0.3224464894 - 0.6772297809 10   I

@Carl Love Using method=ftocms I see, in Maple 17.01,

restart:                                                                

ee:=sin(x)/cos(x)/(1+sin(x)^3)^(1/2):
                                  
J:=Int(ee,x=0..Pi/4):                                                   

evalf(J);                                                               
                                 0.3224464890

K:=IntegrationTools:-Change(J, t= sin(x)):                              

W:=value(subsindets(K,specfunc(anything,Int),z->Int(op(z),method=ftocms))):

has(K,Int), has(W,Int);                                                    

                                  true, false
evalf(W);
                                                    -9
                      0.3224464894 - 0.6772297809 10   I

@Sabeen I did not notice that your question was for Maple 12 specifically, sorry.

The `orientation` option was not an important part of my answer, as was just to make the plots display in a fixed way of my choice. You can simply remove that option from the calls, or use only two values instead of the three I used.

Here is a version revised for Maple 12.02.

inter3dM12.mw

It's not clear to me whether you really need a piecewise assembly of bivariate interpolating polynomials for your larger data sets, or whether you can make do with an (black box) interpolating function like the `f` that I have demonstrated. Note that with such an `f` you can compute at individual (x,y) points, eg. f(3.4,0.005) as well as make 3D plots.

(I don't mean to sound obtuse, but I'm not even 100% sure from your wording whether you are starting off with just arrays of numeric data, or whether you are somehow starting off with a plot structure from which you have extracted the given data. Sorry, if it should be obvious. I figured that you were starting off with a discrete regular grid of x-y points and their corresponding z-height-values, and wished to interpolate from that, eg. so as to produce a smoother 3D surface.)

If you only need to produce a more refined surface plot, and you have a very large set of numeric data (on a regular grid in the independent x-y plane) then the most efficient way to proceed in Maple 12 would likely be A) just used `surfdata` as in my sheet's first example, or B) refined to a finer mesh by manually calling ArrayInterpolation and specify the interpolatory scheme of your choice and then pass the finer mesh to `surfdata`.  Those should both be somewhat quick, depending on your GUI's rendering speed. But the second example in my attached sheet, which uses an interpolatory procedure `f` to compute values point-by-point, would be considerably slower that A) or B) for large data sets. In other words, if all you want to do is interpolate to a finer mesh, for plotting, then it's more efficient to compute the entire finer mesh in a single call to ArrayInterpolation.

See also this Example worksheet, perhaps, which has a download link at its end. Or see the ArrayInterpolation help-page.

@Sabeen I did not notice that your question was for Maple 12 specifically, sorry.

The `orientation` option was not an important part of my answer, as was just to make the plots display in a fixed way of my choice. You can simply remove that option from the calls, or use only two values instead of the three I used.

Here is a version revised for Maple 12.02.

inter3dM12.mw

It's not clear to me whether you really need a piecewise assembly of bivariate interpolating polynomials for your larger data sets, or whether you can make do with an (black box) interpolating function like the `f` that I have demonstrated. Note that with such an `f` you can compute at individual (x,y) points, eg. f(3.4,0.005) as well as make 3D plots.

(I don't mean to sound obtuse, but I'm not even 100% sure from your wording whether you are starting off with just arrays of numeric data, or whether you are somehow starting off with a plot structure from which you have extracted the given data. Sorry, if it should be obvious. I figured that you were starting off with a discrete regular grid of x-y points and their corresponding z-height-values, and wished to interpolate from that, eg. so as to produce a smoother 3D surface.)

If you only need to produce a more refined surface plot, and you have a very large set of numeric data (on a regular grid in the independent x-y plane) then the most efficient way to proceed in Maple 12 would likely be A) just used `surfdata` as in my sheet's first example, or B) refined to a finer mesh by manually calling ArrayInterpolation and specify the interpolatory scheme of your choice and then pass the finer mesh to `surfdata`.  Those should both be somewhat quick, depending on your GUI's rendering speed. But the second example in my attached sheet, which uses an interpolatory procedure `f` to compute values point-by-point, would be considerably slower that A) or B) for large data sets. In other words, if all you want to do is interpolate to a finer mesh, for plotting, then it's more efficient to compute the entire finer mesh in a single call to ArrayInterpolation.

See also this Example worksheet, perhaps, which has a download link at its end. Or see the ArrayInterpolation help-page.

@erik10 There is some introductory material on data structures in the Portal, here. It would be useful to see even more details there.

A side-by-side chart by which one could easily compare various features (mutability, uniqueness of entries, fixed or variable size, etc) of the structures might be useful for the new user.

Clear references (help links) from the list Help page to such Portal pages would be beneficial, and by that I mean more than just a "See Also" link.

A sentence indicating why a given reference is relevant can be crucial. Eg. there is a link to selection in the "See Also" section of list , and there is a brief sentence near the Examples, "To extract the contents of a list or set, use the empty selection operator [ ]." But these are too far separated. Why isn't there a help link within or adjacent to that explanatory sentence?

There should be help links to the select Help page (which includes details on `remove` and `selectremove`) on both the list Help page and that Portal page.

Using `remove` with a predicate is a common operation on lists. I don't see why that ought become a new command in the ListTools package, as long as it is more adequately referenced and illustrated by example in the Help pages of the data structures to which it applies.

First 365 366 367 368 369 370 371 Last Page 367 of 592