Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

_1_учебн_пособ_SciLab

.pdf
Скачиваний:
35
Добавлен:
20.04.2015
Размер:
142.82 Кб
Скачать

1.ВВЕДЕНИЕ В SCILAB 1.1. Что такое SciLab?

SciLab – система компьютерной математики, предназначенная для инженерных и научных вычислений. SciLab является аналогом более мощной, но дорогой системы MatLab.

Преимущества SciLab по сравнению с другими подобными системами:

1.SciLab – свободно распространяемая программа.

2.Существуют версии SciLab для операционных систем Windows и Linux.

3.SciLab ориентирован на работу с комплексными матрицами больших размеров, в нём предусмотрены специальные операции и действия с векторами, матрицами и многомерными массивами.

4.SciLab имеет простой и мощный язык программирования, а также позволяет создавать приложения с графическим интерфейсом, которые запускаются из среды SciLab.

5.В SciLab имеются развитые средства графики.

6.SciLab имеет большой набор математических функций, в том числе для задач линейной алгебры, нелинейных уравнений, задач оптимизации, для

решения дифференциальных уравнений, для обработки экспериментальных данных .

7.

1.2. Работа в основном окне

После запуска SciLab в окне появляется приглашение для ввода -->.

После приглашения можно набирать команду, выражение или функцию и нажимать клавишу <Enter> для получения результата.

Редактировать можно только последнюю строку ввода.

Курсорные клавиши и позволяют выдать в строку ввода ранее или позднее введённые команды.

Дробная часть десятичных вещественных чисел отделяется от целой части точкой 3.5 (а не 3,5).

Очень большие и очень малые вещественные числа могут быть записаны в экспоненциальной форме с указанием мантиссы и порядка числа. Например,

число 1,23 10 24

в экспоненциальной форме записывается следующим об-

разом: 1.23d-24 (или 1.23е-24)

 

1.3. Переменные

Для задания переменным значения используется операция присваивания:

F = 2.67*5

<Enter>

После нажатия на клавишу Enter SciLab выдаст ответ:

F =

13.35

2

Для блокировки вывода результата выражения после него ставится точка с запятой:

F = 100; <Enter>

Здесь после нажатия на клавишу Enter переменная F получит новое значение, но результат выводиться не будет.

Переменные сохраняются в рабочем пространстве, пока не будут явно изменены или уничтожены.

Для просмотра значения любой переменной достаточно набрать её имя и нажать клавишу Enter.

F<Enter>

F=

100.

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

str='mother' str =

mother

На имена переменных накладываются следующие ограничения:

1)Имя переменной не должно совпадать с именами встроенных функций, команд и переменных

2)используются только латинские буквы, цифры и символ подчёркивания

3)имя должно начинаться с буквы

4)большие и малые буквы в именах различаются

Если не задана переменная для сохранения значения выражения, SciLab даёт ей имя ans, и её можно использовать в последующих выражениях.

3 + 5

<Enter>

ans =

8.

ans * 5

<Enter>

ans =

40.

 

 

1.4. Некоторые команды

clc – стирает содержимое командного окна. Однако эта команда не уничтожает переменные, заданные пользователем.

who – выводит список заданных и системных переменных, входящих на данный момент в рабочее пространство.

whos – выводит список переменных c указанием их размера, типа и объёма занимаемой памяти.

Если нет необходимости хранть переменные, их следует удалить из памяти.

3

сlear имя1 имя2 – удаляет из рабочего пространства переменные с именами имя1 и имя2.

сlear – удаляет все переменные из рабочего пространства.

По любой команде можно получить справку на английском языке help

имя_команды

1.5. Некоторые системные константы

%i – мнимая единица

%pi – число = 3.1415926 %e – число e = 2.7182818

%T – логическое значение «истина» %F – логическое значение «ложь»

%inf – машинный символ бесконечности ( ) %nan – неопределённое значение

%eps – условный ноль %eps = 2.220d-6

1.6.Некоторые математические функции

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

factorial(x) факториал ( x — целое число)

Тригонометрические

sin(x)

синус

asin(x)

арксинус

cos(x)

косинус

acos(x)

арккосинус

tan(x)

тангенс

atan

арктангенс

cotg(x)

котангенс

Экспоненциальные

exp(x) экспонента (ex )

log (x) натуральный логарифм log10(x) десятичный логарифм sqrt(x) квадратный корень. log2(x) логарифм по основанию 2

Комплексные

abs (x) абсолютное значение (модуль)

complex(x,y) создаёт комплексное число из 2 значений x и y conj(x) комплексное сопряжение

imag(x) мнимая часть комплексного числа

real (x) вещественная часть комплексного числа Округление и целая часть.

round(x) округляет до целого

4

int (x) целая часть числа modulo(x,y) остаток от деления x на y

1.7. Арифметические операции и выражения

Наиболее часто используемые арифметические операции + – сложение

– вычитание * – умножение / – деление

^ – возведение в степень

В SciLab можно получать значения арифметических выражений любой сложности.

Например, для расчёта значения F cos 3 (a b)e2 используется запись

F=cos(%pi/3)+(a-b)*%e^2

Арифметические выражения в SciLab выполняются слева направо с учётом старшинства операций (см. 4.3) и круглых скобок.

Если выражение длинное, то его можно закончить тремя точками ... и продолжить в другой строке.

Вопросы и задания к главе 1

1.Приведите математическую запись числа 23.45e-4 в SciLab.

2.Как разбить длинное арифметическое выражения на две строки?

3.Как повторить предыдущую команду в основном окне SciLab?

4.Для чего SciLab использует имя ans ?

5.Как заблокировать вывод значения текущего выражения?

6.Какие преимущества имеет система SciLab?

7.Перечислите основные требования к именам переменных.

8.Какие среди перечисленных имён переменных недопустимы? а) cin, PaP, 2x2, x^, loK, ss3s

б) пр, СaPр, xy, CO!, yoK, data

в) DOUB)(X, COLOR_prm, Int, CO-DB, CO_DB, CO DB, nata г) ccout, #vv, Zod__, P5p0p1, SASHA_IVANOV, Z*D

д) Xlogx, sqrt, p5p, v_, _5y, 5y, xyx_pp е) Ф5, drz_p50, PyPz, Tan, _y5y, _60y

ж) Дinc, Vasja, ly, Zeb, FF_FF50, Ff5f5, _ppz

з) Xyx, ZzZ, z*, pr_long, log, _vld, char

8.Как очистить содержимое основного окна?

9.Какая команда выводит список всех используемых переменных?

10.Как удалить ранее созданные переменные из рабочего пространства?

11.Как получить справку по команде?

5

12.Какая функция находит остаток от деления одного значения на другое?

13.Назовите функцию для округления числа до ближайшего целого.

14.Напишите название функции, которая находит целую часть от значения.

15.Какая функция используется для получения модуля ?

16.Что означает запись %i в выражениях SciLab?

17. Как записывается математическая константа ?

18.Что означает запись %e в выражениях SciLab?

19.Как записывается логическая константа «ложь» ?

20.Напишите следующие выражения по правилам SciLab:

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

ab c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а)

x

2

b

 

 

e

bx

a

 

;

б)

 

 

 

 

 

 

 

;

cos

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

kx

 

2

3x f

 

 

 

 

 

cos xa

a

2

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

sin

 

 

 

 

k

 

 

 

b

 

308 k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в)

д)

ж)

и)

etgkx a / x

 

 

 

 

 

 

 

 

 

 

51x

;

 

lg

 

 

 

x

 

 

 

a

 

 

x

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

z4

 

 

 

ln(a b) tg x

 

17x

 

;

 

 

a ebx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z 3

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f 3x

 

 

 

 

f

5

 

a

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

;

 

 

sin

 

 

ak

 

 

 

 

 

a ekx

 

 

 

 

 

 

 

 

 

 

 

5

 

cosdx

sin

k z

;

 

0,7k

 

 

 

 

 

 

 

 

 

 

 

 

3e

 

 

 

 

 

 

 

 

 

 

 

 

kx

 

г)

е)

з)

к)

 

a2 3b2с

 

 

a a3 b

 

 

 

 

3x

;

 

 

x sin k

 

 

 

 

e2 x b

 

 

 

 

 

 

 

 

 

 

a b

 

 

 

ln e kx

 

;

 

 

 

 

 

 

 

 

 

 

kx

 

k 3

 

 

 

 

 

 

 

(ax b)2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

lg 4x b

 

3 (a b)2

 

;

 

 

ebx sin2 i

 

 

 

 

 

 

 

 

 

 

tg2k

 

 

 

 

 

5

a2 x

 

b

 

 

1,7 ea ln3x .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

kb