Question about CAS and Graphing
|
11-24-2014, 06:33 AM
Post: #21
|
|||
|
|||
RE: Question about CAS and Graphing
"This is unnecessary. In CAS, simply type:
F1:=f('X'); which evaluates f at the symbolic value 'X' and properly provides a formula for F1." Does that work for you guys? Type F1:=f('X') as advised. But when switching to function app I see a Syntax Error displayed for F1(X). Checking the function gives 'x(X)^2'/2... Trying Function.F2:=f('X'). Again there is a syntax error for F2(X) in the function app and the formula displayed when tapping that error id 'x(0)^2'/2. Can someone point out what is wrong? |
|||
11-24-2014, 08:14 AM
Post: #22
|
|||
|
|||
RE: Question about CAS and Graphing
(11-23-2014 08:41 PM)Han Wrote:(11-23-2014 03:15 PM)Gerald H Wrote: It may be a pleasure to bounce around between Mathematica & Maple in a world where both are freely available, unfortunately on my planet you have to pay cash for them. Merely "commendable" that people learn more than one language? Now, if HOME were in German, CAS in French, Spreadsheet in Chinese.... you'd always know which environment you were in & surely never make mistakes in vocab & syntax? Too daft ... language is for communication & better we all speak one ... I'm willing to compromise on English or Chinese... but we could keep Latin for special environments, eg religion? |
|||
11-24-2014, 10:29 AM
Post: #23
|
|||
|
|||
RE: Question about CAS and Graphing
(11-23-2014 08:41 PM)Han Wrote:(11-23-2014 03:15 PM)Gerald H Wrote: It may be a pleasure to bounce around between Mathematica & Maple in a world where both are freely available, unfortunately on my planet you have to pay cash for them. "I can't count the number of times..." indicates: 1. Students are idiots; 2. Students are intelligent & require uniform input output methods to facilitate their use of available tools. Please tick your preference. |
|||
11-24-2014, 11:47 AM
Post: #24
|
|||
|
|||
RE: Question about CAS and Graphing
(11-24-2014 10:29 AM)Gerald H Wrote: "I can't count the number of times..." indicates: Or, it could mean something else. When you teach many classes of different students on the same subject, there will be issues that come up time and time again. It does not mean that the issues necessarily happen repeatedly within a single group of students and/or in a single class. It is simply a matter of a lack experience which they gain through class and practice. The idea of two different environments in the same system, each with their own set of rules is not unique to the Prime -- even among HP calculators. The HP50G is a recent example. Some prefer algebraic input, others prefer RPN. We can create a program in one environment and run it in the other. Of course, we have to be careful with providing sufficient arguments when, say, running an RPN program in algebraic mode. Graph 3D | QPI | SolveSys |
|||
11-24-2014, 01:00 PM
Post: #25
|
|||
|
|||
RE: Question about CAS and Graphing
(11-24-2014 11:47 AM)Han Wrote:(11-24-2014 10:29 AM)Gerald H Wrote: "I can't count the number of times..." indicates: I wonder about the encouragement of mathematical ability & problem solving - Should we train our students to behave like trick dogs & jump through the hoops of the difficult software terrain or - just possibly worth consideration - mitigate their problems by learning from them to remove the difficulties which the experienced teacher has come to terms with during the sad course of his professionalization. |
|||
11-24-2014, 01:29 PM
(This post was last modified: 11-24-2014 02:01 PM by Han.)
Post: #26
|
|||
|
|||
RE: Question about CAS and Graphing
(11-24-2014 01:00 PM)Gerald H Wrote: I wonder about the encouragement of mathematical ability & problem solving - Should we train our students to behave like trick dogs & jump through the hoops of the difficult software terrain or - just possibly worth consideration - mitigate their problems by learning from them to remove the difficulties which the experienced teacher has come to terms with during the sad course of his professionalization. What are you going on about? We teach them the software because the real world doesn't typically give them hand-crafted problems that they can easily solve by hand. They start as early as calculus and continue to learn about the software in upper level courses such as applied mathematics or numerical analysis. Students are taught how to use Mathematica; they're taught how to use Maple, and Matlab, and several others (depending on their major). If they choose to use both, we also teach them how to do that. They're also taught how to use Maple's features such as 2D input. And they're also taught that Maple can handle 1D input as well. And should students choose to mix the two, we also teach them about the nuances of doing that as well. Should they choose (for themselves) to use multiple software applications, they will inevitably run into situations where the syntax from one gets accidentally used in the other (as a simple example). Are you suggesting we teach only one and not the other so as to avoid these issues that come up time and time again? Edit: here's one reason not to stick to a single CAS: http://www.ams.org/notices/201410/rnoti-p1249.pdf As for the end of your post, surely you can do better to add to this discussion than to post innuendos. Graph 3D | QPI | SolveSys |
|||
11-24-2014, 02:12 PM
Post: #27
|
|||
|
|||
RE: Question about CAS and Graphing
(11-24-2014 06:33 AM)Angus Wrote: "This is unnecessary. In CAS, simply type: Did you previously define f as a function (example: f(x):=1/2*x^2) or did you merely define f as an expression (example: f:=1/2*x^2)? Graph 3D | QPI | SolveSys |
|||
11-24-2014, 04:37 PM
(This post was last modified: 11-24-2014 05:24 PM by CR Haeger.)
Post: #28
|
|||
|
|||
RE: Question about CAS and Graphing
Back to the OP...
Normally, if I work in CAS and end up creating function(s) that I want to plot in Function APP, then I: 1. Save the function using say f(x):=x^2 etc... // creates a CAS program f() 2. Save f(x) into Function.F1 using Function.F1:=f //Note: can use F1:=f if you are already in Function App 3. Symb view in Function App should have F1(X): function with capital Xs. If the functions being worked on in CAS are pretty long, I like to assign them to f(x), g(x) etc. early on as it is easier to type (or use Vars/CAS/Program to select). This works in reverse as well. Say I have been plotting functions F1, F2 etc. and want to send to CAS. In CAS I can use f(x):=F1(x), which stores F1 into f using lower case x. I can also use F1(x) directly in CAS. Finally, to make this even quicker and reduce keying errors, I setup a few USERKEYs to prefill the CAS command line. See attachment for an example program. Best, Carl PS - Han and others have been great teachers for those of us learning how to use the Prime hard and software. |
|||
11-25-2014, 06:34 AM
Post: #29
|
|||
|
|||
RE: Question about CAS and Graphing
(11-24-2014 04:37 PM)CR Haeger Wrote: Back to the OP... Great teachers spend time demonstrating how to use calculator with the best result that you are proficient in its use. I would be impressed with the learners proficiency if some unexpected task could be well solved in a reasonable time. So: as far as I know, no one has improved on the inbuilt integer factorization programme? Perhaps an adept could produce an elliptic curve method integer factorizing programme that betters & increases the range of factored numbers. Perhaps a lattice point counting programme at the same time? |
|||
11-26-2014, 06:02 AM
Post: #30
|
|||
|
|||
RE: Question about CAS and Graphing
(11-23-2014 08:42 PM)Han Wrote:(11-23-2014 06:31 PM)jte Wrote: After trying a handful of examples I've also experienced some crashes when going to a Function plot view (crashes that didn't occur with F1 defined as f(X) in the Function Symbolic view — but only when f contained CAS operations). IIRC, the examples I tried that crashed when going to a Plot view all showed "Error: Syntax Error" as the F1 definition in the Function Symbolic View. When that occurs, it may be apropos to treat that as a warning and save your work / not enter a Plot view (or, at least, uncheck the function(s) whose definitions come up as syntax errors — even though I wouldn't describe a crash in this situation as being expected). When I try the following in the CAS screen of a virtual calculator (just after resetting it) I get a window reporting that "the application has crashed and will be restarted": f(z):=proot([1,z]) f(3) g(z):=f(z)(1) g(3) F1:=g F1:=g('X') I included the penultimate step as it demonstrates "Error: Syntax Error" showing up as a definition in the Function Symbolic View. (I didn't observe a crash when I tried going to a Function plot view.) I do get the plot I expect if I define F1 as g(X) in the Function Symbolic View. I rarely use the CAS, so there likely are better ways to use it than those that I know of. PS: I just tried the above example again after setting "Simplify:" to None in the CAS Settings screen. After this change in settings I didn't observe a crash with this example. |
|||
11-26-2014, 10:15 AM
(This post was last modified: 11-26-2014 10:56 AM by Angus.)
Post: #31
|
|||
|
|||
RE: Question about CAS and Graphing
hello CR Haeger,
on http://forum.hp-prime.de/discussion/94/u...ift#Item_8 (forum in german) we came up with the idea of improving the usability of the user keyboard. Based on that I added a rudimentary softmenu that can be triggered with the view key prior an other key. I added your functions to view+D for quick access without wasting many user keys. Maybe that concept can be helpful for you, too. Keep us informed on your activities! I really like your blog. In a way it is didactically better that HPs originals and personally I can feel your passion for the topic. I apologize for mixing up languages in the comments. It was not intended to be shown and atm I have so little time to work on the code. (I should, yes, if only to learn using the prime and maybe to reach a point were base conversions satisfies me) //User keys SymbModifyMenu(); SymbBaseMenu(); SymbDefineMenu(); KEY KS_Comma() BEGIN LOCAL n:=0, s:={"subst("+CAS.Ans+",)","solve("+CAS.Ans+"=0)","solve("+CAS.Ans+")","cSolve()","nSolve()"}; IF CHOOSE(n,"Lösen",s) THEN RETURN s(n); RETURN (30); ELSE RETURN "eval()"; END; END; KEY KS_Xttn() BEGIN RETURN ":="; END; /////////////////////////////////////////////////////////////////////////////////////////// //view starts my-user menu /////////////////////////////////////////////////////////////////////////////////////////// KEY K_View() BEGIN LOCAL shift:=0, alpha:=0, code; SUBGROB_P(G0, 0, 0, 39, 9, G1); //VISUALISIEREN [a][shif]CUSTOM USER WHILE(1) DO //Bis !shift||!alpha BLIT(G1); //alte linke obere Ecke malen IF shift THEN TEXTOUT_P("s",1,0,1,#00FFFFh); END; IF alpha THEN TEXTOUT_P("α",6*shift+1,0,1,#FFCC00h); END; TEXTOUT_P("USR",6*shift+7*alpha+1,0,1,#FFFF00h); code:=WAIT; CASE IF code=41 THEN shift:=1-shift; END; IF code=36 THEN alpha:=1-alpha; END; DEFAULT BREAK; END; END; //CUSTOM USER AUSFÜHREN CASE IF code=13 THEN //MENU SymbModifyMenu(); END; IF code=45 THEN //'3', also Basis SymbBaseMenu(); END; IF code=17 THEN //define SymbDefineMenu(); END; IF code=9 THEN //bei VIEW Fehler auslösen damit VIEW kommt KILL; END; DEFAULT code; //Alle anderen Tasten einfach ausführen END; END; /////////////////////////////////////////////////////////////////////////////////////////// //MY User Menu Handler /////////////////////////////////////////////////////////////////////////////////////////// SymbBaseMenu() BEGIN DRAWMENU("hex","dec","bin","","2Real","#"); // Softmenü zeichnen LOCAL inp:=WAIT(-1); // Benutzereingabe abwarten IF TYPE(inp)≠6 THEN RETURN inp; END; // Tastaturdrucke einfach durchleiten IF inp(1)≠#0d AND inp(1)≠#3d AND inp(1)≠#7d THEN RETURN ""; END; // Touchgesten (außer Klicks) ignorieren IF inp(3)<#220d THEN RETURN ""; END; // Klick außerhalb des Menüs ignorieren LOCAL btn:=IP(inp(2)*6/320); // Welcher Button gedrückt (0..5)? CASE IF btn=0 THEN RETURN " 32 4 R→B(3)"; END; IF btn=1 THEN RETURN " 32 3 R→B(3)"; END; IF btn=2 THEN RETURN " 32 1 R→B(3)"; END; IF btn=3 THEN ""; END; IF btn=4 THEN RETURN "B→R()"; END; IF btn=5 THEN "#"; END; DEFAULT ""; // Mehr Softbuttons haben wir erstmal nicht. END; END; SymbModifyMenu() BEGIN DRAWMENU("factor","fact","expand","expd","partfrac","partf"); // Softmenü zeichnen LOCAL inp:=WAIT(-1); // Benutzereingabe abwarten IF TYPE(inp)≠6 THEN RETURN inp; END; // Tastaturdrucke einfach durchleiten IF inp(1)≠#0d AND inp(1)≠#3d AND inp(1)≠#7d THEN RETURN ""; END; // Touchgesten (außer Klicks) ignorieren IF inp(3)<#220d THEN RETURN ""; END; // Klick außerhalb des Menüs ignorieren LOCAL btn:=IP(inp(2)*6/320); // Welcher Button gedrückt (0..5)? CASE IF btn=0 THEN STRING(factor(Ans)); END; IF btn=1 THEN "factor("+CAS.Ans+")"; END; IF btn=2 THEN STRING(expand(Ans)); END; IF btn=3 THEN "expand("+CAS.Ans+")"; END; IF btn=4 THEN STRING(partfrac(Ans)); END; IF btn=5 THEN "partfrac("+CAS.Ans+")"; END; DEFAULT ""; // Mehr Softbuttons haben wir erstmal nicht. END; END; //CR Haeger SymbDefineMenu() BEGIN DRAWMENU("f(x):=","f->F","F->f",":=","-","-"); LOCAL inp:=WAIT(-1); // Benutzereingabe abwarten IF TYPE(inp)≠6 THEN RETURN inp; END; // Tastaturdrucke einfach durchleiten IF inp(1)≠#0d AND inp(1)≠#3d AND inp(1)≠#7d THEN RETURN ""; END; // Touchgesten (außer Klicks) ignorieren IF inp(3)<#220d THEN RETURN ""; END; // Klick außerhalb des Menüs ignorieren LOCAL btn:=IP(inp(2)*6/320); // Welcher Button gedrückt (0..5)? CASE IF btn=0 THEN "f(x):=" END; IF btn=1 THEN "Function.F1:=f" END; IF btn=2 THEN "f(x):=Function.F1(x)" END; IF btn=3 THEN "f(x):="+CAS.Ans END; DEFAULT ""; // Mehr Softbuttons haben wir erstmal nicht. END; END; |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)