• Tidak ada hasil yang ditemukan

DOC Symbmath - chinesemath.drhuang.com

N/A
N/A
Protected

Academic year: 2023

Membagikan "DOC Symbmath - chinesemath.drhuang.com"

Copied!
120
0
0

Teks penuh

User's Guide

Introduction

  • What is SymbMath
  • Capabilities
  • Shareware and Advanced Versions
  • A List of Files in SymbMath

If you get SymbMath in ZIP format (eg sm32a.zip), you need to unzip it with the -d by parameter. If you get SymbMath with the installation file, you must install it with the installer. Shareware version lacks solve(), trig (except sin(x) and cos(x)) and hyperbolic functions (10% keywords missing).

If you use drive A, please copy (or rename) the DRIVE.A file to the SYMBMATH.DRI file, or you edit drive(2) in drive(1) in the SYMBMATH.DRI file.

Calculation

  • Exact Calculation
  • Discontinuity and One-sided Value
  • Undefined and Indeterminate Form

Note that after assigning x with x:=4 x must be cleared from the assignment with clear(x) before differentiating (or integrating) the function x. An assignment operation is global, while an inner function operation is local and an outer function operation is global. If the function f(x0) gives a discount as its function value, you can get its one-sided function value with f(x0-zero) or f(x0+zero).

If the function value is undefined, it can be of undefined form (eg 0/0, inf/inf), you can evaluate it by lim() (see Chapter Limits).

Simplification

  • Assuming Domain
  • Comparing and Testing Numbers

Assuming the variable x is positive or negative, the output expression is simpler if you don't declare it. You can limit the domain of a variable by assuming that the variable is even, odd, integer, real number, positive, or negative. You can compare the square of a variable a^2 > 0 if you know the property of the variable.

Note that comparison with the is* functions returns either 1 if true or 0 otherwise, but comparison with relational operators returns 1 if true, 0 if false, or otherwise not evaluated.

Table 3.3 Simplification in different domains
Table 3.3 Simplification in different domains

Defining Functions, Procedures and

  • Defining Functions
    • Defining Conditional Functions
    • Defining Case Functions
    • Defining Piece-wise Functions
    • Defining Recursion Functions
    • Defining Multi-Value Functions
  • Defining Procedures
  • Defining Rules

On the first definition of If(), when f1() is called, it returns 1 if x>0, or otherwise does not evaluate. On the last definition, when f4() is called, it evaluates to any numeric or symbolic value of x. You cannot differentiate or integrate the conditional function defined by If(), but you can execute the conditional functions defined by inequalities.

The first time f() is called, it returns x^2 if x is a number, otherwise it is left unvalued.

Limits

  • One-sided Limits
  • Numeric Limits: nlim()

Now ask SymbMath to calculate the (1) limit as x approaches 1,. 2) the limit as x approaches 1 from the left and (3) the limit as x approaches 1 from the right for each of the partially defined functions above.

Differentiation

  • Fractional Derivatives
  • Defining f (x)

The Davison-Essex and Riemann-Liouville definitions differ in the following way: in the D-E formula, differentiation is done first, then integration; in the R-L formula it is the other way around. The resulting D-E definition therefore maps the constants to zero, which mimics integer-order differentiation, while the R-L definition does not. This property of the D-E definition makes it suitable for working with initial value problems for fractional differential equations.

Integration

  • Indefinite Integration
  • Definite Integration
  • Numeric Integration

Solving Equations

  • Solving Algebraic Equations
  • Equation Solver: solve()
  • Polynomial Solver: psolve()
  • Numeric Solver: nsolve()
  • Solving Differential Equations
  • Differential Solver: dsolve()

Solve an equation sqrt(x+2*k) - sqrt(x-k) = sqrt(k), then check the solution by inserting the root into the equation. All the real and complex roots of the equation will be found by solve(). You can get one of the roots from the list (see chapter 4.9 Arrays, lists, vectors and matrices).

It is recommended to set the switch expand:=on when solving the complicated differential equations.

Sums, Products, and Series

  • Partial Sum
  • Indefinite Sum
  • Series
  • Polynomials

If you can provide the derivative of any function of f(x) and f(0), even though f(x) is unknown, you may be able to calculate the function value at any x, by series expansion. You can sum one of coefficient of x in polynomials with order < 5 by coef(poly, x,n). You can sum all the coefficients of x in polynomials with order < 5 by coefall(poly, x).

You can sum the highest order of x in polynomials with order < 5 by order(poly, x).

Lists and Arrays, Vectors and

  • Lists
    • Entering Lists
    • Accessing Lists
    • Modifying Lists
    • Operating Lists
  • Arrays
    • Entering Arrays
    • Accessing Arrays
    • Modifying Arrays
    • Operating Arrays
  • Vectors and Matrices

If you have assigned a list to a variable x, you can access the jth element from the index of the list x[j]. If x[j] itself is a list, then its j element is accessed by repeating the similar step. But you can't use the index of the list unless the list is already assigned to x. After defining an array of a, you can access one of its elements from its index IN: a[1].

You can use arrays or lists to represent vectors, and lists of lists to represent matrices.

Statistics

Tables of Function Values

Conversion

  • Converting to Numbers
  • Converting to Lists
  • Converting to Strings
  • Converting to Table

Getting Parts of Expression

  • Getting Type of Data
  • Getting Operators
  • Getting Operands
  • Getting Coefficients

A coefficient of x^n in an expression can be summed by coef(p, x^n). see Chapter Polynomials for details).

Database

  • Phone Number
  • Atomic Weight
  • Chemical Reaction

Learning from User

  • Learning Integrals from a Derivative
  • Learning Complicated Integrals from a
  • Learning Definite Integral from Indefinite
  • Learning Complicated Derivatives from
  • Learning Integration from Algebra
  • Learning Complicated Algebra from Simple
  • Learning vs. Programming

One of the most important features of SymbMath is its ability to derive and extend its knowledge. If you give it the necessary facts, SymbMath can solve many problems that could not be solved before. If you specify the derivative of a known or unknown function, SymbMath can derive the indefinite and definite integrals of that function.

If the function is not a simple function, you only need to specify the derivative of the simple function. If you know a derivative of a function f(x) (where f(x) is a known or unknown function), SymbMath can learn the integrals of that function from its derivative. Since the output only displayed what was typed into the input, without any calculated results, this implies that SymbMath has no knowledge of the indefinite and definite integrals of the functions in question.

Now you teach SymbMath the derivative of f(x) on the first line, then run the program again. As shown, you provided only the derivative of the function, and in return SymbMath logically derived its integral. As in the previous examples, provide the information: integral of f(x) is f(x) - x; then ask the indefinite integral of 2*f(x)+x, and a double indefinite integral of.

SymbMath can learn complex derivatives of a simple derivative, even if the function to be differentiated is an unknown function, instead of standard function. Programming is different in the way that the programmer has to perform many tasks before he can begin to solve a problem.

Programmer's Guide

Programming in SymbMath

  • Data Types
    • Numbers
    • Constants
    • Variables
    • Patterns
    • Functions, Procedures and Rules
    • Equations
    • Inequalities
    • Vectors or Lists
    • Matrices or Arrays
    • Strings
  • Expressions
    • Operators
    • Function Calls
  • Statements
    • Comment Statements
    • Evaluation Statements
    • Assignment Statements
    • Conditional
    • Loop
    • Switch
    • Read and Write Statements
    • DOS Command
    • Sequence Statements
  • Libraries and Packages
    • Initial Package init.sm
    • ExpandLn Package
    • Chemical Calculation Package
  • Interface with Other Software

The last-named variable is built-in since the last variable is always automatically assigned the value of the last output result. All standard functions below, (except case(x), n!, fac(n) and atan2(x,y)), can be symbolically differentiated and integrated. The first argument of the function is to evaluate, and the second argument is a variable that is related to.

When defining a utility-defined function, it is useful to leave the function unvalued if the function argument is not a number. Repeat() is repeated to evaluate f until the test is true (ie, the test result is 1). If the file is not in the current directory, the filename must include the directory.

The library must be in the default directory, otherwise the library is not loaded and the function does not work. After reading the package, you can call the commands in the package from your program. You can get help for all libraries using the library index command in the Help menu.

The interface with other software (eg CurFit, Lotus 123) is similar to the interface with PlotData software in the plotdata package "plotdata.sm". PlotData reads data in SymbMath format without any modification (and in many data formats).

Table 17.1.5.3.1  The is*(x) Functions
Table 17.1.5.3.1 The is*(x) Functions

Graphics

  • Drawing Lines and Arcs
  • Plotting f(x)
  • Plotting Parametric Functions x(t) and y(t)
  • Plotting f(t) in Polar Coordinates
  • Plotting Data
  • Printing Graphics on Printer

Plotdata() first opens the "SymbMath.Out" file for writing, then writes the y function data table to the "SymbMath.Out" file, then closes the file, and finally calls the PlotData software to plot. When SymbMath is connected to PlotData software, SymbMath creates a data table of functions and PlotData plots from the table. You can draw lines and graphs with different line styles in monochrome and color systems.

If SymbMath tries to graph a point (x,y) that is outside the screen coordinate, it ignores that point and continues. No error message is generated, and even functions that are undefined in part of the graph domain can appear in the graph. You can use getbkcolor to get the background color and foreground color of your graphics display.

These values ​​tell SymbMath that the viewport corresponds to a portion of the xy plane with xmin <= x <= xmax and ymin <= y <= ymax. The plot() operator plots one point (x,f(x)) for each pixel on the x-axis and connects the following points. If you want to plot only every 20th point, which is useful for quickly graphing complex functions, use

SymbMath Environment: Windows

  • File Menu
    • Open
    • New
    • Save Input
    • Save Output
    • DOS Shell
    • Exit
  • Input Menu
  • Run Menu
  • Output Menu
  • Color Menu
    • Menu Line
    • Input Window
    • Input Border
    • Output Window
    • Output Border
    • Status Line
  • Help Menu
  • Example Menu
  • Keyword Menu
  • Editor and Edit Help Menu
    • Edit Help Menu
    • Edit Commands
    • Copy and Paste

The Output window is similar to the Input window, where you can edit any text. This command opens a menu for the cursor movement commands. The functionality of most cursor movement commands is simple. Moves the cursor to the block start mark you have already set with Mark blockstart.

Move the cursor to the block end marker you already set with Mark Blockend. Now move the cursor to the block (the block will be highlighted as you go). If you want to insert multiple copies of the highlighted block, simply move the cursor with arrow keys to the new location(s) and then press Paste.

Copies the currently highlighted block into the paste buffer and then pastes the contents of the paste buffer at the current cursor position. To insert multiple copies of the highlighted block, simply move the cursor to the new locations with the arrow keys and then press Paste. If you don't specify a file extension (.PRO, , .BAK, etc.), the editor assumes you want the extension for the current file mask.

The text to the right of the cursor simply moves to the right as you enter new text. Initially, the editor works in Insert mode, to switch modes, press the or V key. lt;Ctrl>V means hold down the key on the keyboard while typing V. V must not be in uppercase.).

Table 2.1 Commands in the Directory Window
Table 2.1 Commands in the Directory Window

Inside SymbMath

  • Internal Structure
  • Internal Format

System Limits

Keywords

  • Internal Functions
  • External Functions
  • Keywords in Alphabetical Order
  • Keywords in Topic Order
  • Glossary

Gambar

Table 3.3 Simplification in different domains
Table 17.1.5.3.1  The is*(x) Functions
Table 17.1.5.3.2  The type(x) functions
Table 17.4.1      Libraries
+4

Referensi

Dokumen terkait

Frank Newfeld's new book Creatures: An Alphabet for Adults and Worldly Children Groundwood 1998 is an unabashed example of the free- ranging, initial-associative type.. This wordless