Базовые вычисления в Scilab

Краткие теоретические сведения

 

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

Данные – константы и переменные – записываются по общепринятым правилам. Они делятся на пользовательские и системные.

Основные системные переменные и константы, применяемые в Scilab:

%i или %j – мнимая единица (корень квадратный из –1);

%pi – число p=3,1415926…;

%inf – значение машинной бесконечности;

%e – число e=2.7182818;

ans – результат выполнения последней операции.

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

Например:

5 -45 - целые константы.

2.301 -897.999 - вещественные константы.

125.35е-25 17.06e-12 - вещественные константы с указанием мантиссы и порядка числа.

Символьная константа представляет собой набор символов, заключенных в двойные кавычки. Например: “Курить вредно!”, “Задайте элементы массива”.

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

Например:

L=2*pi*r // Вычисление длины окружности

//Программа табулирования функции

Имя переменной (идентификатор) должно соответствовать следующим требованиям:

- должно начинаться с буквы,

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

- Scilab различает большие и малые буквы.

Примеры допустимых имен переменных:

V1, sp, prim4, sum, rez1.

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

Ниже приведен перечень основных арифметических операций.

Название Знак операции Пример
Сложение + x+y
Вычитание - x-y
Умножение * x*y
Возведение в степень ^ x^5
Обратное (справа налево) деление матриц \ x\y
Деление матриц слева направо / x/y

В Scilab приоритет возведения в степень выше приоритетов умножения и деления, приоритет умножения и деления выше приоритета сложения и вычитания. Для изменения приоритета операций в математических выражениях используются круглые скобки. Степень вложения скобок не ограничивается.

Ниже приводятся некоторые часто употребляемые математические функции.

Описание Имя Описание Имя
Абсолютная величина abs(x) Синус sin(x)
Экспонента exp(x) Тангенс tan(x)
Натуральный логарифм log(x) Котангенс cot(x)
Знак числа sign(x) Арккосинус acos(x)
Десятичный логарифм log10(x) Арксинус asin(x)
Корень квадратный sqrt(x) Арктангенс atan(x)
Косинус cos(x) Арккотангенс acot(x)

Приведем примеры записи арифметических выражений в системе Scilab.

Запись в математике: Запись в Scilab:   cos(x^2)/(x+sin(x)^3)+exp(-2.1) (1.2-2*x)/log10(x+3.2)-sqrt(abs(x-5.8))

Одним из основных операторов в Scilab является оператор присваивания. В программе этот оператор выполняет следующие функции - присваивает переменной, стоящей слева от знака «=» значение выражения, стоящего справа.

Общий вид оператора присваивания:

Имя_переменной = Выражение

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

Ниже приведен пример правильной записи оператора присваивания.

A = cos(x)+c-d^2*p^2+4.92

В SciLab в качестве оператора ввода используется функция input, которую, в силу ее значимости при программировании, принято называть оператором.

Она имеет следующий общий вид:

ИМЯ = input(Символьная константа)

Здесь ИМЯ –это имя простой переменной, Символьная константа –любой набор символов, заключенный в двойные кавычки. Символьная константа, как правило, разъясняет смысловое назначение вводимой переменной. Например:

S=input(“Задайте площадь”)

A=input(“Задайте значение А=”)

Оператор выполняется следующим образом: в командном окне выводится набор символов, стоящий в скобках после input (символьная константа), выполнение программы приостанавливается, и компьютер переходит в режим ожидания; пользователь вводит константу и введенная константа помещается в оперативной памяти в переменную, стоящую слева в операторе input.

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

Если необходимо вывести данные на экран дисплея в определенной последовательности, применяется функция disp, которую принято называть оператором вывода. Оператор имеет следующий общий вид:

Disp( Выражение )

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

Каждый новый оператор disp выполняет вывод с новой строки командного окна, например (переменным a, b, k, d уже присвоены числовые значения):

Фрагмент программы c=a-b+k*d; disp ('результат='), disp(c); Командное окно результат=

Практическая часть

 

Задание 1. Вычисление арифметических выражений с присваиванием

Постановка задачи. Присвоить значения переменным и вычислить значение арифметического выражения с использованием оператора присваивания.

y = x =51,6 a = 3,8 b = 0,14 c =4,13

 

Последовательность выполнения задания такова.

Шаг 1. Создать программу и записать ее в редакторе SciNotes.

Шаг 2. Записать программу в файл на диск с именем, содержащим тип .sce, например, zadanie1.sce.

Шаг 3.Запустить программу на выполнение.

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

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

 

Программа x=51.6 a=3.8 b=0.14 c=4.13 y=abs(cos(x)^2/(b*x-a*b*c)) disp("результат =") disp(y) Командное окно результат = 0.0109008

Индивидуальные задания приведены в таблице 2.1.

 

Таблица 2.1