基礎課程教學-統計學

Download Report

Transcript 基礎課程教學-統計學

95503統資軟體課程講義
符號數學運算軟體
1
銘傳大學應用統計資訊學系 蔡桂宏
製作
95503統資軟體課程講義
MAPLE軟體簡介
2
銘傳大學應用統計資訊學系 蔡桂宏
製作
Introduction to Maple
Installing Maple
 Starting Maple
 The Maple Worksheet Window
 Accessing Help Pages
 Entering Expressions in Maple

3
銘傳大學應用統計資訊學系 蔡桂宏 製作
Maple worksheet window
4
銘傳大學應用統計資訊學系 蔡桂宏 製作
Maple worksheet window
A.toolbar
B.Context bar
C.Section heading
D.Maple input
E.Maple output
F.Execution group
G.Section range bracket
H.Prompt
I.Symbol palette
J.Expression palette
K.Matrix palette
L.Vector palette
5
銘傳大學應用統計資訊學系 蔡桂宏 製作
Maple Help window
6
銘傳大學應用統計資訊學系 蔡桂宏 製作
Maple Help window
A.Help page name
B.toolbar
C.Help navigator Tabs
G.Help Page Title
D.Topic folder
E.Bullet
H.Example
I.Also See
F.Description
7
銘傳大學應用統計資訊學系 蔡桂宏 製作
Maple 9 Getting Started Guide
This guide contains an introduction to
the graphical user interface and a
tutorial that outlines using Maple to
solve mathematical problems and
create technical documents. It also
contains additional information for
new users about the help system,
N e w U s e r ’ s To u r , e x a m p l e
worksheets and Maplesoft Web site.
8
銘傳大學應用統計資訊學系 蔡桂宏 製作
Maple 9 Learning Guide
This guide explains how Maple and the
Maple language work. It describes the
most important commands and uses
them to solve technical problems.
User hints for Maplet applications are
also described in the guide.
9
銘傳大學應用統計資訊學系 蔡桂宏 製作
Maple 9 Introductory Programming
Guide
This guide introduces the basic Maple
programming concepts, such as
expressions, data structures, looping
and decision mechanisms,
procedures, input and output,
debugging, and the Maplet User
Interface Customization System.
10
銘傳大學應用統計資訊學系 蔡桂宏 製作
Maple 9 Advanced
Programming Guide
This guide extends the basic Maple
programming concepts to more
advanced topics, such as modules,
graphics programming, and compiled
code.
11
銘傳大學應用統計資訊學系 蔡桂宏 製作
Tutorials

Maple provides three tutorials that can
be accessed from the New User
submenu of the help menu:
Full Tour
 Quick Tour
 Basic How To

12
銘傳大學應用統計資訊學系 蔡桂宏 製作
Websites

www.maplesoft.com


www.mapleapps.com


Information on products, support, and
services.
Including a forum for sharing solutions,
demonstrations, of Maple PowerTools, and
an online tutorial
www.maple4students.com

Includes course help, Maple tutorials, and
Maple graphics
13
銘傳大學應用統計資訊學系 蔡桂宏 製作
Tokens—Reserved Words(1)
Keywords
break, next
if, then, elif, else
for, from, in, by, to,
while, do
proc, local, global, option,
error,
return options, description
export, module, use
end
銘傳大學應用統計資訊學系 蔡桂宏 製作
Purpose
loop control
if statement
for and while loops
procedures
modules
ends structures
14
Tokens—Reserved Words(2)
Keywords
Purpose
assuming
try, catch, finally
assume facility
exception handling
read and save
read, save
statements
quit, done, stop
ending Maple
union, minus, intersect, subset set operators
and, or, not, xor
Boolean operators
implies
implication operator
mod
modulus operator
銘傳大學應用統計資訊學系 蔡桂宏 製作
15
Tokens—%operator



%
last expression
%%
second-last expression
%%% third-last expression
16
銘傳大學應用統計資訊學系 蔡桂宏 製作
Tokens—Binary Operator
Operator
Meaning
Operator
Meaning
+
addition
<
less than
-
subtraction
<=
less or equal
*
multiplication
>
greater than
/
division
>=
greater or equal
^
exponentiation
<>
not equal
$
sequence operator
->
arrow operator
@
composition
union
set union
@@
repeated composition
minus
set difference
&string
neutral operator
intersect
set intersection
,
expressiop separator
::
type declaration, pattern binding
||
concatenation
and
logical and
.
noncommutative multiplication
or
logical or
..
ellipsis
xor
exclusive or
mod
modulo
implies
inplication
:=
assignment
subset
subset
17
銘傳大學應用統計資訊學系 蔡桂宏 製作
Tokens—Unary Operator
Operator
+
!
$
not
&string
.
Meaning
unary plus(prefix)
unary minus(prefix)
factorial(postfix)
sequence operator(prefix)
logical not(prefix)
neutral operator(prefix)
decimal point(prefix or postfix)
18
銘傳大學應用統計資訊學系 蔡桂宏 製作
Tokens—Initially known Name
Name
Meaning
Name
Meaning
Catalan
Catalan's constant
lasterror
most recent error
libname
pathname of Maple library(ies)
constant initially-known symbolic
s
const.
Digits
number of digits in floatingpoint
NULL
empty expression sequence
FAIL
cannot determine value
Order
truncation order for series
false
Boolean evaluation
Pi
mathematical constant
gamma
Euler's constant
printleve
control display of information
l
I
complex number
true
Boolean evaluation
infinity
mathematical infinity
undefine
d
undefined
銘傳大學應用統計資訊學系 蔡桂宏 製作
19
Token – Concatenation Operator | |




String | | name
String | | naturalInteger
String | | string
String | | (expression)
20
銘傳大學應用統計資訊學系 蔡桂宏 製作
Token – Escape Characters




? – Help procedure
! --Host operating system
# -- Comment
\ --continuation of lines and grouping
characters in a token.
21
銘傳大學應用統計資訊學系 蔡桂宏 製作
Selection Statements
if Boolean expression then
statement sequence
elif Boolean expression then
statement sequence
else
statement sequence
end if
銘傳大學應用統計資訊學系 蔡桂宏 製作
22
Repetition Statements
for name from expr by expr to expr while
expr do
statement sequence
end do;
23
銘傳大學應用統計資訊學系 蔡桂宏 製作
1.1 Introduction

Understanding functions in Maple is also a
good starting point for our discussions about
Maple programming.

There are two distinct ways to represent
mathematical functions in Maple. That is
Maple expression ( := ) and a Maple function
( -> ).
24
銘傳大學應用統計資訊學系 蔡桂宏 製作
1.2 Functions in Mathematics


the formula f ( x)  x 2has as its domain the set of
all real numbers, its codomain is the set of all
positive real numbers.
2
g
(
x
)

x
the formula
has as its domain the set of
all positive real numbers, its codomain is the set
of all positive real numbers.

the formula h( x)  x2 has as its domain the set of
all negative real numbers, its codomain is the
set of all positive real numbers.
25
銘傳大學應用統計資訊學系 蔡桂宏 製作

the function f is not invertible.

The inverse of the function g is
g ( 1) ( x)  .x

The inverse of the function h is
h( 1) ( x)   .x

So f, g, and h all have the same formula (i.e.,
rule) but they are not the same function. The
domain and codomain are important parts of
the definition of a mathematical function.
26
銘傳大學應用統計資訊學系 蔡桂宏 製作
1.3 Functions in Maple



These two ways of representing
mathematical functions are not equivalent.
And it is subtle and non-obvious.
A Maple function is something defined
using arrow notation ( ->).
A Maple expression is something defined
using ( := ).
x -> x^2;
x -> a*x^2;
(x,a) -> a*x^2;
27
銘傳大學應用統計資訊學系 蔡桂宏 製作

ax2  bx  c .

Maple will treat all unassigned names
(i.e., all unknowns) as variables.


The mathematical function
g := x -> x^2 – 1; g(2);

g(x) := x^2-1;
g ( x)  x 2  1.
g(2);
28
銘傳大學應用統計資訊學系 蔡桂宏 製作





g := cos + ln;
k := x -> cos(x) + ln(x);
g(Pi); k(Pi);
h := cos + (x -> 3*x-1);
h(z);
29
銘傳大學應用統計資訊學系 蔡桂宏 製作

f := x -> (1 + x^2)/x^3;
g := (1 + (x -> x^2))/(x -> x^3);
h := (1 + (z -> z^2))/(y -> y^3);

f(1); g(1); h(1);


m := x -> (1 + exp(x))/x^3;
n := (1 + exp)/(x -> x^3);

m(1); n(1);


30
銘傳大學應用統計資訊學系 蔡桂宏 製作






f := x^2;
g := x -> 2 * x^3 * f;
g(x); g(2);
f := x -> x^2;
g := 2 * (x -> x^3) * f;
g(x); g(2);
31
銘傳大學應用統計資訊學系 蔡桂宏 製作
1.4 Expressions vs. functions:
Some puzzles

The following examples are meant to show
that there are still a lot of subtle things to
learn about variables and functions and how
Maple handles them.
32
銘傳大學應用統計資訊學系 蔡桂宏 製作
Puzzle 1








f1 := x^2+1;
f2 := y^2+1;
f3 := f1 + f2;
f3 is a function of two variables.
g1 := x -> x^2+1;
g2 := y -> y^2+1;
g3 := g1 + g2; g3(x);
g3 is not a function of two variables.
33
銘傳大學應用統計資訊學系 蔡桂宏 製作
Puzzle 2








x:='x': a:=1: b:=2: c:=3:
a*x^2+b*x+c;
f := unapply( a*x^2+b*x+c, x );
g := x -> a*x^2+b*x+c;
f(x); g(x);
D(f); D(g);
p := x^2 + sin(x) + 1; p(2);
p := unapply(p,x);
p(2);
34
銘傳大學應用統計資訊學系 蔡桂宏 製作
Puzzle 3

plot( x^2, x=-10..10 );

plot( x->x^2, -10..10 );

plot( x^2, -10..10 );
plot( x->x^2, x=-10..10 );

35
銘傳大學應用統計資訊學系 蔡桂宏 製作

x := 5;

plot( x^2, x=-10..10 );

plot( x->x^2, -10..10 );
36
銘傳大學應用統計資訊學系 蔡桂宏 製作
Puzzle 4






f := x^2;
f := x*f;
f;
g := x -> x^2;
g := x -> x*g(x);
g(x);
37
銘傳大學應用統計資訊學系 蔡桂宏 製作
Puzzle 5






x^2;
f := %;
plot( f, x=-3..3 );
x^2;
g := x -> %;
plot( g, -3..3 );
38
銘傳大學應用統計資訊學系 蔡桂宏 製作
1.5 Working with expressions
and Maple functions (review)






g := x -> x^2-3*x-10;
g(x);
g;
print(g);
eval(g);
op(g);
39
銘傳大學應用統計資訊學系 蔡桂宏 製作

plot( a*x^2, -5..5 );

plot( x->a*x^2, -5..5 );

plot3d( (x,a)->a*x^2, -5..5, -10..10 );
40
銘傳大學應用統計資訊學系 蔡桂宏 製作
We wanted to evaluate our mathematical
function at a point, say at 1.







f := x^2 - 3*x-10;
g := x -> x^2-3*x-10;
subs( x=1, f );
eval( f, x=1 );
g(1);
f(1);
subs( x=1, g );
41
銘傳大學應用統計資訊學系 蔡桂宏 製作






eval( f, x=1 ); subs( x=1, f );
Think of reading eval( f, x=1) as "
evaluate f at x=1" and think of reading
subs (x=1,f) as " substitute x=1 into f".
factor( f );
factor( g(x) );
factor( f (x) );
factor( g );
42
銘傳大學應用統計資訊學系 蔡桂宏 製作





diff( f, x );
D( g );
diff command needed a reference to x in it
but the D command did not.
D( f );
diff( g, x );
43
銘傳大學應用統計資訊學系 蔡桂宏 製作
Let us do an example of combining two mathematical
functions f and g by composing them to make a new
function
.
h( x)  f ( g ( x))
For the expression:

f := x^2 + 3*x;
g := x + 1;
h := subs( x=g, f );

subs(x=1, h);


44
銘傳大學應用統計資訊學系 蔡桂宏 製作
For the function:





f := x -> x^2 + 3*x;
g := x -> x + 1;
h := f@g;
h(x);
h(1);
45
銘傳大學應用統計資訊學系 蔡桂宏 製作
Example: representing a mathematical
function of two variables.







f := (x^2+y^2)/(x+x*y);
g := (x,y) -> (x^2+y^2)/(x+x*y);
subs( x=1, y=2, f );
eval( f, {x=1, y=2} );
g(1,2);
simplify( f );
simplify( g(x,y) );
46
銘傳大學應用統計資訊學系 蔡桂宏 製作
Here is how we compute partial
derivatives of the expression.








diff( f, x );
simplify( % );
diff( f, y );
simplify( % );
D[1](g);
simplify( %(x,y) );
D[2](g);
simplify( %(x,y) );
47
銘傳大學應用統計資訊學系 蔡桂宏 製作
1.6 Anonymous functions and
expressions (review)

Here we define an anonymous function
and then evaluate, differentiate, and
integrate it.
(z -> z^2*tan(z))(Pi/4);
x -> x^3 + 2*x;
%(2);
D( %% );
int( (%%%)(x), x );
銘傳大學應用統計資訊學系 蔡桂宏 製作
48

These next two commands show again that
defining a function and naming a function are
two distinct steps.
z -> z/sqrt(1-z);
f := %;
49
銘傳大學應用統計資訊學系 蔡桂宏 製作






f := ((x,y) -> x^2) + ((x,y) -> y^3);
f(u,v);
f(2,3);
g := (x -> x^2) + (y -> y^3);
g(u,v);
g(2,3);
50
銘傳大學應用統計資訊學系 蔡桂宏 製作

plot(w^3+1, w=-1..1);

plot( ((x,y)->x^3-y^3)(w,-1), w = -1..1 );

plot( w->(((x,y)->x^3-y^3)(w,-1)), -1..1 );
51
銘傳大學應用統計資訊學系 蔡桂宏 製作
1.7. Functions that return a function



f := a -> ( y->a*y );
f(3);
f(3)(4);
52
銘傳大學應用統計資訊學系 蔡桂宏 製作







f := (x,y) -> 3*x^2+5*y^2;
f(x,3);
fx3 := x -> f(x,3);
fx3(x);
slice_f_with_y_fixed := c -> ( x>f(x,c) );
fx3 := slice_f_with_y_fixed(3);
fx3(x);
53
銘傳大學應用統計資訊學系 蔡桂宏 製作