Polynomial Toolkit for non-CAS TI-Nspire

857 views
Skip to first unread message

Steve A

unread,
Oct 5, 2009, 9:22:02 PM10/5/09
to tinspire
It seems a bit unfair that users of the non-CAS TI-Nspire are so
limited when it comes to working with symbolic expressions - you can
define a function, and you can graph it, but you can't even view it!

And the nSolve command is neat, but only gives one solution - also
unfair.

So I have been having some fun lately working on what I am calling a
"Polynomial Toolkit". This uses strings to support students (and their
teachers) to be able to some useful things with symbolic expressions.
For example, you can expand and simplify polynomial expressions, find
derivatives and symbolic integrals, solve and plot conics. There are
also some step-by-step quiz programs that help students to learn such
processes as simplifying algebraic expressions, solving linear
equations, solving quadratics by completing the square and by using
the formula.

The functions defined in the toolkit are:

* polyrand(degree, "var") (short version: prand(degree)) generates a
random polynomial up to the degree specified. e.g. polyrand(5,"a")
will give a polynomial up to degree 5 in the variable "a". prand(3)
will generate a degree 3 polynomial in "x".

* polyxpress("polynomial") (short version: xpress) expresses a
polynomial using correct notation. eg polyxpress("2x^3-3x^2") -> "2x3
- 3x2"

* polysimp("polynomial") (short version: simp) simplifies to the
standard form. eg polysimp("(2x-3)(x+2)") -> "2x^2+x-6"

* polyder("polynomial") (short version: der) gives the symbolic
derivative of the polynomial. e.g. der("2x^3-3x^2") -> "6x^2+-6x"

* polyint("polynomial") (short version: inter) gives the symbolic
integral of the polynomial. e.g. integ("3x^2-2x") -> "x^3+-x^2"

* polysolve("polynomial") or polysolve({list}) gives the list of all
solutions for polynomials up to degree 4 e.g. polysolve("2x^3-3x^2")
or polysolve({2,-3,0,0) -> {0,0,3/2}

* conic("polynomial") gives the symbolic factored form of the conic
polynomial. e.g. conic("4x^2-3y-2x-y^2=6") -> "4(x-1/4)2-(y+3/2)2=4"

* conic_plot("polynomial") used with "expr" to plot the conic
polynomial. e.g. expr(conic_plot("4x^2-3y-2x-y^2=6"))

Unless otherwise specified, they work with polynomials up to degree 6.

You can download supporting files from

http://www.compasstech.com.au/TNS_Authoring/poly.html

(The link is near the top of the page and is a half dozen files zipped
together). The toolkit functions are in both the "add.tns" and the
"poly.tns" files - these should be placed in your MyLib folder, and
can then be accessed from any document.

There are supporting videos that show you how to use the various
components.

Hope these are useful - please let me know if you find bugs, or if you
have suggestions. Let me know, too, if you try them out and if they
prove useful.

Have fun!

Steve

Ahlander, Bengt

unread,
Oct 6, 2009, 7:46:41 AM10/6/09
to tins...@googlegroups.com
Thanks Steve.
Very good examples.
Bengt

Pat Flynn

unread,
Oct 6, 2009, 10:27:41 AM10/6/09
to tinspire
Steve,

All I can say is that "you Aussie's are incredible!" This is great!
You and Nelson have done excellent work advancing this incredible
machine.

Pat
Kansas City

Andy Kemp

unread,
Oct 6, 2009, 10:39:59 AM10/6/09
to tins...@googlegroups.com
Steve this is truely an incredible piece of coding - I have yet to pic my way through what it all does but am looking forward to doing so!

Thanks again for all you do...

Cheers
Andy

Sean Bird

unread,
Oct 6, 2009, 11:07:03 AM10/6/09
to tins...@googlegroups.com
The quizzes are great and 'conics' is phenomenal. We have such a great teaching & learning tool!
For individuals developing their own quizzes and specific tns files I think Polyxpress will be a favorite.
Talk about a huge time saver in cleaning up.

If someone were to use polyexpress in their own tns file, would it probably be best for them to include the program in that tns file so as to insure that it works for whoever downloads the file? Or perhaps a warning on the opening splash screen that informs them to have "add" in the library and make sure their library is refreshed.

THANKS!
Sean Bird
Reply all
Reply to author
Forward
0 new messages