Uploaded by Влад Молчанов

Лабораторная работа 1 по математическим пакетам

advertisement
Федеральное агентство связи
Ордена Трудового Красного Знамени федеральное государственное
бюджетное
образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Факультет РиТ
Кафедра информатики
ЛАБОРАТОРНАЯ РАБОТА №1
«Рабочая среда Scilab и простейшие вычисления»
по Математическим Пакетам
Выполнил: Молчанов Владислав Михайлович БИК2003
Проверил: Юсков Игорь Олегович
Москва 2021 г.
1. Основы работы
с математическим пакетом Scilab
1.1. Практическое занятие по теме
«Рабочая среда Scilab и простейшие
вычисления»
Цель работы: Изучение основных элементов Рабочей среды, объектов и
правил вычислений арифметических выражений в Командном окне системы
Scilab.
1.1.1. Элементы системы Scilab, подлежащие изучению
1) Графический интерфейс пользователя и элементы Рабочей среды.
2) Правила работы в Командном окне.
3) Назначение основных окон рабочей среды: Обозревателя
переменных, Журнала команд и Обозревателя файлов при работе
в Командном окне.
4) Установка свойств Рабочей среды системы Scilab.
5) Основные объекты системы Scilab.
6) Правила записи и вычисления арифметических выражений.
7) Создание и использование в Командном окне встроенных функций
пользователя при вычислении выражений.
1.1.2. Общее задание
1) Изучить материал учебника [1] (п.п. 1.1-1.2).
2) Выбрать вариант индивидуального задания из табл. 1.1.3-1.
3) При выполнении задания вводить перед каждым пунктом задания
соответствующие комментарии.
4) Выполнить команды clear и clc для очистки окна Обозревателя
переменных и Командного окна.
5) Задать переменным x и y допустимые числовые значения.
6) Проанализировать информацию, возникшую в окне Обозреватель
переменных.
7) Ввести арифметическое выражение для вычисления и получить
результат.
8) Изменить значения исходных данных.
9) Изменить формат вывода результата, выполнив команду,
например, format(16), и произвести перерасчет выражения.
10) Изменить формат вывода данных, например,format(6).
11) Описать с помощью оператора deff функцию fd(x), правая часть
которой будет заданным арифметическим выражением, и
вычислить её значение при тех же значениях х иy.
12) Описать с помощью оператораfunctionфункцию ff(x),правая
часть которой будет заданным арифметическим выражением, и
вычислить её значение при тех же значениях х иy.
13) Изменить значение переменной y, вывести на экран значения
описанного (в п.7)арифметического выражения и функции ff(x).
14) Объяснить, почему изменение значения y не привело к изменению
значения арифметического выражения, но повлияло на значение
функции.
15) Задать диапазон изменения аргумента функции с шагом,
позволяющим получить таблицу значений функции fd(x) и
ff(x)(порядка 8-10 точек), вывести вначале значения функции
fd(х) в строку, а затем значения функции ff(х)в столбец.
16) Cохранить переменные Рабочей области, обнулить Рабочую
область, а затем восстановить ее.
17) Выполнить команду who_user и проанализировать выведенную
информацию о данных.
18) Сохранить текст рабочего окна на внешнем носителе в Word.
19) Предоставить результаты работы преподавателю и, ответить
на поставленные вопросы.
20) Оформить отчет по выполненной работе.
1) Пример индивидуального задания :
2) Результат выполнения задания :
Запуск программы:
загрузка исходного окружения
--> Практическое занятие 1.1 по теме
Неопределённая переменная: Практическое
-->// «Рабочая среда Scilab и простейшие вычисления»
--> //Задание начальных значений x и y
--> x=4.55;
--> y=1.5;
--> // Ввод арифметического выражения
--> z=((PI/3)+log(pow(x,3)))/((3*y-x)+(x*sin(pow(x,2)))
z=((PI/3)+log(pow(x,3)))/((3*y-x)+(x*sin(pow(x,2)))
^^
Ошибка: syntax error, unexpected end of file
--> z=((pi/3)+log(pow(x,3)))/((3*y-x)+(x*sin(pow(x,2)))
z=((pi/3)+log(pow(x,3)))/((3*y-x)+(x*sin(pow(x,2)))
^^
Ошибка: syntax error, unexpected end of file
--> z=((PI/3)+log(pow(x,3)))/((3*y-x)+(x*sin(pow(x,2)));
z=((PI/3)+log(pow(x,3)))/((3*y-x)+(x*sin(pow(x,2)));
^
Ошибка: syntax error, unexpected ;
--> z=((PI/3)+ln(pow(x,3)))/((3*y-x)+(x*sin(pow(x,2)))
z=((PI/3)+ln(pow(x,3)))/((3*y-x)+(x*sin(pow(x,2)))
^^
Ошибка: syntax error, unexpected end of file
--> z=((pi/3)+ln(pow(x,3)))/((3*y-x)+(x*sin(pow(x,2)))
z=((pi/3)+ln(pow(x,3)))/((3*y-x)+(x*sin(pow(x,2)))
^^
Ошибка: syntax error, unexpected end of file
--> help
--> ((%pi/3)+ln(pow(x,3)))/((3*y-x)+(x*sin(pow(x,2)))
((%pi/3)+ln(pow(x,3)))/((3*y-x)+(x*sin(pow(x,2)))
^^
Ошибка: syntax error, unexpected end of file
--> ((%pi/3)+log(pow(x,3)))/((3*y-x)+(x*sin(pow(x,2)))
((%pi/3)+log(pow(x,3)))/((3*y-x)+(x*sin(pow(x,2)))
^^
Ошибка: syntax error, unexpected end of file
--> ((%pi/3)+log(x^3)))/((3*y-x)+(x*sin(x^2)))
((%pi/3)+log(x^3)))/((3*y-x)+(x*sin(x^2)))
^^
Ошибка: syntax error, unexpected ), expecting end of file
--> (%pi/3)+log(x^3)/((3*y-x)+(x*sin(x^2))
(%pi/3)+log(x^3)/((3*y-x)+(x*sin(x^2))
^^
Ошибка: syntax error, unexpected end of file
--> ((%pi/3)+log((x)^3))/(3*y-x)+x*sin(y^2)
ans =
-108.31135
--> z=((%pi/3)+log((x)^3))/(3*y-x)+x*sin(y^2)
z =
-108.31135
--> //Изменение значений x и y
--> x=8.8;y=5.5;
--> //Изменение формата вывода результата
--> format(16);
--> //Перерасчет выражения
--> z=((%pi/3)+log((x)^3))/(3*y-x)+x*sin(y^2)
z =
-7.1052469615046
--> format(6);
--> //Описание функции fd с использованием deff
--> deff('f1 = fd(x)','f1 = ((%pi./3)+log((x).^3))./(3*yx)+x.*sin(y.^2);
deff('f1 = fd(x)','f1 = ((%pi./3)+log((x).^3))./(3*yx)+x.*sin(y.^2);
^~~~^
Ошибка: Unexpected end of file in a string.
--> deff('f1 = fd(x)','f1 = ((%pi/3)+log((x).^3))./(3*yx)+x.*sin(y.^2);
deff('f1 = fd(x)','f1 = ((%pi/3)+log((x).^3))./(3*yx)+x.*sin(y.^2);
^~~~^
Ошибка: Unexpected end of file in a string.
--> deff('f1 = fd(x)','f1 = ((%pi./3)+log((x).^3))./(3.*yx)+x.*sin(y.^2);
deff('f1 = fd(x)','f1 = ((%pi./3)+log((x).^3))./(3.*yx)+x.*sin(y.^2);
^~~~^
Ошибка: Unexpected end of file in a string.
--> deff('f1 = fd(x)','f1 = ((%pi./3)+log((x).^3))./(3*yx)+x.*sin(y.^2)');
--> //Вызов функции fd и вычисление ее значения
--> f1=fd(x)
f1 =
-7.105
--> //Описание функции ff с использованием function
--> function [f2]=ff(x)
> f2=((%pi./3)+log((x).^3))./(3*y-x)+x.*sin(y.^2)');
> end
> //Вызов функции ff и вычисление ее значения
f2=((%pi./3)+log((x).^3))./(3*y-x)+x.*sin(y.^2)');
^^
Ошибка: syntax error, unexpected ), expecting end or
endfunction
--> f2=(((%pi./3)+log((x).^3))./(3*y-x)+x.*sin(y.^2)');
--> end
end
^~~^
Ошибка: syntax error, unexpected end
--> f2=(((%pi./3)+log((x).^3))./(3*y-x)+x.*sin(y.^2)');
--> f2=ff(x)
Неопределённая переменная: ff
--> function [f2]=ff(x)
> f2=(((%pi./3)+log((x).^3))./(3*y-x)+x.*sin(y.^2)');
> end
--> f2=ff(x)
f2 =
-7.105
--> //Изменение значения y
--> y=0.1;
--> //Вычисление значения выражения при новом значении y
--> z
z =
-7.105
--> //Вычисление значения выражения при новом значении y
--> f2=ff(x)
f2 =
-0.803
--> f2=ff(x)
f2 =
-0.803
--> //Задание диапазона изменения переменной x
--> x=2:0.2:3.8
x =
2. 2.2 2.4 2.6 2.8 3. 3.2 3.4 3.6 3.8
--> //Вычисление функции fd для заданного диапазона
аргумента и вывод полученного результата в строку
--> fd(x)
ans =
column 1 to 9
-1.819 -1.774 -1.725 -1.676 -1.626 -1.579 -1.532 -1.488 1.446
column 10
-1.405
--> //Вычисление функции ff для заданного диапазона
аргумента х и вывод в столбец
--> ff(x)'
ans =
-1.819
-1.774
-1.725
-1.676
-1.626
-1.579
-1.532
-1.488
-1.446
-1.405
--> who
Ваши переменные:
%e
%eps
%fftw
%gui
%i
%inf
%io
%nan
%pi
%s
%tk
%z
PWD
SCI
SCIHOME
TMPDIR
WSCI
annealinglib
ans
arnoldilib
assertlib
atomsguilib
atomslib
cacsdlib
compatibility_functilib
consolelib
corelib
data_structureslib
datatipslib
deff
demo_toolslib development_toolslib
differential_equationlib
dynamic_linklib
elementary_functionslib
enull
evoid external_objectslib
f1
f2
fd
ff
fileioguilib
fileiolib
functionslib
geneticlib
graphicslib
guilib
help
helptoolslib
home
integerlib
interpolationlib
iolib
jnull
jvmlib
jvoid
linear_algebralib
m2scilib
matiolib
modules_managerlib
neldermeadlib
optimbaselib
optimizationlib
optimsimplexlib
output_streamlib
overloadinglib
parameterslib
polynomialslib
preferenceslib
randliblib
scicos_autolib
scicos_scicoslib
scicos_utilslib
scinoteslib signal_processinglib
soundlib
sparselib
special_functionslib
spreadsheetlib
statisticslib
stringlib
tclscilib
timelib
uitreelib
umfpacklib
webtoolslib
windows_toolslib
x
xcoslib
xmlGetValues
xmllib
y
z
используется
0 элементов из
7993.
и
94 переменных из
0.
Ваши глобальные переменные:
%helps %modalWarning
%toolboxes %toolboxes_dir
используется
0 элементов из
и
4 переменных из
0.
--> whos
Название
%e
%eps
%fftw
%gui
%helps
%i
%inf
%io
Тип
constant
constant
boolean
boolean
constant*
constant
constant
constant
Размер
1x1
1x1
1x1
1x1
0x0
1x1
1x1
1x2
7993.
Байт
216
216
212
212
208
224
216
224
%modalWarning
boolean*
1x1
212
%nan
constant
1x1
216
%pi
constant
1x1
216
%s
polynomial 1x1
264
%tk
boolean
1x1
212
%toolboxes
constant* 0x0
208
%toolboxes_dir
string*
1x1
282
%z
polynomial 1x1
264
annealinglib
library
1190
ans
constant
10x1
288
arnoldilib
library
336
assertlib
library
1142
atomsguilib
library
466
atomslib
library
2488
cacsdlib
library
10106
compatibility_functilib library
9610
consolelib
library
338
corelib
library
1184
data_structureslib
library
954
datatipslib
library
1314
deff
function
2665
demo_toolslib
library
1134
development_toolslib library
922
differential_equationlib library
784
dynamic_linklib
library
1816
elementary_functionslib library
7026
enull
_EObj
?
884
evoid
_EVoid
?
886
external_objectslib library
414
f1
constant
1x1
216
f2
constant
1x1
216
fd
function
1061
ff
function
1088
fileioguilib
library
872
fileiolib
library
998
functionslib
library
1090
geneticlib
library
1662
graphicslib
library
10536
guilib
library
1114
help
function
6368
helptoolslib
library
1420
home
string
1x1
252
integerlib
library
3240
interpolationlib
library
502
iolib
library
554
jnull
_EObj
?
884
jvmlib
library
488
jvoid
_EVoid
?
886
linear_algebralib
library
2560
m2scilib
library
536
matiolib
library
474
modules_managerlib
library
2110
nargin
constant
1x1
216
nargout
constant
1x1
216
neldermeadlib
library
2706
optimbaselib
library
2478
optimizationlib
library
1094
optimsimplexlib
library
3164
output_streamlib
library
342
overloadinglib
library
39288
parameterslib
library
702
polynomialslib
library
1802
preferenceslib
library
446
PWD
string
1x1
272
randliblib
library
688
SCI
string
1x1
264
scicos_autolib
library
468
scicos_scicoslib
library
9260
scicos_utilslib
library
976
SCIHOME
string
1x1
318
scinoteslib
library
448
signal_processinglib library
3778
soundlib
library
sparselib
library
special_functionslib library
spreadsheetlib
library
statisticslib
library
stringlib
library
tclscilib
library
timelib
library
TMPDIR
string
1x1
uitreelib
library
umfpacklib
library
webtoolslib
library
whos
function
windows_toolslib
library
WSCI
string
1x1
x
constant
1x10
xcoslib
library
xmlGetValues
function
xmllib
library
y
constant
1x1
z
constant
1x1
990
1014
736
342
2612
1054
5024
812
324
1010
784
288
18484
348
264
288
2016
11136
416
216
216
//конец сессии
Контрольные вопросы
1. 1) Строка меню, является элементом управления, обеспечивающим доступ ко всем
функциональным возможностям программы:
Файл, Правка, Управление, Инструменты, Справка. Более подробно все категории
строки меню будут рассмотрены ниже.
2) Панель инструментов позволяет выполнить команды:
Открыть SciNotes , Открыть файл, Вырезать, Скопировать, Вставить, Очистить
командное окно, Печать, Управление модулями, Xcos , Настройки Scilab , Примеры
и Справочная. Все команды отображаются на панели в форме кнопок с
соответствующим изображением, подсказывающим их назначение.
3) Командное Окно отображает вводимые команды, результаты их выполнения, а также
сообщения об ошибках.
4) Окно Обозреватель переменных отображает содержимое рабочего пространства
объектов Scilab, и, позволяет выполнять определенные действия с объектами этого
пространства (скалярными переменными, векторами, матрицами, функциями и др.).
5) Окно Журнал команд осуществляет просмотр и повторный вызов ранее введенных
команд.
6) Окно Обозреватель файлов предназначен для просмотра путей доступа файловой
системы. В нем перед работой в Scilab с конкретным файлом (чтение или запись файла на
внешний носитель), расположенным в определенной папке, необходимо указать путь
7)
8)Сессия.
9)Сделать два клика.
10)Сделать два клика в окне журнала команд, а далее заменить в табличке переменную.
11) является основным инструментом для записи, сохранения и выполнения сценариев
(программ).
12) Зайти в настройки scilab далее выбрать шрифты и менять их.
13) Для уточнения тех или иных тем, которые вызывают у пользователя сомнения .
14) Кликнуть на символ вопросика в командном окне.
15) F1
16) Вернется первая или предыдущая строка.
17);
18)…
19) 6.
20) любой
21) Описание функции с помощью deff используется, как правило, если функция имеет
один или два выходных параметра, а выражения для их вычислений достаточно короткие.
В противном случае описание функции либо полностью не видно в Командном окне,
либо строка должна быть перенесена с использованием символов три точки (…), что
затрудняет чтение и контроль за правильностью ввода. Громоздкие выражения принято
вычислять по частям, но тогдадля вычисления значения одного выходного параметра
требуется не один, а несколько операторов, что не соответствует формату описания
функции с помощью deff. Описание функции с помощью function в данном случае
предпочтительнее, поскольку оно может занимать несколько строк.
Download