Меню
Разработки
Разработки  /  Математика  /  Мероприятия  /  11 класс  /  3d построения в scilab

3d построения в scilab

В данном документе описано построение математических задач в SCILAB.

29.03.2017

Содержимое разработки

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ ИНСТИТУТ

ИМЕНИ М. Е. ЕВСЕВЬЕВА»




Физико-математический факультет


Кафедра информатики и вычислительной техники




Реферат



3D построения в Scilab





Выполнила: Г.Н.Парфенова, студентка V курса группы МДИ-112

очной формы обучения


Направление: 44.03.05 «Педагогическое образование»,

профиль «Информатика. Математика»


Проверила: Т.В. Кормилицына, к.физ-мат. н., доцент









Саранск 2017

Что такое Scilab?



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

• решение нелинейных уравнений и систем;

• решение задач линейной алгебры;

• решение задач оптимизации;

• дифференцирование и интегрирование;

• задачи обработка экспериментальных данных (интерполяция и аппроксимация, метод наименьших квадратов);

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

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

Среда Scilab

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

--

После которого расположен активный (мигающий) курсор. Рабочую область со знаком приглашения обычно называют командной строкой. Ввод команд в Scilab осуществляется с клавиатуры. Нажатие клавиши Enter заставляет систему выполнить команду и вывести результат. Понятно, что все выполняемые команды не могут одновременно находиться в поле зрения пользователя. Поэтому, просмотреть ту информацию, которая покинула видимую часть окна можно, если воспользоваться стандартными средствами просмотра информации в окне Windows, например, полосами прокрутки или клавишами перемещения курсора Page Up, Page Down. Клавиши «Стрелку вверх» ↑ и «Стрелка вниз» ↓ так же управляют курсором. Эти клавиши позволяют вернуть в командную строку ранее введенные команды или другую входную информацию, так как вся эта информация сохраняется в специальной области памяти. Так, если в пустой активной командной строке нажать клавишу ↑, то появится последняя вводимая команда, повторное нажатие вызовет предпоследнюю и так далее. Клавиша ↓ выводит команды в обратном порядке. Таким образом, можно сказать, что вся информация в рабочей области находится или в зоне просмотра или в зоне редактирования. Важно знать, что в зоне просмотра нельзя ничего исправить или ввести. Единственная допустимая операция это выделение информации с помощью мыши и копирование ее в буфер обмена, например, для дальнейшего помещения в командную строку. Зона редактирования это фактически командная строка. В ней действуют элементарные приемы редактирования:

• → – перемещение курсора вправо на один символ;

• ← – перемещение курсора влево на один символ;

• Home – перемещение курсора в начало строки;

• End – перемещение курсора в конец строки;

• Del – удаление символа после курсора;

• Backspace ← – удаление символа перед курсором.

Выполнение элементарной команды в Scilab

Кроме того, существуют особенности ввода команд. Если команда заканчивается точкой с запятой «;», то результат ее действия не отображается в командной строке. В противном случае, при отсутствии знака «;», результат действия команды сразу же выводится в рабочую область

--2.7*3+3.14/2

ans = 9.67 --

2.7*3+3.14/2;

--

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

Функция roots(p) предназначена для решения алгебраического уравнения. Здесь p это полином созданный функцией poly и представляющий собой левую часть уравнения P(x)=0. Решим несколько алгебраических уравнений .

ЗАДАЧА: Найти корни полинома 2x 4 -8x 3+8x 2 -1=0.

Для решения этой задачи необходимо задать полином р. Сделаем это при помощи функции poly, предварительно определив вектор коэффициентов V. Обратите внимание что в уравнении отсутствует переменная x в первой степени это означает что соответствующий коэффициент равен нулю :

--V=[-1 0 8 -8 2]; --

p=poly(V,'x','c')

p = 2 3 4

1 + 8x - 8x + 2x



Теперь найдем корни полинома : --

X=roots(p)

X =

0.4588039

- 0.3065630

1.5411961

2.306563

Задача: Найти решение уравнения y(x)=0, если y(x)=x 4 -18x 2+6.

Решение этой задачи отличается лишь способом определения полинома

--x=poly(0,'x');

--y=x^4-18*x^2+.6;

--roots(y)

ans =

0.1827438

- 0.1827438

- 4.2387032

4.2387032

Построение двумерных графиков

Задача: Построение графика функции y = sin(cos(x)) с помощью функции plot

Построить график функции y = sin(cos(x)) с помощью функции plot. Пусть x изменяется на интервале [−2π;2π] с шагом 0,1. Сформируем массив X. Вычисляя значение функции y = sin(cos(x)) для каждого значения массива X, создадим массив Y . Затем воспользуемся функцией plot(x,y) для построе- ния кривой и выведем с ее же помощью подписи координатных осей ’X’, ’Y’, а также имя графика ’plot function y=sin(cos(x)).

Задача: Построить в одних координатных осях графики функций y = sin( x 2 ), z = cos(x) и v = exp(cos(x)).

Для построения заданных кривых в одних координатных осях необходимо в качестве аргументов функции plot попарно, через запятую, указать имя мас- сива первого аргумента и имя массива первой функции, имя массива второго аргумента и имя массива второй функции и т. д. В нашем случае обращение к функции plot будет иметь вид plot(x,y,x,z,x,v).

Задача: Построить графики функций y = sin(x), z = cos(x), u = cos(sin(x)), v = sin(cos(x)), w = exp(sin(x)) и r = exp(cos(x)) в одном графическом окне, каждый в своей системе координат, используя команду subplot.

Пусть x изменяется на интервале [−10 : 10] с шагом 0,01. Сформируем мас- сивы значений функций Y , Z, U, V , W, R. C помощью функции subplot разбиваем графическое окно на заданное ко- личество областей. Определимся, что в каждом столбце по вертикали должно быть 3, а по горизонтали 2 области для вывода графиков. Третье число в записи функции subplot указывает, в которую из областей (счет ведется по порядку — слева направо и сверху вниз) выводится график, фор- мируемый функцией plot(x,y).

Оформление графиков при помощи функции plot

Установить желаемый вид и цвет графика можно, используя полную форму обращения к функции plot: plot(x1, y1, s1, x2, y2, s2, ..., xn, yn, sn) где x1, x2, ..., xn — массивы абсцисс графиков; y1, y2, ..., yn — массивы ординат графиков; s1, s2, ..., sn — строка, состоящая из трех символов, которые определяют со- ответственно цвет линии, тип маркера и тип линии графиков (см. табл. 4.1– 4.3), в строке могут использоваться один, два или три символа одновремен- но в любой желаемой комбинации.

Задача: Построим графики функций y = sin( x 2 ), z = cos(x) и v = e (cos(x))

В качестве примера построим графики функций y = sin( x 2 ), z = cos(x) и v = e (cos(x)) в одних координатных осях и независимо определим внешний вид каж- дого графика. Пусть график функции y = sin( x 2 ) будет штриховым, z = cos(x) — черного цвета, с маркером в виде звездочки, v = exp(cos(x)) — штриховым, крас- ного цвета, с маркером в виде точки



Построение графиков в полярной системе координат

Полярная система координат состоит из заданной фиксированной точки O — полюса, концентрических окружностей с центром в полюсе и лучей, выходящих из точки O, один из которых OX — полярная ось. Расположение любой точки M в полярных координатах можно задать поло- жительным числом ρ = OM (полярный радиус), и числом ϕ, равным величине угла XOM (полярный угол). В Scilab для формирования графика в полярной системе координат необхо- димо сформировать массивы значений полярного угла и полярного радиуса, а затем обратиться к функции polarplot: polarplot(fi,ro,[key1=value1,key2=value2,...,keyn=valuen]), где fi — полярный угол; ro — полярный радиус; keyn=valuen — последовательность значений свойств графика.

Задача: Пример построения графиков функций в полярной системе координат
Полярные графики функций ρ = 3cos(5ϕ), ρ1 = 3cos(3ϕ)

Определив диапазон и шаг изменения полярного угла, формируем массивы fi, ro. Поочередно строим заданные кривые с помощью функции polarplot, при этом для линии графика функции ro установим красный цвет, а для функции ro1 — синий.

Построение трехмерных графиков в Scilab

В Scilab поверхность можно построить с помощью функций plot3d или plot3d1. Их отличие состоит в том, что plot3d строит поверхность и заливает ее одним цветом, а plot3d1 — поверхность, каждая ячейка которой имеет цвет, за- висящий от значения функции в каждом соответствующем узле сетки.

Обращение к функциям следующее: plot3d(x,y,z,[theta,alpha,leg,flag,ebox][keyn=valuen]), plot3d1(x,y,z,[theta,alpha,leg,flag,ebox][keyn=valuen]),

здесь x — вектор-столбец значений абсцисс; y — вектор-столбец значений ординат; z — матрица значений функции; theta, alpha — действительные числа, которые определяют в градусах сфери- ческие координаты угла зрения на график. Попросту говоря, это угол, под которым наблюдатель видит отображаемую поверхность; leg — подписи координатных осей графика — символы, отделяемые знаком @. Например, ’X@Y@Z’. flag — массив, состоящий из трех целочисленных параметров: [mode,type,box]. Здесь mode — устанавливает цвет поверхности. По умолчанию равен 2 — цвет заливки синий, прямоугольная сетка выводится.

type — позволяет управлять масштабом графика.

box — определяет наличие рамки вокруг отображаемого графика.

ebox — определяет границы области, в которую будет выводиться поверхность, как вектор [xmin, xmax, ymin, ymax, zmin, zmax]. Этот параметр может использоваться только при значении параметра type=1.

keyn=valuen — последовательность значений свойств графика key1=value1, key2=value2, ..., keyn=valuen, таких как толщина линии, ее цвет, цвет заливки фона графического окна, наличие маркера и др.

Таким образом, функции plot3d (plot3d1) в качестве параметров необходимо передать прямоугольную сетку и матрицу значений в узлах сетки.

Функции meshgrid, surf и mesh

Для формирования прямоугольной сетки впервые в Scilab 4.0 появилась функция meshgrid. Обращение к ней имеет вид:

[X, Y [Z]] = meshgrid(x, y [z])

здесь (x, y [z]) — массивы 2 (3) исходных параметров X, Y (Z), указываемые через запятую; [X, Y [Z]] — матрицы в случае 2 и массивы в случае 3 входных величин. После формирования сетки вывести в нее график можно с помощью функ- ции surf либо mesh. Так же, как и в случае с функциями plot3d и plot3d1, surf строит поверхность, заливая каждую ячейку цветом, который зависит от конкретного значения функции в узле сетки, а mesh заливает ее одним цветом. Таким образом, mesh является полным аналогом функции surf со значением параметров Сolor mode=индекс белого цвета в текущей палитре цветов и Сolor flag=0. Обращение к функциям имеет вид: surf([X,Y],Z,[color,keyn=valuen]) mesh([X,Y],Z,[color,]) здесь X,Y — массивы, задающие прямоугольную сетку; Z — матрица значений функции; color — матрица действительных чисел, устанавливающих цвет для каждого уз- ла сети; keyn=valuen — последовательность значений свойств графика key1=value1, key2=value2, ..., keyn=valuen, определяющих его внешний вид (см. параграф 4.6). Конечно, в том случае, если прямоугольная сетка была построена командой meshgrid, необходимости указывать параметры X,Y нет. В самом простейшем случае к функции surf можно обратиться так — surf(z).

Функции plot3d2 и plot3d3 являются аналогами функции plot3d, поэтому имеют такой же синтаксис: plot3d2(x,y,z,[theta,alpha,leg,flag,ebox][keyn=valuen]), plot3d3(x,y,z,[theta,alpha,leg,flag,ebox][keyn=valuen]) Эти функции предназначены для построения поверхности, которая задается набором граней. Т. е. если функция plot3d по входным данным сможет постро- ить лишь отдельно стоящие друг от друга плоские грани, то plot3d2 (plot3d3) проинтерпретирует взаимное расположение этих граней в виде цельного геомет- рического тела. Отличие функций plot3d2 и plot3d3 сходно с различием действия функций plot3d и plot3d1, а также surf и mesh. Plot3d2 строит поверхность, при этом выводит сетку и заливает все ячейки одним из цветов, по умолчанию — синим.

Функции param3d и param3d1

Для построения параметрической кривой в Scilab существует команда param3d: param3d(x,y,z,[theta,alpha,leg,flag,ebox]).

Затем обратимся к функции param3d, передав ей математические выражения функций y, y1 и y2, а также углы в градусах, под которыми наблюдатель будет видеть формируемый график — 45 и 35.

Для вывода нескольких параметрически заданных кривых в одних коорди- натах в Scilab используется функция param3d1. Она имеет несколько отличный синтаксис: param3d1(x,y,list(z,colors),[theta,alpha,leg,flag,ebox]) Здесь впервые появляется необходимость использования конструкции list(z,colors), которая позволяет не только задавать Z-координату для каж- дой из кривых, но и устанавливать для них желаемый цвет.

Функция hist3d

Для построения трехмерных гистограмм в Scilab используется функция hist3d: hist3d(f,[theta,alpha,leg,flag,ebox]) Здесь f — матрица (m : n), задающая гистограмму f(i,j) = F(x(i),y(j)). Параметры theta,alpha,leg,flag,ebox управляют теми же свойствами, что и у функции plot3d.

Для формирования матрицы входных данных воспользуемся командой rand. Напомним, чтобы создать матрицу размером (m,n), необходимо использовать конструкцию rand(m,n)







































Список использованных источников



  1. Интерактивные системы Scilab, Matlab, Mathcad : учебное пособие / И.Е. Плещинская, А.Н. Титов, Е.Р. Бадертдинова, С.И. Дуев ; Министерство образования и науки России, Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Казанский национальный исследовательский технологический университет». - Казань : Издательство КНИТУ, 2014. - 195 с. : табл., ил. - Библиогр. в кн. - ISBN 978-5-7882-1715-4 ; То же [Электронный ресурс]. - URL: http://biblioclub.ru/index.php?page=book&id=428781 (30.09.2016).

  2. Усачев, А.Е. Информатика : учебно-практическое пособие / А.Е. Усачев ; Министерство образования и науки Российской Федерации, Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет", Институт дистанционного и дополнительного образования. - Ульяновск : УлГТУ, 2013. - 121 с. : ил., табл., схем. - Библ. в кн. - ISBN 978-5-9795-1173-3 ; То же [Электронный ресурс]. - URL:http://biblioclub.ru/index.php?page=book&id=363088 (30.09.2016).

  3. Алексеев, Е.Р., Чеснокова, О.В. Scilab теория и практика. Донецк – 2007. – 159с.

  4. Андриевский А.Б., Андриевский Б.Р., Капитонов А.А., Фрадков А.Л. РЕШЕНИЕ ИНЖЕНЕРНЫХ ЗАДАЧ В SCILAB – С.Питербург. – 97 с.

  5. Бакусов, Л. М., Кондратьева, О. В. Решение задач оптимизации средствами Scilab и Excel. – Уфа. – 2011. – 33 с.

  6. Алексеев, Е. Р., Чеснокова, О. В., Рудченко, Е. А. Scilab Решение инженерных и математических задач/М . : Москва. – 2008. – 260с.

  7. Сайт для скачивания программы: http://www.scilab.org/download/latest

-75%
Курсы повышения квалификации

Арт-математика - эффективный инструмент эстетического воспитания обучающихся

Продолжительность 16 часов
Документ: Удостоверение о повышении квалификации
2500 руб.
630 руб.
Подробнее
Скачать разработку
Сохранить у себя:
3d построения в scilab (405.12 KB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт

Вы смотрели