Раздел 01

Numerical Calculations

Вычисления 

In this section you will use Maple to do some standard numerical calculations. Maple's ability to produce exact answers in addition to numerical approximations gives you more options in solving problems.

В этом разделе Вы научитесь применять Maple при проведении стандартных численных расчётов. Уникальная способность Maple производить точные вычисления (наряду с приближенными) обеспечивает Вам дополнительные возможности при решении вычислительных задач.

01. 01

Doing Exact Arithmetic with Maple

Точная Арифметика с Maple

Using Maple to do numerical computations is very straightforward. Just enter the numerical expression and end the line with a semicolon . Pressing [Enter] will then execute the line and the result will be displayed in blue in the center of the screen.

Использование Maple при проведении численных расчётов выглядит довольно естественно. Следует только ввести число и завершить ввод командной строки символом " ; " ( точка с запятой ). Нажатие клавиши [ Enter ] при условии, что курсор размещен именно в этой командной строке, приведёт к тому, что вслед за командой в центре экрана появится результат, набранный синим шрифтом .

A simple calculation has been entered on the next line. Click anywhere in the red line and press [Enter] .

Введём представленными ниже командными строками простейшие вычислительные операции. Щёлкнув где-нибудь на красном поле строки и нажав клавишу [ Enter ] , получите результат.

 
  > 2+4;  

6

 
 
  > 12*34567890;  

414814680

 

Each red input line is "live" and can be modified at any time.

Каждая командная строка - "живая" , т.е. её содержимое может быть подкорректировано в любой момент.

Change the "4" in the line above to an "8" and press [Enter] .

Замените цифру " 4 " в первой строке на " 8 " и нажмите [ Enter ] .

Notice how the blue output is automatically updated to display the new result.

Отметьте для себя: на экране мгновенно  обновляется синяя строка результата.

For our next example let's calculate 134^39 .

В качестве следующего примера вычислим 134^39 .

 
  > 134^39;  

 

Unlike your calculator, Maple gives you the exact answer to this problem, all 83 digits worth!

В отличие от самого мощного микрокалькулятора, Maple (без дополнительных программных ухищрений) мгновенно выдаёт точный результат, все 83 значащие цифры!

Maple can calculate with fractions without converting to decimals:

Ещё одно достоинство Maple - он может точно выполнять действия с обыкновенными дробями без их обязательной конвертации в десятичную форму:

 
  > 3/5 + 5/9 + 7/12;  

313/180

 

To enter the square root of a number use sqrt( ) :

Для ввода арифметических квадратных корней используйте команду sqrt :

 
  > sqrt(24);  

2*sqrt(6)

 

Notice that Maple has simplified sqrt(24) but has left the answer in exact form. 

Заметьте, что Maple автоматически упрощает иррациональность: вместо sqrt(24) выводит 2*sqrt(6) .

In the next section you will learn how to get a decimal approximation for this number.

В следующем параграфе Вы познакомитесь с тем, как получить десятичное приближение этого числа.

Maple has all of the important mathematical constants built in. To enter Pi type Pi.

Notice that an asterisk * is required to indicate multiplication.

В Maple встроены фундаментальные математические константы. Например, чтобы ввести число Pi , следует набрать с клавиатуры Pi . Вы уже заметили, что при вводе произведения множители следует обязательно разделять символом " * " ?

 
  > 4*(3+Pi);  

12+4*Pi

 

Again Maple carries out the calculation but leaves the answer in exact form.

И вновь Maple выводит точное иррациональное число, а не его приближенную десятичную форму.

Unlike your calculator, Maple gives you the exact answer when applying trigonometric functions.

В отличие от Вашего калькулятора, Maple при малейшей возможности выводит точные значения функций, например, тригонометрических:

 
  > sin(5*Pi/3);  

-1/2*sqrt(3)

> sec(Pi/4);

sqrt(2)

 

To get the inverse sine of a number use the arcsin( ) function:

Чтобы найти значение арксинуса числа х , используйте функцию arcsin(х) :

 
  > arcsin(-1);  

-1/2*Pi

 

If you ask Maple to calculate a value that is undefined it will respond with an error message:

Если Вы требуете от Maple вычислить значение функции в не принадлежащей её области определения точке, то получите сообщение об ошибке:

 
  > tan(Pi/2);  

Error, (in tan) numeric exception: division by zero

 

To enter the natural exponential function exp(x) in Maple type: exp(x) .

Чтобы ввести в Maple экспоненциальную функцию, следует набрать:

 

 

 
  > exp(x);  

exp(x)

 

And to get the number e by itself type: exp(1) .

Чтобы ввести само число е - основание натуральных логарифмов, наберите

 
  > exp(1);  

exp(1)

 

To enter the absolute value function abs(x) in Maple type: abs(x).

Чтобы ввести в Maple абсолютное значение переменной х , используйте команду abs(x) .

 
  > abs(x);  

abs(x)

> abs(-3);

3

> abs(exp(1)-Pi);

-exp(1)+Pi

 
Note that Maple gives the correct, exact answer for the third line since: exp(1)-Pi < 0

Заметьте, что Maple в последнем примере вновь отдаёт предпочтение точному числу exp(1)-Pi < 0 , намекая, при этом, что оно - отрицательное !

Maple has many special purpose commands for working with numbers. You will learn these as you need them in your math course. Here is one last example for now. If we have an integer and want to factor it into primes we can use Maple's ifactor( ) command. Feel free to experiment by changing the number.

Maple обладает многими специальными командами для работы с числами. Вы должны их изучить, т.к. они используются практически во всех разделах математики. Приведём пока лишь один пример такой команды. Если Вы желаете разложить целое число n на простые множители, то используйте для этого Maple-команду ifactor(n) . Не стесняйтесь экспериментировать, вводя самые фантастические целые (и не только!) числа.

 
 

> ifactor(31722722304);

 

``(2)^10*``(3)*``(7)^2*``(13)^2*``(29)*``(43)

 

There may be times when you want to enter more than one command on a single line. This is okay to do in Maple, just be sure to end each command with a semicolon. It also helps to put spaces between the commands. When you press [Enter] all of the expressions are executed and the results are listed, in order, in a single output field.

В дальнейшем, Вам неоднократно придётся сталкиваться с необходимостью ввода сразу нескольких команд в одной линии. В Maple такая возможность предусмотрена. Если Вы при этом желаете вывести на экран результаты всех команд, то ввод каждой из них нужно завершать символом " ; " . Если Вы после этого нажмёте [ Enter ] , результаты выполнения команд будут выведены в виде упорядоченного столбца, в строгом соответствии с очередностью ввода команд.

 
  > sin(Pi/3); cos(Pi/3); tan(Pi/3);  

1/2*sqrt(3)

1/2
sqrt(3)
 

To calculate and display a sequence of numbers use the seq(..) command. Here we calculate the squares of the first 100 natural numbers.

Чтобы вычислить и вывести на дисплей последовательность чисел, используйте команду seq . Ниже показывается, как вычислить квадраты первых 100 натуральных чисел:

 
  > seq(k^2,k=1..100);  

 

01. 02

Numerical Approximations using the evalf command

Приближенные Вычисления При Помощи Команды evalf

Recall that in the previous section we asked Maple to add three fractions and the result was also displayed as a fraction. This sort of exact arithmetic is very useful but there are times when we prefer an answer in decimal form. The Maple command evalf( ) performs this task for us.

Напомним, что в предыдущем параграфе мы просили Maple сложить три обыкновенные дроби. Результат был выведен также в виде обыкновенной дроби. Такой тип точных арифметических вычислений необычайно важен, но иногда предпочтительнее получить результат в десятичной (как правило - приближенной) форме. Нашим запросам в таких случаях отвечает команда evalf .

Compare the results of the next two lines.

Сравните результаты двух следующих командных строк:

 
  > 3/5+5/9+7/12;  

313/180

> evalf(3/5+5/9+7/12);

1.738888889

 

Assigning a name to the result of a calculation makes it easier to use that result in a subsequent calculation. To assign a name we use a colon followed by an equal sign ( i.e. name := result ; ) . On the next line we have assigned the letter k to the original output above. Then we apply evalf() to k.

Своевременное присвоение имени результату вычислений может в дальнейшем заметно облегчить Вашу работу. Чтобы присвоить имя k какому-то числу или функции K , используется оператор присваивания " := ", состоящий из двоеточия и знака равенства: k:=K; . В следующей командной строке имя " k " мы присвоим сумме обыкновенных дробей, а затем найдём десятичную форму этой суммы:

 
  > k:=3/5+5/9+7/12;  

k := 313/180

> evalf(k);

1.738888889

 

Important Maple Note : Maple is case sensitive. So for example Maple considers k and K to be different variables..

Важная черта Maple : система чётко различает строчные и прописные буквы. Для Maple k и K - совершенно разные символы.

 

 
  > k;  

313/180

> K;

K

 

By the way you can also use words as variable names.

Кстати, в качестве имен, присваиваемых числам и переменным, Вы можете использовать слова и даже целые высказывания. В последнем случае пропуски между словами следует заполнять символом " _ " . ( В предыдущих версиях Maple не допускалось использование кириллицы в именах! ).

 

 
  > Неуловимый_Джо:=2^5;  

`Неуловимый_Джо` := 32

> sqrt(Неуловимый_Джо);

4*sqrt(2)

 

If we want fewer or more digits of accuracy than the default number which is 10 digits we can add an extra argument to the evalf( ) command as shown below.

Если нам необходимо определенное количество десятичных цифр в записи результата (по умолчанию, Maple ограничивается десятью ), то нужно после аргумента в команде evalf указать необходимое число:

 
 

> w:=4*(3+Pi);

 

w := 12+4*Pi

> evalf(w);

24.56637062

> evalf(w,4);

24.57

> evalf(w,45);

24.5663706143591729538505735331180115367886776

 

If you enter numbers with a decimal point Maple automatically gives decimal results. 

Если Вы введёте в командную строку хотя бы одно число, в котором целая часть отделена от дробной десятичной точкой , Maple автоматически выведет результат в десятичной форме.

Compare the results of the two lines below.

Сравните результаты двух командных строк:

 
 

> sqrt(34);

 

sqrt(34)

> sqrt(34.0);

5.830951895

 

Here is another example:

А вот другой пример:

 
  > 4-1/3;  

11/3

> 4.0-1/3;

3.666666667

 

We can apply the evalf( ) command to a sequence of numbers. Below we first generate the exact square roots of the first 10 natural numbers, then apply evalf to get decimal approximations.

Вы можете применить команду evalf и к числовой последовательности . Ниже вначале генерируются точные значения квадратных корней из первых 10 натуральных чисел, а затем, с помощью evalf , находятся их приближенные десятичные значения:

 
 

> result:=seq(sqrt(k),k=1..10);

 

result := 1, sqrt(2), sqrt(3), 2, sqrt(5), sqrt(6),...

> evalf(result);
 

Maple Shortcut: Quick reference to last output

Maple-сокращения: Быстрый вызов предыдущего результата

There will be many times when using Maple that you will string together a sequence of computations. Rather than giving a name to each result as you go along, you can use the percent sign ( % ) to refer to the last expression computed by Maple.

Here are some examples of how it works.

Из личного опыта Вы знаете, что промежуточные результаты вычислений частенько приходится не один раз переписывать. Работая с Maple, Вы избавлены от необходимости в возможно громоздком повторном наборе. При обращении к результату последней операции , используйте символ процента % . Приведём несколько примеров:

 
 

> 3/5+5/9+7/12;

 

313/180

> evalf(%);

1.738888889

> Pi;

Pi

> evalf(%);

3.141592654

> %+5;

8.141592654

 

For more on using the ditto symbol see Exercise 1.4 below.

Другие подробности - см. в Упражнении 1.4.

Use Maple to calculate the number 37^43.

Используя Maple, вычислить 37^43.

 
  >  
>
>
>

> 37^43;
 

Calculate sqrt(34) to 18 digits.

Вычислить sqrt(34) с точностью до 18 цифр.

 
  >  
>
>
>

Answer * 1.2 * Ответ

> m:=sqrt(34);

m := sqrt(34)

> evalf(m,18);

5.83095189484530047

 

Find a numerical approximation for the expression : (3+Pi)/(7-sqrt(13))

Получить численное приближение для (3+Pi)/(7-sqrt(13)) .

Student Workspace 1.3

Учебная площадка 1.3

 
  >  
>
>
>

Answer * 1.3 * Ответ 

> answer:=(3+Pi)/(7-sqrt(13));

answer := (3+Pi)/(7-sqrt(13))

> evalf(answer);

1.809304883

 

The percent sign ( %) is a handy shortcut but it can occasionally lead to some unexpected results.

Here is an example. First execute each of the next three lines. You should be able to predict the result in advance.

Символ процента % очень удобен для сокращения вычислительного процесса. Однако, можно получить и неожиданные (на первый взгляд) результаты. Например, прокомментируйте приведенные ниже три командные строки. На Ваш взгляд: что должно быть выведено на экран?

 

 

 

 
 

> 4+Pi;

 

4+Pi

> evalf(%);

7.141592654

> %+10;

17.14159265

 

Now go back and re-execute the last line (i.e. %+10; ). Note that the output changes from 17.14159265 to 27.14159265

Can you explain why?

А теперь вновь выполните последнюю команду (т.е. %+10; ). Заметьте, что теперь уже будет выведено 27.14159265 вместо 17.14159265 . Постарайтесь найти этому объяснение.

 
  >  
>
>
>

Answer * 1.4 *Ответ 

 

The ditto symbol (%) represents the last number calculated by Maple . So after you executed the first three lines

Символ % эквивалентен последнему полученному результату. 

% = 17.14159265 . The second time you executed the line %+10; Maple added 10 to 17.14159265 .

Повторно выполняя команду %+10; , Maple прибавляет 10 к 17.14159265

27.14159265

27.14159265

To avoid this sort of confusion assign names to each output:

Для упрощения логики вычислений советуем почаще выполнять операцию присваивания числам собственных имен:

 
 

> a:=4+Pi;

 

a := 4+Pi

> b:=evalf(a);

b := 7.141592654

> b+10;

17.14159265

 

01. 03  

Clearing Variables

"Отмывание" Переменных

Once you have defined a variable, Maple will remember its value during your entire working session. If you want to overwrite the variable with a new value, you can simply make a new assignment.

 Достаточно Вам однажды определить переменную, - и Maple будет помнить её значение на протяжении всей Вашей рабочей сессии на компьютере. Если Вам понадобилось переопределить переменную - просто выполните новую операцию присваивания.

For example each assignment below redefines the value of the variable h. (Note: to check the current value for a variable just type it followed by a semicolon.)

Например, в каждой из приведенных ниже строк в преобразованиях участвует переменная h .( Замечание : для слежения за текущим значением переменной h не забывайте заканчивать ввод символом " точка с запятой ", а не " двоеточие ".)

 
 

h;

 

h

> h:=56;

h := 56

> h;

56

> h:=sqrt(Pi);

h := sqrt(Pi)

> h;

sqrt(Pi)

 

Sometimes you will want to "clear" a variable in memory so that you can use it in a new situation.

Иногда возникает желание "очистить" переменную в памяти для того, чтобы её имя впоследствии использовать в иных целях.

Here is an example. First we assign x the value 65.

Например, присвоим переменной х значение 65 :

 
  > x:=65;  

x := 65

 

Now assume that we start a new problem and want to enter the general algebraic expression x^2-4*x+7 and assign it the name w. 

Теперь предположим, что мы, начиная решение другой задачи, желаем присвоить имя w квадратному трёхчлену x^2-4*x+7

If we just enter this, Maple automatically substitutes the previous value for x.

Если без проволочек выполнить указанную операцию присваивания, Maple не задумываясь вместо переменной х подставит её численное значение:

 
  > w:=x^2-4*x+7;  

w := 3972

 

In order to get x to be a general variable again we must first "clear" (i.e. erase from Maple's memory) our earlier value for x. This is accomplished by entering x:='x'; Note that we use single quotes here.

Чтобы переменная w предстала именно в алгебраической форме, мы должны "очистить" аргумент х от присвоенного ранее значения. На практике это означает подчистку внутренней памяти Maple. Это можно осуществить посредством операции x:='x'; . ( Не путайте только одинарные и двойные кавычки! )

Execute the next two lines to see how this works.

Чтобы увидеть, как это работает, выполните приведенные ниже командные строки:

 
  > x:='x';  

x := 'x'

> w:=x^2-4*x+7;

w := x^2-4*x+7

 

Clearing all variables at once: the restart command.

Одновременная очистка всех переменных: команда restart  

The restart command will clear Maple's memory of all definitions that you have made. It is like starting a new Maple session. If you are starting a completely new problem you can use the restart command to guarantee that there are no leftover definitions from your earlier work. 

Команда restart полностью очищает внутреннюю память Maple от всех определений, которые Вы совершили в процессе работы. Фактически, применение команды restart открывает новую Maple-сессию. Если Вы приступаете к решению совершенно новой задачи, советуем использовать restart для полной гарантии того, что предыдущие преобразования и вычисления не повлияют на её решение.

Before you execute the second line below, quickly predict the output.

Выполнив первую из предложенных ниже командных линий, постарайтесь предсказать результат выполнения второй строки:

 
 

> p:=4;

 

p := 4

> p; x; h;

4

x

sqrt(Pi)

 

You probably remembered that p was 4 and x had been reassigned to be the variable x, but you may not have remembered that h was assigned the value sqrt(Pi) . That's why it's a good idea to use restart to remove all definitions at once. (As you work through this tutorial you will notice that we start most new sections with a restart command.)

Конечно, Вы видите, что переменной р присвоено значение " 4 ", а переменная х была очищена от своего предыдущего числового значения. Но очень вероятно, что Вы уже подзабыли, что переменной h было присвоено значение sqrt(Pi) . Вот почему так соблазнительна идея частого использования команды restart , чтобы в одно мгновение очистить память Maple от "грязи" .(Если Вы будете внимательно прорабатывать материал нашей обучающей программы, то обратите внимание: большинство разделов начинается именно командой restart ) .

 
  > restart;  
> p; x; h;

p

x

h

 

С официального разрешения                    © 2002 Waterloo Maple, Inc

 

Hosted by uCoz