Программы математических расчётов (МatLab )

Автор: Пользователь скрыл имя, 25 Марта 2013 в 16:21, курсовая работа

Краткое описание

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

Оглавление

ВВЕДЕНИЕ 7
ГЛАВА 1. СИСТЕМЫ МАТЕМАТИЧЕСКИХ РАСЧЁТОВ 8
1.1 Основные сведения о системах математических расчётов 8
1.2. Классификация пакетов математических программ. Суперкалькуляторы. 11
ГЛАВА 2. ПРОГРАММА МАТЕМАТИЧЕСКИХ РАСЧЁТОВ MATLAB 14
2.1. Общая характеристика MatLab. 14
2.2 Рабочий стол (desktop) системы MATLAB. 18
2.3. Работа в среде MatLab 20
2.3.2. Выражения 25
2.3.3. Графика 29
2.3.4. Командное окно 37
2.3.5 Среда MATLAB 39
2.3.6 Справка и текущая документация 40
ГЛАВА 3. АЛГОРИТМИЗАЦИЯ И ПОГРАММИРОВАНИЕ НА ЯЗЫКЕ PASCAL 44
3.1. Постановка задачи 44
3.2. Контрольный пример 44
3.3. Блок-схема алгоритма решения задачи 45
3.4. Текст программы на языке Pascal 46
3.5. Результат выполнения программы на контрольном примере 47
ЗАКЛЮЧЕНИЕ 48
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 49

Файлы: 1 файл

ГОТОВАЯ КУРСОВАЯ.doc

— 393.50 Кб (Скачать)

t = 0:pi/10:2*pi;

[Χ,Υ,Ζ] = cylinder(4*cos(t));

subplot(2,2,1)

mesh(X)

subplot(2,2,2); mesh(Y)

subplot(2,2,3);mesh(Z)

subplot(2,2,4); mesh(X,Y,Z)

3.3 Управление осями

Функция axis имеет несколько  возможностей для настройки масштаба, ориентации и коэффициента сжатия.

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

axis( [xmin xmax ymin ymax] )

В функции axis можно также  использовать ключевые слова для управления внешним видом осей. Например

axis square

создает χ и у оси  равной длины, а 

axis equal

создает отдельные отметки  приращений для χ и у осей одинаковой длины. Так функция

plot(exp(i*t))

следующая либо за axis square, либо за axis equal превращает овал в правильный круг.

axis auto

возвращает значения по умолчанию и переходит в  автоматический режим.

axis on

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

axis off

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

grid off

выключает сетку координат, а

grid on

включает её заново.

Подписи к осям и заголовки

Функции xlabel, ylabel, zlabel добавляют  подписи к соответствующим осям (см. рис.5.), функция title добавляет заголовок в верхнюю часть окна, а функция text вставляет текст в любое место графика. Использование ТЕХ представления позволяет применять греческие буквы, математические символы и различные шрифты. Следующий пример демонстрирует эту возможность.

t = -pi:pi/100:pi;

у = sin(t) ;

plot(t,у)

axis([-pi pi -1 1])

xlabel( ' -\pi \leq \itt \leq \pi ' )

ylabel( ' sin(t) ' )

title( ' График функции  sin ' )

text(-l, -1/3, ' \it{отметьте  нечетную симметрию} ' )

Рис.5. Пример подписи к осям

Функции mesh и surface

MATLAB определяет поверхность  как ζ координаты точек над  координатной сеткой плоскости х-у, используя прямые линии для соединения соседних точек. Функции mesh и surface отображают поверхность в трех измерениях. При этом

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

Визуализация  функций двух переменных

Для отображения функции  двух переменных, z = f (x,y), создаются  матрицы X и Y, состоящие из повторяющихся  строк и столбцов соответственно, перед использованием функции. Затем используют эти матрицы для вычисления и отображения функции. Функция meshgrid преобразует область определения, заданную через один вектор или два вектора x и у, в матрицы X и Υ для использования при вычислении функции двух переменных. Строки матрицы X дублируют вектор х, а столбцы Υ - вектор у.

Для вычисления двумерной  функции sinc , sin(r)/r, в области х-у  поступают следующим образом

[Χ, Υ] = meshgrid(-8:.5:8);

R = sqrt(X.^2+Y.^2)+eps;

Ζ = sin(R)./R; mesh (Χ, Υ, Ζ)

В этом примере R - это расстояние от начала координат, которому соответствует центр матрицы. Добавление eps позволяет избежать неопределенности О/О в начале координат.

Двумерные массивы могут  отображать как изображения, где  элементы массива определяют их яркость  и цвет. Например

load durer whos

покажет, что файл durer.mat в директории demo состоит из матрицы  размером 648 на 509 (матрицы X) и матрицы  размером 128 на 3 (матрицы тар). Элементы матрицы X - это целые числа от 1 до 128, которые служат индикаторами в цветном отображении, тар. Следующие строки

imag(X)

colormap(map)

axis image

воспроизводят гравюру Дюрера. Высокое разрешение магического квадрата, находящегося в правом верхнем углу, доступно в другом файле. Набирая

load detail

и используя стрелку 'вверх' на клавиатуре для повторного запуска команд image, colormap и axis.

colormap(hot)

добавит цветовую гамму  двадцатого века на гравюру шестнадцатого.

Печать графики

Опция Print в меню File и  команда print печатают графику MATLAB. Меню Print вызывает диалоговое окно, которое позволяет выбирать общие стандартные варианты печати. Команда print обеспечивает большую гибкость при выводе выходных данных и позволяет контролировать печать из М-файлов. Результат может быть послан прямо на принтер, выбранный по умолчанию, или сохранен в заданном файле. Возможно широкое варьирование формата выходных данных, включая использование PostScript.

Например, следующая команда  сохранит текущее окно изображения  как цветной PostScript Level 2 Encapsulated в файле magicsquare.eps:

print -depsc2 magicsquare.eps

Важно знать возможности  вашего принтера перед использованием команды print. Например, файлы Postscript Level 2 обычно меньше и воспроизводятся  намного быстрее, чем Postscript Level 1. Однако, не все Postscript принтеры поддерживают Level 2, таким образом вам необходимо узнать, что может обрабатывать ваше устройство вывода. MATLAB использует дифференцированный подход для вывода графики и текста, даже для черно-белых устройств.

2.3.4. Командное окно

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

Если самый большой  элемент матрицы больше 103 или  самый маленький меньше 10-3, MATLAB применяет  общий масштабный коэффициент для  форматов short и long. В добавление к  командам format, рассмотренным выше

format compact

убирает много пустых линий, появляющихся на выходе. Это  позволяет вам видеть больше информации на экране. Если вы хотите изменить контроль над форматом выходных данных, используйте  функции sprint/ и /print/.

Сокращение  выходных данных

При наборе выражения  и нажатии Return или Enter, MATLAB автоматически выводит результат на экран. Однако если в конце строки поставить точку с запятой, MATLAB проведет вычисления, но не отобразит их. Это часто бывает нужно при создании больших матриц. Например,

A = magic(100);

Длинные командные  строки

Если выражение не умещается на одной строке, используется троеточие, а за ним Return или Enter, для обозначения того, что выражение продолжается на следующей строке. Например

s = l -1/2 + 1/3 -1/4 + 1/5 - 1/6 + 1/7 . . . -1/8 + 1/9 - 1/10 + 1/11 - 1/12;

Пробелы вокруг знаков =, +, - не обязательны, но улучшают читаемость текста.

 

 

 

Редактор командной  строки

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

rho = (1 + sqt(5))/2

При ошибке в написании sqrt. MATLAB отвечет предупреждением

Undefined function or variable 'sqt'.

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

2.3.5 Среда MATLAB

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

Рабочее пространство

Рабочее пространство - это  область памяти, доступная из командной  строки MATLAB. Две команды, who и whos, показывают текущее содержание рабочего пространства. Команда who выдает краткий список, а команда whos размер и используемую память.

Ниже представлен вывод, осуществленный командой whos, на рабочем  пространстве, содержащем результаты из некоторых примеров этой книги. Он показывает различия в структуре  данных MATLAB. В качестве упражнения попробуйте найти сегмент кода, который соответствует каждой из ниже приведенных переменных.

whos

Name Size Bytes Class

A 4x4 128 double array

D 5x3 120 double array

Μ 10x1 3816 cell array

S 1x3 442 struct array

h 1x11 22 char array

η 1x1 8 double array

s 1x5 10 char array

ν 2x5 20 char array

Grand total is 471 elements using 4566 bytes.

Для удаления всех существующих переменных из рабочего пространства MATLAB, вводят

clear

Команда save

Команда save сохраняет  содержание рабочего пространства в МАТ-файле, который может быть прочитан командой load в последующих сеансах работы MATLAB. Например,

save Augustl7th

сохраняет содержание всего  рабочего пространства в файле Augustl7th.mat. Если нужно, вы можете сохранить только определенные переменные, указывая их имена после имени файла.

2.3.6 Справка и текущая документация

Есть несколько способов получить текущую документацию по функциям MATLAB.

Команда help

Окно справки

MATLAB Help Desk

Текущие справочные страницы

Связь с The MathWorks, Inc.

Команда help

Команда help - это самый  основной способ определения синтаксиса и поведения отдельных функций. Информация отображается прямо в  командном окне. Например

help magic

выдаст

MAGIC Magic square.

MAGIC(Ν) is an N-by-N matrix constructed from the integers 1 through ΝΛ2 with equal row, column, and diagonal sums. Produces valid magic squares for N = 1,3,4,5,...

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

Все функции MATLAB организованы в логические группы и структура  директорий MATLAB базируется на этом группировании. Например, все функции линейной алгебры находятся в директории matfun. Чтобы вывести имена всех функций в этой директории с кратким описанием, надо набрать

help matfun

Matrix functions - numerical linear algebra.

Matrix analysis.

norm - Matrix or vector norm,

normest - Estimate the matrix 2-norm.

Команда lookfor

Команда lookfor позволяет  искать функции по ключевому слову. Она просматривает первую строку текста справки, называемую строкой H1, для каждой функции MATLAB и возвращает строки H1, содержащие заданное ключевое слово. Например, MATLAB не имеет функции с именем inverse. Поэтому ответ на запрос

help inverse

будет

inverse.m not found.

В то время как

lookfor inverse

найдет множество согласованных  ответов. В зависимости от того, какие toolboxes установлены, получаются соответствующие записи. Например

INVHILB Inverse Hubert matrix.

ACOS Inverse cosine.

ACOSH Inverse hyperbolic cosine.

ACOT Inverse cotangent.

ACOTH Inverse hyperbolic cotangent.

ACSC Inverse cosecant.

ACSCH Inverse hyperbolic cosecant.

ASEC Inverse secant.

ASECH Inverse hyperbolic secant.

ASIN Inverse sine.

ASINH Inverse hyperbolic sine.

ATAN Inverse tangent.

Добавление ключа -all в  команду lookfor, как, например,

lookfor -all

позволяет искать ключевое слово во всех записях справки, а не только в строке H1.

Печать текущих справочных страниц

Версии текущих справочных страниц, как и большинство документации, также доступно в формате PDF (Portable Document Format) через Help Desk. Эти страницы обрабатываются с помощью Adobe's Acrobat reader. Они воспроизводят внешний вид страниц после печати, полностью с шрифтами, графикой, с заданным форматом и рисунками. Это лучший способ получить печатные копии справочных материалов.

 

ГЛАВА 3. АЛГОРИТМИЗАЦИЯ И ПОГРАММИРОВАНИЕ НА ЯЗЫКЕ PASCAL

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

Составить блок-схему  и написать программу на языке Pascal. Расчёт прибыли, полученной от реализации некоторого набора товаров за неделю. Если даны наименования товаров, объёмы продаж в штуках и цена единицы товара.

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

3.2. Контрольный пример

Прибыль от продажи 1-го товара за неделю

Хлеб  10*5

Прибыль от продажи 2-го товара за неделю

Мука  30*10

Прибыль от продажи 3-го товара за неделю

Сок  45*7

Прибыль от продажи 4-го товара за неделю

Масло  15*6

Прибыль от продажи 5-го товара за неделю

Лимон  7*4

Общая прибыль=783,00

Наибольший спрос на товар мука =10,00000

 

Информация о работе Программы математических расчётов (МatLab )