Основные объекты системы Scilab
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Объекты Scilab и их типы

 

К основным объектам (средствам языка программирования)Scilab можно отнести:

· данные различного типа, представленные в виде констант, скалярных переменных, матричных переменных и соответствующих операций (арифметических, отношений, логических, строковых, полиноминальных и других).

· команды, операторы и функции;

· предопределенные библиотечные функции системы Scilab;

· функции пользователей (библиотечные функции и функции, встроенные в программный код);

· файлы различных типов данных;

· библиотеки функций;

· графические объекты;

· пакеты расширения.

 

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

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

Условно иерархию типов объектов в Scilabможно представить схемой, показанной на рис. 1.2.1-1, причем каждый из представленных типов может быть матрицейm ×n ( 1×1, 1× n , m ×1, m × n ).


 

Матрицы (matrix)

Функции

Библиотеки

Логические

Boolean

Числовые

Number

Строковые

String

Списки

List

Вещественные

Double

int8

 uint8

 

T- списки

Tlist

M- списки

Mlist

 int16

 int16

 int32

 int16

 

 

 int64

 int32

 

 

Полиномы

Polinom

Рациональные дроби

             rational

Структуры

struct

Ячейки

cell

                                           

 

Рис. 1.2.1-1 Условная иерархия типов основных объектов Scilab

 

Обратите внимание, что все скалярные числа в памяти Scilab сохраняются как матрица 1×1 . Тот же принцип относится и к более сложным типам данных.

Приведенная на рис.1.2.1-1 иерархия типов объектов позволяет сделать вывод, что, элементами матриц могут быть предопределенные объекты, принимающие действительные или комплексные числовые значения, строковые значения, логические значения, полиномиальные значения, списки, структуры и ячейки и другие.

Прежде чем перейти к подробному рассмотрению основных объектов Scilab целесообразно рассмотреть некоторые системные встроенные функции, такие как: whos , who , who _ user , typeof , typeиclear. Описание этих функций приведены в Приложении 1.2, табл. 1.2.1-1.

 

Для работы с объектами в среде Scilab существует множество предопределенных переменных, которые всегда загружаются вместе со средой. Их можно посмотреть, выполнив команду whos. В результатечего в
Командном окне появляется так называемый длинный список, в котором перечислены все объекты, объявленные средой во время инициализации и которые были созданы в процессе текущей сессии. Из данного списка пользователь может получить информацию о типе объекта, его размерности и другую информацию. Именно поэтому данный список называется длинным. В этом списке присутствуют и объекты с типами, которые отображены на
рис. 1.2.1-1.

    Обратите внимание на функции type и typeof (Приложение 1.2,
табл. 1.2.1-2
), которые предназначены для получения информации о номере (все типы пронумерованы) и названии типов объектов.

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

1.2.2. Числовые выражения, их вычисления
и создание переменных

 





Числовые выражения

Числовые (математические) выражения в Scilab состоят из числовых типов данных (целочисленных и вещественных с плавающей точкой) и строятся из следующих объектов: числовых констант, переменных, встроенных математических библиотечных функций Scilab, функций пользователя, арифметических операций над матрицами (алгебраических и поэлементных), круглых скобок и специальных операций. Перечень операций Scilab, которые представляют собой различные символы или их комбинации, приведен в Приложении 1.2, табл. 1.2.2-1. Несколько примеров их использования, а также соответствующее отражение в окне Обозреватель переменных информации о созданных с их помощью переменных, представлено на рис. 1.2.2-1.

 

--> // Примеры использования специальных символов -->A = 1:5; // Двоеточие для формирования вектора -->x = 2; // Точка с запятой для запрета вывода результата -->t = '12345'; // Апостроф для создания строки символов -->d = 5; // Равно для присваивания значения переменной -->k = 0.0018; // Десятичная точка для отделения -->        // дробной части числа от целой

 

Рис.1.2.2-1 Примеры использования некоторых специальных операций

 

К числовым типам в Scilab относятся целые числа без знака, целые числа со знаком, а также числа с плавающей точкой двойной точности. По умолчанию Scilab размещает в оперативной памяти компьютера все числовые значения как значения с плавающей точкой двойной точности – double, а формат результатов математических выражений в Командном окне зависит от установленного формата в Рабочей среде или установленного формата функцией format.

 

Действительные числовые константы – это предопределенные числа (числовые значения). Числа, например, 11, -7, 12.07 являются безымянными числовыми константами. Числа могут быть представлены в целом, вещественном или в экспоненциальном виде:

 

0 5 -9 13.06 0.0025 167.9 D -7 0.99 D +40.

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

Комплексные числа – это числа, имеющие действительную и мнимую часть, причем в мнимой части имеется множитель % i, означающий корень квадратный из -1 (√-1 = i ). Например,

 

3*% i ; 3+% i *5; -% i *8; 0.05*% e -0.006*% i.

Комплексное число расширяет одномерную (линейную) область вещественных чисел в двумерную область, где комплексное число имеет на горизонтальной оси вещественную часть, а на вертикальной оси мнимую часть (рис. 1.2.2-2).

Re – вещественная ось;   Im – мнимая.

 

Рис. 1.2.2-2 Графическое представление комплексного числа

Показанный способ задания комплексного числа не всегда удобен и требует ввода знаков + , * и %i. Создание комплексного числа можно упростить, если воспользоваться функцией complex(a,b), где в качестве параметров указываются, соответственно, действительная и мнимая части числа.

Для работы с комплексными объектами существует традиционный набор функций, который представлен в Приложении 1.2.2, табл. 1.2.2-2.

Системные константы – это константы, имеющие символические имена (поименованные константы) значения и смысл которых задаются системой при загрузке. Имена всех системных констант начинаются с символа % (кроме константы ans). Например, системная константа %pi представляет число π=3.1415926… Системные константы описаны в Приложении 1.2, табл.1.2.2-3.

 

Переменные – это объекты, имеющие имена (идентификаторы). Они способны хранить разные по значению и типу данные в оперативной памяти компьютера. В зависимости от типов данных переменные могут быть числовыми, логическими, символьными, полиномиальными, структурами и ячейками и т.д. Ихимена задаются по следующим правилам:

· имена переменных могут состоять из букв латинского и русского алфавитов (верхнего и нижнего регистра) и цифр;

· имена переменных не могут начинаться с цифры, но могут начинаться с символов: %, _ (подчеркивание), #, !, $, ?;

· в именах переменных не должны входить пробелы;

· имена переменных не должны совпадать с именами других переменных или функций, то есть должно быть уникальными;

· для обозначения переменных желательно использовать содержательные имена.

 

Поскольку Scilab является матричной системой, все ее переменные являются матрицами. В Scilab принято, как и в математике, двумерный массив называть матрицей, а одномерный – вектором. Вектора, в свою очередь, могут быть вектор-строкой или вектор-столбцом. Элементы векторов и матриц являются индексированными переменными (п. 1.3.3).

Отметим, что индексы у векторов и матриц в Scilab имеют целочисленные значения, которые начинаются с 1 . Даже скалярные объекты рассматриваются как мат рицы размера 1×1 .

Матрицы характеризуются размерностью, размером матрицы и размером каждого измерения. Поэтому вектор, являясь одномерным массивом, имеет размерность 1, а матрица – размерность 2.

Для вектора размер – это число его элементов, а для матрицы размер определяется произведением числа ее строк n и столбцов m как n×m. Если число строк равно числу ее столбцов (n==m), матрица называется квадратной.

Для вектора, имеющего одно измерение, размер измерения совпадает с его размером, а для матрицы размер первого измерения – это количество элементов в столбце n, а второе – количество элементов в строке m.

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

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

Рассмотрение арифметических операций начнем с определения операции присваивания, которая является универсальной операцией для задания всех типов объектов Scilab и присваивании соответствующих значений.

 

Операция присваивания используется, как для объявления (задания типа переменной), так и задания (присваивания) значений переменной и обозначается символом «равно»:

 

       ИмяПеременной = Выражение.

 

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


Обратите внимание, что в Scilab переменные и их типы заранее не декларируются (не объявляются). Тип переменной определяется типом результата вычисленного выражения, значение которого после вычисления присваивается переменной.

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


Дата: 2019-11-01, просмотров: 374.