MATLAB и его связь с другими языками программирования

Автор работы: Пользователь скрыл имя, 04 Апреля 2014 в 16:47, курсовая работа

Описание работы

MATLAB включает в себя вычисления, визуализацию и программирование в удобной среде, где задачи и решения выражаются в форме, близкой к математической. Типичное использование MATLAB - это: математические вычисления, создание алгоритмов, моделирование, анализ данных, исследования и визуализация, научная и инженерная графика, разработка приложений, включая создание графического интерфейса.
Программы, написанные на MATLAB, бывают двух типов — функции и скрипты. Функции имеют входные и выходные аргументы, а также собственное рабочее пространство для хранения промежуточных результатов вычислений и переменных. Скрипты же используют общее рабочее пространство. Как скрипты, так и функции не компилируются в машинный код и сохраняются в виде текстовых файлов.

Файлы: 1 файл

Министерство образования Республики Беларусь.doc

— 1.28 Мб (Скачать файл)

СОДЕРЖАНИЕ

 

 

 

 

 

ВВЕДЕНИЕ

 

Современная компьютерная математика предлагает целый набор интегрированных программных систем и пакетов программ для автоматизации математических расчетов: Gauss, Derive, Mathcad, Mathematica, и др. Возникает вопрос: какое место занимает среди них система MATLAB?

MATLAB – одна из старейших, тщательно проработанных систем автоматизации математических расчетов, построенная на расширенном представлении и применении матричных операций.

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

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

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

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

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

 

 

 

 

 

 

 

 

ГЛАВА 1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

 

1.1 MATLAB и его связь с другими языками программирования

 

Система MATLAB разработана специалистами компании MathWork Inc. (г. Нейтик, штат Массачусетс, США). Хотя впервые эта система начала использоваться в конце 1970–х годов, широкое распространение она получила в конце 80–х, в особенности после появления на рынке версии 4.0. Последние версии MATLAB – это системы, которые содержат множество процедур и функций, необходимых инженеру и научному работнику для осуществления сложных численных расчетов, моделирования технических и физических систем и оформления результатов этих расчетов. MATLAB (сокращение от MATrix LABoratory – матричная лаборатория) представляет  собой интерактивную систему, предназначенную для выполнения инженерных и научных расчетов и ориентированную на работу с массивами данных. Система обеспечивает возможность обращения к программам, которые написаны на языках FORTRAN, C и C++.

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

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

Система MATLAB использует собственный М–язык, который сочетает в себе положительные свойства различных известных языков программирования высокого уровня. С языком BASIC систему MATLAB роднит то, что она представляет собой интерпретатор (осуществляет пооператорное компилирование и выполнение программы, не образуя отдельного исполняемого файла), М–язык имеет незначительное количество операторов, в нем отсутствует необходимость объявлять типы и размеры переменных. От языка Pascal  система MATLAB позаимствовала объективно–ориентированную направленность, то есть такое построение языка, которое обеспечивает образование новых типов вычислительных объектов на основе типов объектов, уже существующих в языке. Новые типы объектов (в MATLAB они называются классами) могут иметь собственные процедуры их преобразования (они определяют методы этого класса), причем новые процедуры могут быть вызваны с помощью обычных знаков арифметических операций и некоторых специальных знаков, которые применяются в математике.

Принципы сохранения значений переменных в MATLAB наиболее близки к тем, которые присущи языку FORTRAN, а именно: все переменные являются локальными – действуют лишь в границах той программной единицы (процедуры, функции или главной, управляющей программы), где им присвоены некоторые конкретные значения. При переходе к выполнению другой программной единицы, значения переменных предыдущей программной единицы либо теряются (в случае, если выполненная программная единица представляет собой процедуру или функцию), либо становятся недосягаемыми (если выполненная программа является управляющей). В отличие от языков BASIC и Pascal, в языке MATLAB нет глобальных переменных, действие которых распространялось бы на все программные единицы. Но при этом язык MATLAB обладает возможностью, которая отсутствует в других языках. Интерпретатор MATLAB позволяет в одном и том же сеансе работы выполнять несколько самостоятельных программ, причем все переменные, используемые в этих программах, являются для них общими и образуют единое рабочее пространство. Это дает возможность более рационально организовывать сложные (громоздкие) вычисления по типу оверлейных структур.

Вышеуказанные особенности системы MATLAB делают ее весьма гибкой и удобной в использовании вычислительной системой.

 

1.2 MatLab и его основные компоненты

 

MATLAB – это высокопроизводительный язык для технических расчетов. Он включает в себя вычисления, визуализацию и программирование в удобной среде, где задачи и решения выражаются в форме, близкой к математической. Типичное использование MATLAB - это:

– математические вычисления;

– создание алгоритмов;

– моделирование;

– анализ данных, исследования и визуализация;

– научная и инженерная графика;

– разработка приложений, включая создание графического интерфейса.

MATLAB – это интерактивная система, в которой основным элементом данных является массив. Это позволяет решать различные задачи, связанные с техническими вычислениями, особенно в которых используются матрицы и вектора, в несколько раз быстрее, чем при написании программ с использованием "скалярных" языков программирования, таких как Си или Фортран.

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

Система MATLAB состоит из пяти основных частей.

1. Язык MATLAB. Это язык матриц и массивов высокого уровня с управлением потоками, функциями, структурами данных, вводом-выводом и особенностями объектно-ориентированного программирования.

2. Среда MATLAB. Это набор инструментов и приспособлений, с которыми работает пользователь или программист MATLAB. Она включает в себя средства для управления переменными в рабочем пространстве MATLAB, вводом и выводом данных, а также создания, контроля и отладки М-файлов и приложений MATLAB.

3. Управляемая графика. Это графическая система MATLAB, которая включает в себя команды высокого уровня для визуализации двух- и трехмерных данных, обработки изображений, анимации и иллюстрированной графики. Она также включает в себя команды низкого уровня, позволяющие полностью редактировать внешний вид графики, также как при создании Графического Пользовательского Интерфейса (GUI) для MATLAB приложений.

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

5. Программный интерфейс. Это библиотека, которая позволяет писать программы на Си и Фортране, которые взаимодействуют с MATLAB. Она включает средства для вызова программ из MATLAB (динамическая связь), вызывая MATLAB как вычислительный инструмент и для чтения-записи МАТ–файлов.

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

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

Real-Time Workshop – это программа, которая позволяет генерировать С код из блоков диаграмм и запускать их на выполнение на различных системах реального времени.

 

1.3 Немного о работе с системой MATLAB

 

После того как вы кликнули на иконке MATLAB, перед вами появится экран, в верхней части которого имеется строка с выпадающими меню, инструментальная панель с кнопками, реализующими наиболее часто выполняемые действия (см. рис. 1.1), и в самом окне – строка запроса в виде двух знаков>>.Это командное окно MATLAB

 

Рисунок 1.1 – Инструментальная панель командного окна

 

Стандартное выпадающее меню File содержит такие пункты, как New для создания новых файлов, Open M–file – открытие существующего файла-программы или файла–функции для редактирования, проверки текста или отладки. При использовании этого пункта вам предлагается стандартное окно выбора файлов, а после выбора необходимого файла открывается окно редактора/отладчика m-файлов.

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

Инструментальная панель (см. рис 1.1) командного окна позволяет выполнять требуемые действия простым нажатием на соответствующую кнопку. Большинство кнопок имеют стандартный вид и выполняют стандартные, подобные другим программам действия – это копирование (Copy), открытие файла (Open), печать (Print) и т.д. Следует обратить внимание на кнопку Path Browser, которая позволяет прокладывать пути к разным директориям и делать необходимую директорию текущей, а также на кнопку Workspace Browser , позволяющую просматривать и редактировать переменные в рабочей области.

Команда help, набранная в ответ на запрос, завершаемая нажатием клавиши Enter, или кнопка инструментальной панели со знаком вопроса позволяет получить список функций, для которых доступна оперативная помощь. Команда help <имя_функции> позволяет получить на экране справку по конкретной функции.

Например, команда help eig позволяет получить оперативную справку по функции eig – функции вычисления собственных значений матрицы. С некоторыми возможностями системы MATLAB можно познакомиться с помощью команды demo.

В этом кратком введении следует отметить, что основные объекты – переменные, с которыми работает MATLAB, – это прямоугольные матрицы. Это дает возможность записывать программы очень кратко, делает прораммы легко обозримыми. Предусмотрено множество операций, выполняемых над матрицами. Разумеется, запись таких операций, как умножение и сложение матриц, следует запомнить. Изучать же и запоминать все возможности «впрок», до того, как они понадобятся, бессмысленно.

Если необходимо прервать работу, но сохранить все созданные в рабочей области переменные, то проще всего это сделать с помощью команды save <имя_файла>. Все переменные в двоичном виде сохраняются в файле <имя_файла>.mat. Впоследствии, при повторной загрузке системы можно загрузить всю рабочую область с помощью команды load <имя_файла> и продолжить вычисления с того же места. Для очистки рабочей области используется команда clear без аргументов, и в этом случае очищается вся область от всех переменных. Если команда clear сопровождается списком переменных, разделенных пробелами, то удаляются только перечисленные переменные.

 

ГЛАВА 2 ПРАКТИЧЕСКАЯ ЧАСТЬ

2.1 Постановка задачи

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

2.2 История развития задачи

 

Механика (с греч. Μηχανική переводится как искусство построения машин) – область физики, изучающая движение материальных объектов и взаимодействие между ними. Важнейшими разделами механики являются классическая механика и квантовая механика.

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

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

Представления о траектории движения артиллерийских снарядов в те времена были довольно забавными. Считалось, что траектория эта состоит из трех участков: насильственного движения, смешанного движения и  естественного движения, при котором ядро падает на солдат противника сверху (см. рис. 2.1).

Информация о работе MATLAB и его связь с другими языками программирования