Программирование арифметических выражений и построение кусочного графика функции с помощью среды MATLAB

Автор работы: Пользователь скрыл имя, 03 Апреля 2014 в 04:24, реферат

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

MATLAB предназначен прежде всего для программирования численных алгоритмов. Он разрабатывается уже более 15 лет и возник на основе более ранних прикладных пакетов LINPACK и EIGPACK, созданных в 1970-е гг. в США, и в свою очередь повлиял на появление таких систем, как MathCad, MAPLE и Mathematica. Совершенствование системы MATLAB происходило как в связи с достижениями в вычислительной математике, так и в связи с изменениями в архитектуре персональных компьютеров и развитием общесистемных средств. Со временем MATLAB был дополнен целым рядом уже упоминавшихся приложений (toolboxes), далеко раздвинувших границы его применимости. Далее речь пойдет лишь о ядре MATLAB'а, которое мы будем называть системой, и конкретно о ее версии 5.2, выпущенной фирмой MathWorks в январе 1998 г.

Файлы: 1 файл

Шевцов Даниил РБ-13-1.docx

— 841.49 Кб (Скачать файл)

Российский государственный университет

нефти и газа имени И.М.Губкина

 

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

 

 

 

 

Реферат на тему:

"Программирование арифметических  выражений и построение кусочного графика функции с помощью среды MATLAB"

 

 

 

Выполнил:

Студент гр. РБ 13-01

Шевцов Д.М.

Проверила:                                                      

 профессор кафедры информатики

Храброва Оксана Юрьевна

 

 

 

 

 

 

 

 

 

                                                

 

 

 

 

Москва-2013

Оглавление

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВВЕДЕНИЕ 

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

MATLAB предназначен прежде всего  для программирования численных  алгоритмов. Он разрабатывается  уже более 15 лет и возник на  основе более ранних прикладных  пакетов LINPACK и EIGPACK, созданных в 1970-е  гг. в США, и в свою очередь  повлиял на появление таких  систем, как MathCad, MAPLE и Mathematica. Совершенствование системы MATLAB происходило как в связи с достижениями в вычислительной математике, так и в связи с изменениями в архитектуре персональных компьютеров и развитием общесистемных средств. Со временем MATLAB был дополнен целым рядом уже упоминавшихся приложений (toolboxes), далеко раздвинувших границы его применимости. Далее речь пойдет лишь о ядре MATLAB'а, которое мы будем называть системой, и конкретно о ее версии 5.2, выпущенной фирмой MathWorks в январе 1998 г.

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

 

 

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

Достоинства:

  1. «элегантная поддержка матриц»;
  2. удобный графический интерфейс;
  3. простота в работе.

 

Недостатки:

  1. дороговизна лицензий;
  2. неполная поддержка статистических функций;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Содержание задания №1

 

 

1) Рассчитать целочисленные  выражения U и R.

2) Разработать блок-схему  для арифметических выражений  A и B и параметра F.

3) Заполнить таблицу

Вид данных:

вх / вых данные

Математическое обозначение

Соответствующий индикатор

Тип данных

       
       

 

4) В MATLAB создать приложение согласно разработанной блок-схеме. В программе предусмотреть вывод всех исходных и вычисленных значений через интерфейс. Вывести значения A, B и F в двух форматах (с плавающей и фиксированной точкой). Проверить работоспособность программы в режиме отладки. В заголовке указать ФИО автора, группу и вариант.

*значения  X и Y вводятся с клавиатуры.


 

 

 

 

 

 

 

 

 

 

 

 

 

Подготовка программы для выполнения задания

1) Открываем приложение  MATLAB.

2) В меню создаем New script.

 

3) Сохранение script.

В появившемся окне Editor нажимаем на кнопку "Run"    При нажатии кнопки Run наш скрипт сохраняется. Сохраняем наш файл в нужную папку и называем файл, используя только латиницу.

4) Для последующей работы  в Commander Window очищаем сообщение с помощью команды clc (Clear Command Window).

Выполнение задания

 

1. Расчет U и R.

По заданию нам необходимо рассчитать значения U и R. Для начала преобразуем формулы для среды MATLAB. Они будут выглядеть следующем образом.

U=fix(26/9) - 5

R=27 - rem(16,3)

Записываем в редактор Editor формулы U и R. Результаты выводятся в Command Window.

Ответ: U=-3; R=26;

2. Алгоритм расчетов выражений.

Логическая структура для расчетов выражений А и В будет следование.

Следование - последовательность операторов (групп операторов), выполняемых друг за другом в порядке следования в тексте программы

Ниже представлен алгоритм расчетов арифметических выражений А и В.

 





 

 


 


 

Логическая структура для расчета параметра F будет ветвление.

Ветвление - управляющая структура, которая в зависимости от выполнения заданного условия определяет выбор для исполнения одного из двух или более заданных в этой структуре групп операторов;



 

 

 

 

 

 

 

                 ДА НЕТ



3. Заполнение таблицы.

Вид данных:

вх / вых данные

Математическое обозначение

Соответствующий индикатор

Тип данных

Входные

X

X

Real

Входные

Y

Y

Real

Входные

U

U

Integer

Входные

R

R

Integer

Входные

d

d

Real

Входные

z

z

Real

Выходные

A

A

Real

Выходные

B

B

Real

Выходные

F

F

Real




 

4. Создание приложения в MATLAB

1. Создание интерфейса.

 

В Command Window прописываем команду clc, а затем создаем графический интерфейс с помощью команды guide. 

При запуске команды guide появляется окно GUIDE Quick Start.

 

 

 

 

 

 

 

 

 

 

 

Нажимаем на флажок Save new figure as и сохраняем в нужную папку и нажимаем кнопку "ОК". Имя файлы обязательно писать только на Латинице.  
*для открытия существующего файла нужно перейти на вкладку Open Existing GUI и выбрать путь к этой папке.

 

После нажатия кнопки "ОК" появляется окно редактора GUI Layout Editor

 

В этом редакторе можно вручную создавать все элементы интерфейса: панели, кнопки и т.д.

2. Подготовка интерфейса.

 

На этом этапе нам необходимо подготовить интерфейс для работы приложения. Для этого нам понадобятся следующие компоненты:

  • кнопка Push Button , при нажатии на которую наше приложение будет рассчитывать наши параметры.
  • поле Edit Text , необходимое для ввода X и Y.
  • компонент Static Text . В этот компонент будет выводится значения.

 

 

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

 

 

Для редактирования компонентов нужно нажать на них два раз. В окне Inspector  можно изменять различные параметры, например, положение компонентов, его цвет, текст в нем,  его размеры и т.д.

Для нашего задания изменим параметр FontSize (изменение размера текста), String(редактирование текста на компоненте) и BackgroundColor (цвет заливки компонента).

После редактирования интерфейс выглядит следующим образом:

После подготовки нашего интерфейса, нажимаем "Run" . Открывается рабочее окно, где можно набрать значения в Edit Text или нажать кнопку Push Button. 

* При нажатии кнопки "Run" все наши изменения  с интерфейсом записываются в виде кода в файл, который мы подготовили для интерфейса.

Так как мы не задали никакого действия под кнопку, на интерфейсе ничего не происходит. Поэтому мы закрываем запустившееся окно и переходим непосредственно к его коду.

 

 

 

3. Завершение создания  приложения.

 

На этом этапе нам нужно, чтобы приложение считывало значения из Edit Text при нажатии клавиши, а затем подставляло это значение в наши арифметические выражения.

1) Считывание значений из Edit Text с помощью Get function.

get (handles.tag name, 'tag property')

tag name - имя компонента;

tag property - свойства компонента;

! При использовании текста  из Edit Text  tag property будет 'string'.

Итак, команда для считывания X и Y в нашем приложении будет выглядеть следующим образом:

x = get(handles.edit1, 'string');

y = get(handles.edit2, 'string');

Запишем код в файл в функции Push Button:


2) Преобразование параметра из  string в integer/real.

Программное обеспечение MATLAB берет значение из Edit Text в виде символьной строки. Для использования значений параметров необходимо преобразовать формат значений (из формата string в формат real/integer). Это можно сделать, используя команду

sscanf (variable, format)

То есть с помощью этой команды мы считываем значения в текстовом формате и переводим эти значения в численный формат.

Для нашего приложения изменим формат значений X и Y:

X = sscanf (x, '%f')

Y = sscanf (y, '%f')

 

Запишем код в файл в функции Push Button:

3) Запись арифметических выражений  на языке MATLAB.

 

 

 

 

4) Вывод в компонент Static Text значения A, B и F с помощью команды Set function.

 

set(handles. tag name, 'tag property', variable)

tag name - имя компонента;

tag property - свойства компонента;

variable - параметр, который мы используем.

Итак, команда для считывания X и Y в нашем приложении будет выглядеть следующим образом:

set(handles.text6,'string',A)

set(handles.text7,'string',B)

set(handles.text8,'string',F)

Запишем код в файл в функции Push Button:

 

5) Запуск приложения с помощью  кнопки Run .

 

6) Заполнение заголовка.

По заданию в заголовке нужно записать ФИО, номер группы и вариант. Для этого открываем окно редактора GUI Layout Editor. Кликаем 2 раза на поле фигуры. Меняем параметр Name.

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

(ниже представлены примеры работы  программы).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАМЕТКИ

Некоторые моменты, на которые стоит обратить внимание.

1. После входа в программу, необходимо  сразу же сохранится.

2. Если у Вас есть параметр  X и выражение Y, в котором используется параметр X, то необходимо сохранять размер текста параметра. Пусть, Y=sin(X), а параметр X=1. При написании кода в MATLABE будет:

Но если параметр в выражении Y написать с маленькой буквы, то MATLAB выведет ошибку, так как параметр X и x - это разные параметры.

 

Аналогично, если вы будете выводить значение в Static Text , то необходимо указать "настоящее" tag name (имя компонента).

set(handles.text6,'string',A)  -  правильно 
set(handles.Text6,'string',A) -  ошибка

  1. Необходимо учесть ОДЗ (область допустимых значений) для выражений      A и B.

Для арифметического выражения B ОДЗ будет от -∞ до +∞.

Для арифметического выражения A в ОДЗ не входят X=R=26 и Y=0. Если в Edit Text записываются данные значения, то необходимо записать в text6 «значение X/Y не удовлетворяют».  
Чтобы выполнить данное условие, необходимо сделать условия на параметры X и Y.

Код будет выглядеть следующим образом:

if Y==0 set(handles.text6,'string','Значение Y не удовлетворяет!')

elseif X==R set(handles.text6,'string','Значение X не удовлетворяет!')

else set(handles.text6,'string',A)

end

 

                                                                          

 

Содержание задания №2

 

Создать приложение для построения графика кусочной функции f(x), определенной на интервале [a,b] следующим образом:

Начальные значения параметров a,b,c, количество узлов N  и вид функции F1(x), F2(x) заданы:

Ход работы:

1. Создать проект  и сохранить его в отдельной  папке. В заголовке интерфейса  указать ФИО, № группы и вариант.

Информация о работе Программирование арифметических выражений и построение кусочного графика функции с помощью среды MATLAB