cs107 computing for math cs107 computing for math and
play

CS107: Computing for Math CS107: Computing for Math and Science - PowerPoint PPT Presentation

CS107: Computing for Math CS107: Computing for Math and Science and Science Lecture 24: Maple CS107, Prof. Steinberg, f10 Lecture 23 1 Maple Maple Running maple via internet: Like matlab but Use alfalfa.rutgers.edu in place of


  1. CS107: Computing for Math CS107: Computing for Math and Science and Science Lecture 24: Maple CS107, Prof. Steinberg, f10 Lecture 23 1

  2. Maple Maple • Running maple via internet: Like matlab but – Use alfalfa.rutgers.edu in place of remus .rutgers.edu – Use xmaple in place of matlab – To exit: quit CS107, Prof. Steinberg, f10 Lecture 23 2

  3. Running Maple Running Maple • Or run Maple in a computer lab • Or buy it and run on your own computer: • Students may purchase their own Maple Student Edition for $59 by going to: http://webstore.maplesoft.com – Requires proof of student status. – Choose a Category: Student – Select your Location: US – Promotional Code: RUTGERS72 – Click: Start Shopping CS107, Prof. Steinberg, f10 Lecture 23 3

  4. ? To access help system ? To access help system • EG ?+ or ?factor • Or click on ? Icon at top right of window • Calling Sequence, Params, Description, Examples CS107, Prof. Steinberg, f10 Lecture 23 4

  5. Numbers Numbers • Integers - of any size • Real - of any precision – E.g. Digits := 20;evalf(Pi); 20 3.1415926535897932385 CS107, Prof. Steinberg, f10 Lecture 23 5

  6. Variables Variables • Use := for assignment x:=1+2; • But variables don’t have to have values x:= a + b; • So Maple combines variables – as in program: store a value – As in math: represent an unspecified value • = means an equation, not assignment x = a + b does not change value of x – Can even do x := c = a + b CS107, Prof. Steinberg, f10 Lecture 23 6

  7. Variables Variables • To “clear” a variable means to remove any value it might have • Clear all variables with restart; • Clear, e.g., x with unassign(‘x’); Note ‘ ‘ CS107, Prof. Steinberg, f10 Lecture 23 7

  8. Variables Variables > a:=b+2; a := b + 2 > a; b + 2 > b:=3; b := 3 > a; 5 > b:=4; b := 4 > a; 6 > unassign('b' ); > a; b + 2 CS107, Prof. Steinberg, f10 Lecture 23 8

  9. But Compare But Compare • a := b + 2; • y := 1; • b := 1; • x := y+2; • a • x 3 3 • b := 2; • y :=2; • a • x 4 3 CS107, Prof. Steinberg, f10 Lecture 23 9

  10. But Compare But Compare value in a b value in x y a := b + 2; b+2 y := 1; 1 b := 1; 1 x := y+2; 3 a x 3 3 b := 2; 2 y :=2; 2 a x 4 3 CS107, Prof. Steinberg, f10 Lecture 23 10

  11. Evaluating variables Evaluating variables • Top-level variables (not local to a proc) are evaluated all the way until no variable has a value – Eg i := h; h := f+g; f := 3; sets i to 3+g CS107, Prof. Steinberg, f10 Lecture 23 11

  12. Dittos Dittos • % • %% • %%% CS107, Prof. Steinberg, f10 Lecture 23 12

  13. Symbolic expressions Symbolic expressions Value of a variable can be an expression • a := y= x^2-2*x+1; Maple has functions that operate on expressions: • factor(a); returns y = (x - 1) 2 The function op returns pieces of an expression • op(1, a) returns y op(0, a) returns = op(a) returns y, x^2-2x+1 A sequence is written with commas a, b, c • If s is a sequence, s[j] is j’th element of s • op(a)[2] is x 2 -2x+1 CS107, Prof. Steinberg, f10 Lecture 23 13

  14. Ranges Ranges • 1 .. 3 means 1, 2, 3 CS107, Prof. Steinberg, f10 Lecture 23 14

  15. Sequences Sequences seq(expression, var=range) • seq(j^2, j=2..5) is 4, 9, 16, 25 op(expr) • op(a*x^2+b*x+c) is a*x^2, b*x, c nops(expr) • 2:5 • 1, 2, 3, 4, 5 CS107, Prof. Steinberg, f10 Lecture 23 15

  16. Lists & Sets Lists & Sets • Lists: [ seq ] • Sets: { seq } like lists but no repetition or order > evalb([2, 3, 3] = [2, 3]); false > evalb({2, 3, 3} = {2, 3}); true > evalb([3, 2] = [2, 3]); false > evalb({2, 3} = {2, 3}); true CS107, Prof. Steinberg, f10 Lecture 23 16

  17. Solving Equations Solving Equations • solve(x=2*a^2/b, b); • solve(a*x^2+b*x+c=0, x) • solve({a*x+b*y=c,d*x+e*y=f},{x,y}); • Assign s = solve(...); assign(s); Assigns solution values to variables CS107, Prof. Steinberg, f10 Lecture 23 17

  18. Functions Functions • Expression vs function x^2+y^2 is an expression - an expression is a computation or an equation (x,y)->x^2+y^2 is a function - a function is a mapping from 1 or more arguments to an expression CS107, Prof. Steinberg, f10 Lecture 23 18

  19. apply apply • apply(function, arg) • Result is an expression apply(sqrt, 4) 2 apply(foo, a, b, c) foo(a, b, c) f:= (x)-> b+2*x^3 apply(f, a) b+2*a^3 CS107, Prof. Steinberg, f10 Lecture 23 19

  20. unapply unapply • unapply(expression, variables) Result is a function from variables to expression f:= unapply(b + 2*x^3, x) x->b+2*x^3 f(d) b+2*d^3 CS107, Prof. Steinberg, f10 Lecture 23 20

  21. Functions as data Functions as data • Stored as value of a variable f := x-> x^2+2; f(3); • Used as arguments and values of functions unapply(x^2+2, x); D(f); map(f, [2, 4, 5]) CS107, Prof. Steinberg, f10 Lecture 23 21

  22. Differentiating Differentiating • D(f) is f’, I.e. a function – E.g. D(cos) is sin • diff(a,x) is derivative of expression a with respect to x – E.g., diff(cos(x), x) is sin(x) CS107, Prof. Steinberg, f10 Lecture 23 22

  23. Finding maxima Finding maxima • f := x -> sin(x) * cos(x) • D(f) x->cos(x)^2-sin(x)^2 • solve(D(f)(x)=0,x) 1/4 pi, 3/4 pi • See cannon.mw CS107, Prof. Steinberg, f10 Lecture 23 23

  24. Programming Programming • If if x > y then z:= z elif x = y then z := 0 else z := y end if CS107, Prof. Steinberg, f10 Lecture 23 24

  25. Programming Programming • If if x > y then z:= z elif x = y then z := 0 else z := y end if CS107, Prof. Steinberg, f10 Lecture 23 25

  26. Programming Programming • For for j from 1 by 2 to 9 do x:=x+j; end do; CS107, Prof. Steinberg, f10 Lecture 23 26

  27. Programming Programming • proc(vars) end proc • read “filename.mpl” to read in definitions from a file. CS107, Prof. Steinberg, f10 Lecture 23 27

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend