Возможности программного обеспечения Scilab в научных вычислениях

Применение Scilab, как программного обеспечения (ПО) по компьютерной математике для моделирования и изучения физических процессов. Роль алгоритмического языка Java, как программного ядра ПО Scilab. Средства визуального моделирования в ПО Scilab: Xcos.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 23.01.2017
Размер файла 2,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ АЗЕРБАЙДЖАН

ГЯНДЖИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Факультет Математики и Информатики

Кафедра Информатики

ВЫПУСКНАЯ РАБОТА

выполненная по теме Возможности программного обеспечения Scilab в научных вычислениях

Студентка IV курса

специальности учитель математики и информатики

Ибрагимова Турана Рашид кызы

Руководитель выпускной работы: доц. С.Т.Гусейнов

Гянджа - 2016

Содержание

Вступление

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

1.1 Сравнительный анализ современных программ по компьютерной математике, наиболее активно использующихся в высшем образовании

1.2 Физические процессы, изучаемые с помощью компьютерной математики

1.3 Применение вычислительных методов и компьютерной математики в междисциплинарных науках

1.4 Вычислительные методы и компьютерная математика в технических дисциплинах применение

2. Программное обеспечение Scilab и её основные характеристики

2.1 Общие сведения о системе Scilab, ввод/вывод информации и краткая характеристика GUI

2.2 Роль алгоритмического языка Java, как программного ядра ПО Scilab

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

2.4 Графические возможности Scilab

3. Особенности применения ПО Scilab с использованием её стандартных прикладных пакетов и прикладных пакетов, созданных пользователем

3.1 Стандартные прикладные пакеты ПО Scilab

3.2 Средства визуального моделирования в ПО Scilab: Xcos

3.3 Методика создания прикладных программ пользователем

4. Примеры применения Scilab в учебном процессе для моделирования физических процессов

4.1 Моделирование физических процессов в различных областях прикладных наук

4.2 Общая методика применения ПО Scilab для проведения численных экспериментов при проведении лабораторных работ по физике

Заключение

Использованная литература

Вступление

scilab программный математика java

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

Логотип:

Разработчик:

Концерн Scilab

Стабильная версия:

5.4.1 / 2 апреля 2013 года

Разработан в алгоритмических языках:

Scilab, C, C++, Java, Fortran

Операционная система:

GNU/Linux, Windows,

Mac OS X, BSD

Доступен в языках:

Английский, Немецкий, Испанский, Французский, Итальянский, Японский, Португальский (Бразилия), Русский, Украинский, Китайский, Чешский, Польский

Категория ПО:

Технические вычисления

Лицензии:

CeCILL (GPL-совместимый)

Официальный сайт:

www.scilab.org,

www.scilab-enterprises.com

Программное обеспечение (ПО) Scilab относится к “open source” (открытым источникам, т.е. к так называемым бесплатным ПО) кросс-платформенным прикладным пакетам для численных вычислений. Это ПО имеет внутренний алгоритмический язык Scilab, относящимся к языкам программирования высокого уровня. Scilab может быть использован для обработка сигналов, статистического анализа данных, моделирования в гидродинамике, численной оптимизация и моделирования динамических систем а также (если, конечно, установлен соответствующий инструментарий) для символических манипуляций. Scilab является наиболее полной альтернативой категории open source очень популярной в мире программы прикладных пакетов (ППП) MATLAB. Сам внутренний язык программирования Scilab обеспечивает возможность интерпретировать со средой программирования. На основе и с помощью матричных вычислений и автоматического управления памятью многие числовые проблемы могут быть выражены в сокращенном количестве строк программного кода, по сравнению с аналогичными решениями с использованием традиционных языков программирования, таких как Fortran, C или C++. Это дает пользователям возможность быстро построить модели для ряда математических проблем. Scilab-пакет содержит библиотеки операций высокого уровня, таких как корреляция и методы сложной многомерной арифметики и т.д. Scilab также включает в себя бесплатный пакет визуально структурно-схематического программирования Xcos (на основе Scicos) для моделирования и имитации динамических систем, включая как непрерывные, так и дискретные системы. Xcos является open source эквивалент Simulink (подсистема Matlab для моделирования динамических систем) компании MathWorks. Синтаксис Scilab подобен синтаксису MATLAB: Scilab содержит исходный код конвертора для оказания помощи при преобразовании кода из MATLAB в Scilab и наоборот. Scilab, как это было отмечено выше предоставляется в бесплатной (open source) лицензии. Благодаря открытому исходному коду программного обеспечения, многие профессиональные пользователи имеют возможность для внесения своих разработок в виде ППП для интеграции их в основную программу. Scilab распространяется под GPL - совместимость CeCILL лицензии. До версии Scilab-5, это ПО было полу-свободным ПО, согласно номенклатуре Фонда Свободного Программного Обеспечения. Причина этого заключается в том, что более ранние версии лицензии были запрещены для коммерческого распространение совместно с модифицированными версиями Scilab.

СИНТАКСИС ПО Scilab: Scilab синтаксис в значительной степени основан на внутреннем языке MATLAB . Самый простой способ выполнить Scilab код - это ввести его как приглашение --> в графическом окне командной строки. Таким образом, Scilab может использоваться как интерактивная математическая “shell”.

Hello World! (Здравствуй, Мир!) в Scilab выглядит вот так:

disp("Hello World !")

А вот так выглядит код для построения 3d-поверхности сложной функции:

// Простой пример z = f(x,y)

т=[0:0.3:2*%pi]';

z=sin(t)*cos(t');

plot3d(t,t,z)

LATEX-engine (LATEX двигатель): для создания математических формул в научных отчетах в Scilab используются собственные Java разработки, такие, как JLaTeXMath и JMathTeX.

Краткая история создания и развития ПО Scilab: Scilab была создана в 1990 году группой исследователей из INRIA и Ecole. Первоначально он был назван Шlabhttp://en.wikipedia.org/wiki/Scilab - cite_note-5 (Psilab). Scilab-Консорциум был образован в Мае 2003 года, чтобы расширить вклад и способствовать Scilab как справочного и познавательного ПО по всему миру в науке и промышленности. В июле 2008 года, в целях улучшения передачи технологий, Scilab Консорциум вступил в фонд Digiteo.

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

1.1 Сравнительный анализ современных программ по компьютерной математике, наиболее активно использующихся в университетском образовании

Система Scientific WorkPlace (SWP, текущая версия 5.5) поначалу развивалась как редактор научных текстов, позволяя легко набирать и редактировать математические формулы. Программа объединяет простой в использовании текстовый процессор, обеспечивающий создание математических текстов и систему компьютерной алгебры в одной среде (можно производить вычисления прямо в документе). Коммерческая математическая система Derive существует уже довольно давно, но, конечно, не может рассматриваться как полноценная альтернатива Mathematica. ПО MatLab относится к среднему уровню продуктов, предназначенных для символьной математики, но он применяется, например в CAE (системы автоматической инженерии). В процессе эволюции у фирмы Waterloo Maple по лицензии для MatLab было приобретено ядро символьных преобразований. В MatLab существуют широкие возможности для программирования. Сегодня MatLab широко используется в технике, науке и образовании.

1.2 Физика и применение компьютерной математики

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

1.3 Применение вычислительных методов и компьютерной математики в междисциплинарных науках

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

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

· Биоинформатика;

· Вычислительное биомоделирование;

· Молекулярное моделирование;

· Системная биология;

1.4 Вычислительные методы и компьютерная математика в технических дисциплинах применение и

Компьютерная модель (англ. computer model), или численная модель (англ. computational model) -- компьютерная программа, работающая на отдельном компьютере или суперкомпьютере. Компьютерные модели применяются в таких технических науках, как: радиоэлектроника, машиностроение, автомобилестроение и проч. Компьютерное моделирование является одним из эффективных методов изучения сложных технических систем. Компьютерные модели (КМ) проще и удобнее исследовать в силу их возможности проводить т. н. вычислительные эксперименты, в тех случаях когда реальные эксперименты затруднены из-за финансовых или физических препятствий или могут дать непредсказуемый результат. Построение КМ базируется на абстрагировании от конкретной природы явлений и состоит из двух этапов: - качественной и количественной модели. Компьютерное же моделирование технических систем заключается в проведении серии вычислительных экспериментов на компьютере, целью которых является анализ, интерпретация и сопоставление результатов моделирования с реальным поведением изучаемого объекта и, при необходимости, последующее уточнение модели и т. д.

2. Программное обеспечение Scilab и её основные характеристики

2.1 Общие сведения о системе Scilab, ввод/вывод информации и краткая характеристика GUI

Из командной строки выполните scilab\bin\runscilab.exe. В результате получите главное рабочее окно Scilab с приглашением -->:

Замечание: В версиях Scilab для операционных систем Linux, Macintosh и Windows могут иметься небольшие отличия в меню и подменю верхней панели управления окна.

Чтобы покинуть сессию Scilab надо набрать exit и нажать [Enter], либо набрать quit и нажать [Enter], либо выбрать на панели управления окна File -Exit. Редактирование командной строки: в Edit-History можно набрав текст в любом Windows приложении и перенести его через Clipboard в окно Scilab.

Чтобы синтаксически перенести длинную командную строку на следующую строку надо в месте переноса добавить две точки. Пример:

plotframe(rect,tics,[%t,%t],..

["My plot with grids and automatic bounds","x","y"],

[0,0.5,0.5,0.5])

Scilab различает строчные и заглавные буквы: в LINUX и в Windows.

Чтобы узнать имя текущего каталога в Scilab надо с помощью меню File - GetCurrentDirectory. Это эквивалентно командной строке --> getcwd(). Результат:

ans =

D:\scilab\bin

Аналогичный результат дает и команда pwd(). Утверждается, что pwd печатает текущий каталог Scilab, а getcwd возвращает его. Синтаксис этих команд:

pwd

x=pwd()

x=getwcd()

Примеры.

pwd

x=pwd()

Программу запустить на выполнение можно с помощью меню File - Exec либо командой exec.

Как записать результат сессии Scilab в файл? Для этого выполним команду save ('my_file '). В простом случае для этого можно использовать меню File -Save. В результате файл запишется в текущий каталог. По умолчанию это каталог scilab\bin\. Расширение создаваемого файла по умолчанию *.bin. Полученный файл в дальнейшем можно загрузить с помощью команды load.

Если мы хотим, чтобы каждая операция выполнялась непосредственно сразу, следует после приглашения -> набрать операцию и клавишу ввода [Enter]. Можно набирать операции последовательно, разделяя их знаком ";", а потом выполнить [Enter]. Тогда на экране будет выведен только конечный результат. Можно писать после приглашения в одной командной строке несколько операций, разделяя их точкой с запятой. Тогда результаты тех конструкций, которые заканчиваются знаком ";" не будут выводиться на экран. Мы увидим конечный результат выполнения последовательности нескольких командных строк, последняя из которых не заканчивается точкой с запятой. Результаты промежуточных операций на экран выводиться не будут.

Пример 1.

-->a=2

a =

2.

--> b=3

b =

3.

--> c=a+b

c =

5.

Пример 2.

-->a=2;

-->b=3;

-->c=a+b;

-->d=c*10

d =

50.

Замечание по синтаксису: Если командная строка очень длинная, то ее можно разбить на две, добавляя в месте разбиения две точки (..). Две записи, приводящие к идентичному результату:

Пример:

-->plot2d(x,[sin(x) sin(2*x) sin(3*x)],..

-->[1,2,3],"111","L1@L2@L3",[0,-2,2*%pi,2],[2,10,2,10])

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

2.2 Роль алгоритмического языка Java, как программного ядра ПО Scilab

Java Механизм Взаимодействия в Scilab (JIMS) обеспечивает собственный уровень интерфейса между двумя Виртуальными Машинами. Это дает Scilab программам полный доступ для библиотек классов Java, позволяя им загружать и управлять довольно таки современными, зачастую сложными Java-объектами. Данный Java инструментарий выпущен по лицензии CeCILL:

http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt

Команда jimport java.net.URL необходимо создать переменную с именем URL-адрес в стек, чтобы избежать конфликтов с уже переменной с именем URL-адресов, можно использовать синтаксис:

myurlclass = jimport("java.net.URL", %f);

url = myurlclass.new("http://www.scilab.org");

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

В Scilab встроен мощный язык программирования с поддержкой объектов. Как уже отмечалось раннее работа в может осуществляться в режиме командной строки но и в так называемом программном режиме Напомним что для создания Scilab программы необходимо:

1. Вызвать команду Editor (т.е. SciNote).

2. В окне редактора SciNote набрать текст программы.

3. Сохранить текст программы с помощью команды File _ Save в виде файла с расширением sce, например file.sce.

4. После чего программу можно будет вызвать набрав в командной строке exec, например exec("file.sce"), или вызвав команду меню File-Exec..., или находясь в окне Scipad выполнить команду Execute _ Load into Scilab (Ctrl+l).

Программный режим достаточно удобен так как он позволяет сохранить разработанный вычислительный алгоритм в виде файла и повторять его при других исходных данных в других сессиях. Кроме обращений к функциям и операторов присваивания в Scilab (программных файлах могут использоваться операторы языка программирования язык Scilab будем называть языком sci-программирования).

ОСНОВНЫЕ ОПЕРАТОРЫ Sci-ЯЗЫКА

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

x=input('title');

или

x=x_dialog('title', 'stroka');

Функция x_dialog выводит на экран диалоговое окно с именем title, после чего пользователь может щелкнуть OK и тогда stroka вернется в качестве результата в переменную x, либо ввести новое значение вместо stroka, которое и вернется в качестве результата в переменную x. На рисунке представлено диалоговое окно которое формируется строкой x=x_dialog('Input X','5').

Можно предложить следующую форму: использования функции x_dialog . для ввода числовых значений x=evstr(x_dialog('title', 'stroka'));

Для вывода в текстовом режиме можно использовать функцию disp следующей структуры disp(b). Здесь b имя переменной или заключенный в кавычки текст.

ОПЕРАТОР ПРИСВАИВАНИЯ

Оператор присваивания имеет следующую структуру

a=b

здесь a, имя переменной или элемента массива b. В результате выполнения оператора переменной a присваивания значение выражения b.

УСЛОВНЫЙ ОПЕРАТОР

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

if условие

операторы1

else

операторы2

end

Здесь условие логическое выражение операторы1, операторы2 операторы или встроенные функции языка Scilab. Оператор if работает по следующем алгоритму: если условие истинно то, выполняются операторы1, если ложно то операторы2.

В Scilab для построения логических выражений могут использоваться условные операторы: &, and (логическое и), |, or (логическое или), ~, not (логическое отрицание) и операторы отношения: < (меньше), > (больше), == (равно), ~=, <> (не равно), <= (меньше или равно), >= (больше или равно).

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

if условие1

операторы1

elseif условие2

операторы2

elseif условие 3

операторы3

elseif условие n

операторыn

else

операторы

end

В этом случае оператор if работает так: если условие1 истинно, то выполняются операторы1, иначе проверяется условие2, если оно истинно, то выполняются операторы2, иначе проверяется условие3 и т. д. Если ни одно из условий по веткам else и elseif не выполняется, то выполняются операторы по ветке else.

ОПЕРАТОР АЛЬТЕРНАТИВНОГО ВЫБОРА

Еще одним способом организации разветвлений в Scilab является оператор select, который осуществляет альтернативный выбор по следующему синтаксису:

select параметр

case значение1 then операторы1

case значение2 then операторы2

else операторы

end

Рассмотрим использование оператора select на примере решения следующей задачи: вывести на печать название дня недели соответствующее заданному числу D, при условии что, в месяце 31 день и первое число 0 это понедельник.

Вызов программы представлен на нижеследующем листинге со sci-программой:

D=input('Enter a number from 1 to 31');

//Вычисление остатка от деления D на 7, сравнение //его с числами от 0 до 6.

select D-int(D/7)*7

case 1 then disp('Monday');

case 2 then disp('Tuesday');

case 3 then disp('Wednesday');

case 4 then disp('Thursday');

case 5 then disp('Friday');

case 6 then disp('Saturday');

else

disp('Sunday');

end

Соответствующее решение в Scilab:

-->exec('G:\Lecture Scilab EG\2\l2.sci');disp('exec done');

Enter a number from 1 to 31-->19

Friday

7

ОПЕРАТОР ЦИКЛИЧЕСКИХ ВЫЧИСЛЕНИЙ - while

Оператор цикла while имеет следующий синтаксис (операторы будут выполняться циклически, пока логическое условие истинно):

while условие

операторы

end

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

ОПЕРАТОР ЦИКЛИЧЕСКИХ ВЫЧИСЛЕНИЙ - for

Оператор цикла for имеет следующий синтаксис (операторы будут выполняться циклически, заранее определенное число раз):

for x=xn:hx:xk

операторы

end

здесь x - имя скалярной переменной параметра цикла, xn - начальное значение параметра цикла, xk - конечное значение параметра цикла, hx - шаг цикла. Если шаг цикла равен 1, то hx можно опустить и в этом случае оператор for будет таким:

for x=xn:xk

операторы

end

ОБРАБТКА МАССИВОВ И МАТРИЦ В Scilab

Синтаксис ввода и вывода массивов и матриц

N=input('N=');

disp('Vvod massiva x');

for i=1:N

x(i)=input('X=');

end

disp(x);

Синтаксис ввода элементов массива:

N=input('N=');

M=input('M=');

disp('Vvod matrici');

for i=1:N

for j=1:M

a(i,j)=input('');

end

end

disp(a);

Вывод массива матрицы можно организовать аналогичным образом в цикле или воспользоваться оператором disp( ) для вывода массива матрицы целиком.

ФУНКЦИИ В SCILAB

В Scilab несложно оформлять собственные функции. Структура функции в Scilab следующая:

function[y1,y2,...,yn]=ff(x1,x2,...,xm)

операторы

endfunction

здесь x1, x2, ..., xm - список входных параметров функции; y1, y2, ..., yn -список выходных параметров функции.

2.4 Графические возможности Scilab

Графические приложения в пакете Scilab выводятся в отдельном окне, называемом графическим. Графическое окно можно создать с помощью меню главного окна Scilab graphic window "x" - set (create )window, где "x" является текущим номером графического окна. по умолчанию этот номер равен нулю и создается графическое окно с номером "0". номер графического окна указан в его заголовке.

В Scilab возможны различные графические устройства для засылки изображений в окна или на печатающее устройство. По умолчанию для вывода предназначено окно ScilabGraphic0. Присутствуют следующие драйверы:

· X11 - вывод на экран компьютера;

· Rec - вывод на экран компьютера с записью всех графических команд.

· Wdp

· Pos - вывод в формате Postscript;

· Fig - вывод в формате Xfig;

· GIF - вывод в формате GIF;

Замечания: Драйверы Fig и GIF могут иметь некоторые дефекты изображения и в некоторых прикладных программах могут не работать. Драйвер Xfig служит для образования Postscript файлов для дальнейшей вставки в документ на языке Latex.

Базовые команды для управления Scilab- графикой:

· driver - выбор графического драйвера.

· xclear - очищение одного или более графических окон.

· xbasc - очищение одного или более графических окон и уничтожает. записей.

· xpause - задание пауза в миллисекундах.

· xselect - увеличение графического окна (для X- драйверов).

· xclick - ожидание щелчка мыши.

· xbasr - перерисовка графического окна

· xde l - уничтожение графического окна (эквивалентно команде меню Close)

· xinit - инициализация заданного драйвера

· xend - закрытие графической сессии

На самом деле можно обойтись без регулярных драйверов при использовании экранного драйвера, пользуясь функциями xbasimp, xs2fig, чтобы посылать графику для Postscript принтера или для Xfigсистем. Пример:

plot(1:10) // Это пример простейшего графика

xbasimp(0,"d:/zzz.ps") //0 - номер текущего графического окна

Если хотим узнать, что соответствует значению "color" в терминах RGB, можно посмотреть это с помощью команды my_map=xget("colormap").

2D ГРАФИКА

Как построить простейший одномерный график y=f(x)? С помощью команды plot. Синтаксис:

plot(x,y,[xcap,ycap,caption])

plot(y)

Параметры x,y: два вектора одинакового размера xcap, ycap, caption: строки или строковые матрицы. Команда plot изображает параметр y как функцию от параметра x. Если y задано в виде формулы от x, то первый параметр в формуле можно опустить. Параметры xcap и ycap являются соответствующими наименованиями осей координат графика x и y. По умолчанию у меня значение параметра ycap находится сверху справа от вертикальной оси, а значение параметра xcap находится сверху справа от конца горизонтальной оси, что не очень красиво. Параметр caption является

заголовком графика. Смотри пример 4(ниже). Первый аргумент x может быть опущен, если y задан как функция от x и является вектором.

1) Можно задать аргумент тремя значениями: минимальным, шагом и

максимальным значением: a=(amin:ste p:amax)

x=(2:0.2:3);

Можно определить аргумент и без круглых скобок:

x=0:0.1:2*%pi;

2)Указать все значения:

x=[2 2.2 2.4 2.6 2.8 3.0];

Пример 1.

x=[1 2 3 4 5 6];

y=x^2;

plot(y)

Замечание: Поскольку аргумент x функции y задан неявно, то использование команды plot с одним параметром всё же нежелательно. Пусть мы хотим построить кривую зависимость y[i] от x[i]. Пусть эти значения заданы экспериментально. Введем их для примера сами.

x=[1 2 3 4 5 6 7 8];

y=[1 4 9 16 25 36 49 64];

plot(x,y)

В результате получим график параболы.

Как трансформировать систему координат? Способ 1: с помощью команды isoview. Команда isoview устанавливает шкалу (масштаб) по осям для изображения графика в прямоугольной системе координат. При этом размер самого графического окна не меняется. Синтаксис:

isoview(xmin,xmax,ymin,ymax)

Пример.

t=(0:0.1:2*%pi);

plot2d(sin(t),cos(t));

В результате будет нарисован эллипс в системе координат x=[- 1,1] и y=[- 1,1]. Система координат выбирается автоматически для максимально возможного масштаба представления данных.

Наглядную картинку с изображением всех параметров можно получить запустив: exec('SCI/demos/graphics/xsetechfig.sce');

Как нарисовать двумерный график? С помощью команды plot2d. Обычно применяется для линейных графиков. Для уничтожения предыдущего содержания окна используйте команду xbasc(). Посмотрите демонстрационный пакет plot2d().

Синтаксис функции plot2d

plot2d([x],y)

plot2d([x],y,[opt_args])

plot2d([logflag],x,y,[style,strf,leg,rect,nax])

здесь параметры x,y: две матрицы или два вектора

3D ГРАФИКА: Как изобразить 3D поверхность?

Способ 1: с помощью команды plot3d. Команда создает 3D график по точкам, заданным матрицами x, y и z.

Способ 2: с помощью команды plot3d1. Команда создает 3D график по точкам, заданным матрицами x, y и z с помощью уровней цвета. Вещь в общем избыточная: величина координаты z дополнительно еще и покрашена, в зависимости от принимаемого значения z.

Способ 3: с помощью команды fplot3d. Это аналог команды fplot3d, но изображаемая поверхность задана с помощью внешней функции.

3. Особенности применения по Scilab с использованием её стандартных прикладных пакетов и прикладных пакетов, созданных пользователем

3.1 Стандартные прикладные пакеты по Scilab

Библиотеки (или стандартные пакеты) являются коллекциями функций, которые могут автоматически загружаются в окружение пакета Scilab при вызове Scilab, либо загружаются по желанию пользователя. Библиотеки создаются с помощью команды lib. Примеры библиотек Вы можете посмотреть в каталоге SCIDIR/macrosВ каждом из подкаталогов библиотек содержится ASCII - файл names, котором перечислены имена всех функций библиотек, файлы с расширением sci содержат открытый код - текст функции на языке пакета Scilab и соответствующие им скомпилированные файлы с расширением bin. Соответствующий Makefile вызывает компиляцию функций и генерацию bin файлов. Скомпилированные функции библиотеки автоматически загружаются в среду Scilab при первом вызове. Пакет Scilab предоставляет нам возможность познакомиться с текстовым содержанием всех подпрограмм из библиотек. Деление на отдельные библиотеки в пакете Scilab можно узнать, выполнив команду help без параметров. В результате мы увидим следующий список в окне help с надписью "Index" в титуле верхнего окна:

Этот список соответствует подкаталогам каталога SCIDIR/macros. Допустим, мы хотим узнать, какие функции содержаться в библиотеке под названием "Linear Algebra". Нажмем мышью на эту надпись в окне help и получим следующее окно:

3.2 Средства визуального моделирования в ПО Scilab: Xcos

Для построения блочной диаграммы используется графический редактор Xcos: Главное меню > Инструменты > Визуальное моделирование Xcos. После запуска Xcos обычно отображаются два окна: окно Палитры блоков и окно графического редактора.

Любая диаграмма Xcos содержит два типа соединений: регулярные (чёрные) и управляющие (красные). По регулярным соединениям передаются сигналы данных, а по управляющим сигналы активации. Блоки также могут иметь регулярные и управляющие входы и выходы. Как правило регулярные входы и выходы блоков располагаются слева и справа от изображения блока, а управляющие сверху и снизу. В качестве основного источника сигналов активации используется счётчик времени SampleCLK. Его особенность заключается в том, что все такие счётчики внутри одной диаграммы синхронизированы. Если блок имеет управляющий вход, то он срабатывает каждый раз, когда на него поступает сигнал активации. Поведение блока, не имеющего управляющего входа, определяется его внутренними параметрами. Блок может наследовать сигнал активации от предыдущего блока, т.е. срабатывать при поступлении на его регулярный вход сигнала данных. Также, блок может быть активным всегда (например, генератор гармонического сигнала). Блок без входов, не получающий сигналов активации и не объявленный активным всегда, является константным блоком. Выход такого блока не зависит от времени, а сам блок срабатывает лишь единожды, на этапе инициализации. После срабатывания блока значения на его выходе остаются неизменными. Выбирается палитра Обработка событий и добавляется к диаграмме блок ENDBLK . Установите параметр блока Final simulation time (конечное время моделирования) равным 30. Запускается моделирование. Другой способ задания конечного времени моделирования выбрать пункт Моделирование > Параметры в главном меню графического редактора и установить параметр Конечное время интегрирования равным нужному значению.

3.3 Методика создания прикладных программ пользователем

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

Краткая инструкция создания ППП в Scilab, согласно спецификации такова:

Шаг 1: Создать и отладить тексты своих библиотечных функций. О том, что

представляют собой функции в пакете Scilab и как их писать, мы говорили в предыдущей главе. Записать каждую из функций в отдельный файл с расширением sci в один каталог, являющийся подкаталогом SCIDIR/macros/ (например, в SCIDIR/macros/my_dingo/). Замечание: Имя файла с расширением sci должно совпадать с именем функции, которая в нем определена, и не совпадать с уже занятыми именами команд.

ПРИМЕР: Для примера мы записали туда файлы dingo5.sci и dingo7.sci.

// file dingo5.sci

// Вычисление пятикратной суммы

function c=dingo5(x,y)

c=(x+y)*5;

endfunction

// file dingo7.sci

// Вычисление семикратной суммы

function c=dingo7(x,y)

c=(x+y)*7;

endfunction

Шаг 2: Применить к команду genlib для создания скомпилированных файлов bin для всех файлов с расширением sci. Стандартная Scilab- переменная SCI содержит путь к местонахождению пакета Scilab на Вашем компьютере: genlib("Dingo_lib",SCI+"/macros/my_dingo"). В результате в каталоге SCI/macros/my_dingo/ дополнительно появятся файлы dingo5.bin, dingo7.bin, а также два файла без расширения: names и lib. В ASCII-файле names содержатся имена всех команд (функций) новой библиотеки. В данном случае у нас две команда dingo5 и dingo7. В файле lib каким-то образом содержится имя новой библиотеки, но этот файл выполнен не в ASCII кодах, и его так просто не прочесть.

Шаг 3: Добавить в файл SCI/scilab.star строку load('SCI/macros/my_dingo/lib')

Шаг 4: Создать справочные файлы для руководства "man" с расширением htm или xml для каждой новой команды и записать их в каталог SCI/man/eng/my_dingo/. Вероятно, возможно и создание помощи на русском, но вряд ли это целесообразно на данном этапе при небольшом количестве русских пользователей.

ПРИМЕР: Файл dingo5.htm справки для нашей команды dingo5

Файл dingo7.htm справки для команды dingo7

Шаг 5: Создать в том же каталоге SCI/man/eng/my_dingo/ файл с обязательным именем whatis.htm, в котором содержатся ссылки на справочные файлы для каждой функции этой библиотеки сами .htm файлы этих функций.

ПРИМЕР: Файл whatis.htm справки для библиотеки my_dingo

Шаг 6: Добавить строку в SCI/man/index.htm вида

Шаг 7: Добавить новую строку в тексте стартового файла Scilab SCI/scilab.star.

load(SCI+"/macros/my_dingo/lib"),

где my_dingo является названием подкаталога, в котором хранится наша новая библиотека.

ЗАМЕЧАНИЕ: Переменная SCI содержит главный каталог пакета Scilab на компьютере пользователя и является встроенной. Значение ее можно посмотреть, выполнив команду SCI.

Шаг 8: Добавить новую строку в переменную %helps. (По строке для каждого каталога) в тексте стартового файла Scilab SCI/scilab.star, где SCI означает главный каталог программы Scilab на пользовательском компьютере. Можно добавить в тестовом редакторе нужную строку в файл

initial_help_chapte rs.sci в каталоге SCI/macros/util/, а затем выполнить команду genlib относительно него. Но это плохой способ. Удобнее это выполнить в пакете Scilab:

%helps=[%helps; "Path-Of-My-Help-Dir","My-Title "]

Для нашего примера это будет

%helps=[%helps; SCI+"/man/eng/my_dingo"," my_dingo"];

Шаг 9: Обновить файл index.htm из каталога SCI/man/eng/, выполнив команду make_index(). Предварительно надо изменить переменную %helps. Теперь в списке глав помощи (в окне помощи Index) должна появится новая. Это окно вызывается из главного окна Scilab с помощью команды help без параметров.

ПРИМЕР: make_index()

Результат:

ans =

C:\WINDOWS\TEMP\SD_-305393_/index.htm

Проверив, что этот в файл добавилось то, что мы хотели, скопируйте его в каталог SCI/man/eng/ вместо старого index.htm. Еще проще в текстовом режиме добавить в файл index.htm строку

Шаг 10: Применить команду lib для создания описания библиотеки.

ПРИМЕР:

xlib=lib(SCI+"/macros/my_dingo/")

Результат:

xlib =

Functions files location :C:/PROGRAM FILES/SCILAB2.7.2/macros/my_dingo/

dingo5 dingo7

После этого Вы можете пользоваться всеми файлами новой библиотеки.

Шаг 11: Добавить в файл SCI/scilab.star строку

load('SCI/macros/my_dingo/lib')

4. Примеры применения scilab в учебном процессе для моделирования физических процессов

4.1 Моделирование физических процессов в различных областях прикладных наук

Моделирование в механике

Компьютерная модель физического маятника, состоящего из 10 одинаковых звеньев.

Моделирование в астрономии

Компьютерная модель черной дыры.

Моделирование в термодинамике

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

Моделирование электродинамических процессов.

Компьютерная модель электрического моста.

Моделирование в технических науках

Компьютерная модель гидравлического блока.

4.2 Общая методика применения ПО Scilab для проведения численных экспериментов при проведении лабораторных работ по физике

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

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

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

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

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

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

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

В связи с применения ПО Scilab для проведения численных экспериментов при проведении лабораторных работ по физике можно рекомендовать следующую последовательность действий:

1. определить математическую модель исследуемого физического явления для проведения компьютерного математического моделирования);

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

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

Заключение

Начиная с 2000 годов и чуть ранее, учебные учреждения европейских стран, конечно в первую очередь университеты Франции, используют пакет прикладных программ (ППП) Scilab в университетском образовании. Это ПО используется и во многих промышленных организациях Европы практически в каждой ветви научных и технических вычислений. Подчеркнем основные преимущества этого вычислительного комплекса для использования в учебном процессе (особенно для применения её в лабораторных практикумах по физике):

· наличие внутреннего высокоуровневого языка программирования и взаимозаменяемость с Matlab;

· есть среда моделирования Xcos для имитации данных в инженерии;

· имеется высокоуровневая оболочка для работы с файлами, текстами и данными;

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

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

Использованная литература

1. А.М.Чингаева, Визуальное моделирование в Scilab: Xcos, ФГОБУ ВПО ПГУТИ, кафедра ТОРС, Методическая разработка к лабораторным работам по курсу Основы теории систем связи с подвижными объектами, Российская Федерация, Самара, 2012.

2. M.Baudin, Introduction to Scilab, Scilab Consortium Documentation, France, Paris, 2010;

3. Е.Р.Алексеев, Scilab: Решение инженерных и математических задач, Москва, ALT Linux; БИНОМ. Лаборатория знаний, 2008.

4. И.С.Тропин, Численные и технические расчеты в среде Scilab (ПО для решения задач численных и технических вычислений): Учебное пособие, Москва: 2008;

5. М.И.Павлова, Е-руководство по работе с пакетом SCILAB http://www.csa.ru/~zebra/my_scilab/index.html, 2007.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.