Реферат по предмету "Информатика, программирование"


Работа с массивами и решение систем уравнений в Mathcad

Содержание
 
Введение1. Ранжированныепеременные2. Работа с массивами
3. Решениесистем линейных уравнений
4. Решениенелинейных уравнений
5. Решениесистем нелинейных уравнений
Заключение
Библиографический список
 

Введение
 
Одна из задачЭВМ — автоматизация труда, повышение эффективности научных исследований.Основная особенность ЭВМ — ориентация на применение пользователями, не владеющимиязыками программирования. Такой подход позволяет преодолевать языковой барьер,отделяющий человека от машины. С этой целью разрабатываются пакеты прикладных программ,рассчитанные на широкие круги специалистов. К подобным пакетам относитсяMATHCAD.
MATHCAD — универсальныйматематический пакет, предназначенный для выполнения инженерных и научныхрасчетов. Основное преимущество пакета — естественный математический язык, накотором формируются решаемые задачи.
Объединениетекстового редактора с возможностью использования общепринятого математическогоязыка позволяет пользователю получить готовый итоговый документ. Пакет обладаетширокими графическими возможностями, расширяемыми от версии к версии. Практическоеприменение пакета существенно повышает эффективность интеллектуального труда.
Цельработы:изучение выполнения основных операций с массивами, решения систем линейных инелинейных уравнений в Mathcad.
1. Ранжированные переменные
 
В математикечасто возникает необходимость в задании некоторого ряда значений.Например, при вычислении /> нужно сформировать ряд чисел от 1до N с шагом 1 и перемножить их. Для создания таких рядов в Mathcadиспользуются ранжированные переменные. В простом случае для созданияранжированной переменной используется выражение
 
Name:=Nbegin…Nend,
Где Name –имя переменной, Nbegin – начальное значение переменной, Nend – ее конечноезначение. Символ «…» (он вводится с клавиатуры знаком точка с запятой «;»)указывает на изменение переменной в заданных границах. Если Nbeginтошаг изменения переменной будет равен +1, в противном случае –1. Например,выражение a:=1…10 описывает ранжированную переменную a созначениями от 1 до 10.
Для созданияранжированной переменной общего вида используется выражение
 
Name:=Nbegin,(Nbegin+Step)…Nend,
где Step — заданный шаг изменения переменной (он должен быть положительным, если Nbeginи отрицательным в противном случае).
Например,выражение a:=1, 1.5, …10 описывает ранжированную переменную a созначениями от 1 до 10 с шагом 0,5.
Ранжированныепеременные широко применяются для представления функций в виде таблиц вывода,а также для построения их графиков.
Если посленекоторого выражения с ранжированной переменной поставить знак равенства, топосле щелчка мышью на экране будет выведена таблица значений этого выражения.Такие таблицы называются таблицами вывода.
Необходимоучитывать следующее свойство таблиц вывода: если количество значенийранжированной переменной и, соответственно, строк в таблице вывода больше 16,то выводятся первые 16 строк. Если указатель мыши находится в пределах таблицы,то щелчок левой кнопкой мыши приводит к появлению вертикальной полосыпрокрутки, позволяющей просмотреть все строки таблицы.
Помните, что задание ранжированных переменных эквивалентнозаданию конечных циклов.
Примеры использованияранжированных переменных приведены на рисунке 1.1.
/>Рис. 1.1. Примеры использованияранжированных переменных
2. Работа с массивами
 Ранжированнаяпеременная отличается от вектора (одномерного массива) тем, что невозможноиспользование ее отдельных значений. При необходимости иметь доступ к каждомузначению переменной со многими компонентами она должна быть задана в видеодномерного (вектора) и двумерного (матрицы) массива.
Местоположениеэлемента массива задается одним индексом для вектора и двумя для матрицы.Индексы могут быть только положительными целыми числами. Для вводаиндекса используется знак « [ » – прямая открывающая скобка.
Для заданиямассивов можно либо воспользоваться командой Matrices меню Math, либонажать комбинацию клавиш Ctrl+V, либо щелкнуть на значке с изображениемшаблона матрицы. Любое из этих действий вызывает появление диалогового окна, вкотором надо указать количество строк m и столбцов n в массиве.При m=1 получим вектор-столбец, а при n=1 – вектор-строку.
В отношениимассивов действуют те же правила присваивания и вывода, что и для обычныхпеременных. В частности, с помощью оператора присваивания можно создать массивзаданного размера и заданного типа без ручного заполнения шаблона (рисунок 2.1.).

/>
Рис. 2.1Пример создания матриц без использования шаблонов матриц
Для работы смассивами Mathcad содержит ряд операторов и функций. Ниже представленыоператоры для работы с векторами и матрицами. В таблице используются следующиеобозначения: V – для векторов, M – для матриц, Z – для скалярных величин.Оператор Ввод Описание V1+V2 V1+V2 Сложение векторов V1 и V2 V1-V2 V1-V2 Вычитание векторов V1 и V2 -V -V Смена знака у элементов вектора V -M -M Смена знака у элементов матрицы M V-Z V-Z Вычитание из всех элементов вектора V скаляра Z Z*V, V*Z Z*V, V*Z Умножение вектора V на скаляр Z Z*M, M*Z Z*M, M*Z Умножение матрицы M на скаляр Z V1*V2 V1*V2 Скалярное умножение векторов V1 и V2 M*V M*V Умножение матрицы M на вектор V M1*M2 M1*M2 Умножение матрицы M1 на матрицу M2
/> V/Z Деление всех элементов вектора V на скаляр Z
/> M/Z Деление всех элементов матрицы M на скаляр Z M-1 M^-1 Обращение матрицы M Mn M^n Возведение матрицы M в степень n |V| |V Вычисление модуля вектора V |M| |M Вычисление определителя матрицы M VT V Ctrl+! Транспонирование вектора V MT M Ctrl+! Транспонирование матрицы M V1´V2 V1 Ctrl+* V2 Векторное умножение векторов V1 и V2
/> Alt+$ V Вычисление суммы элементов вектора V M M Ctrl+^ n Выделение n-ого столбца матрицы M Vn V[n Выделение n-ого элемента вектора V Mm,n M[(m,n) Выделение элемента (m, n) матрицы M
Существуетряд встроенных векторных и матричных функций. Они облегчают решениезадач линейной алгебры и других сфер приложения векторов и матриц.length(V) возвращает число элементов вектора last(V) возвращает номер последнего элемента вектора max(V) возвращает максимальный по значению элемент вектора или матрицы min(V) возвращает минимальный по значению элемент вектора или матрицы augment(M1,M2) объединяет в одну две матрицы, имеющие одинаковое число строк (объединение идет бок о бок) identity(n) создает единичную квадратную матрицу размером n*n stack(M1,M2) объединяет в одну две матрицы, имеющие одинаковое число столбцов, располагая М1 над М2 submatrix(A,ir,jr,ic,jc) возвращает субматрицу, состоящую из всех элементов содержащихся в строках от ir по jr и столбцов с ic по jc (ir£jr и ic£jc) diag(V) создает диагональную матрицу, элементы главной диагонали которой равны элементам вектора V matrix(m,n,f) создает матрицу, в которой (i, j) элемент равен f(i,j), где i=0, 1, …, m и j=0, 1, …, n; f(i,j) — некоторая функция cols(M) возвращает число столбцов матрицы M rows(M) возвращает число строк матрицы M rank(M) возвращает ранг матрицы M tr(M) возвращает след (сумму диагональных элементов) матрицы M mean(M) возвращает среднее значение элементов матрицы M
Примерыработы с матрицами приведены на рисунке 2.2.

/>
Рис. 2.2.Примеры работы с матрицами
3. Решениесистем линейных уравнений
 
Векторные иматричные операторы и функции позволяют решать широкий круг задач линейнойалгебры.
Например,если задана матрица A и вектор B для системы линейных уравнений в матричнойформе />, товектор решения X можно получить из уравнения />.
Посколькурешение систем линейных уравнений довольно распространенная задача, то вMathcad введена специальная функция lsolve(A,B), котораявозвращает вектор X для системы линейных уравнений /> при заданной матрицекоэффициентов A и векторе свободных членов B. Если уравнений n, то размервектора B должен быть n, а матрицы A — n´n.
Пустьнеобходимо решить систему уравнений
/>.
В нашемслучае матрицы A и B определяется следующим образом:
/>, />. Два способарешения этой системы уравнений в Matcad приведены на рисунке 2.3.
/>
Рис. 2.3.Примеры решения системы линейных уравнений
4. Решениенелинейных уравнений
Многиеуравнения, например трансцендентные, не имеют аналитических решений. Однако онимогут решаться численными методами с заданной погрешностью (не более значения,заданного системной переменной TOL).
Для уравненийвида /> решениенаходится с помощью следующей функции:

root(Выражение,Имя_переменной).
Эта функциявозвращает с заданной точностью значение переменной, при котором выражениеравно 0. Функция реализует вычисления итерационным методом, причем можно задатьначальное значение переменной. Это особенно полезно если уравнение имеетнесколько корней.
Для поискакорней полинома степени n существует специальная функция polyroots(V).Она возвращает вектор всех корней полинома степени n, коэффициенты которогонаходятся в векторе V, который имеет длину n+1. Заметим, что корни полиномамогут быть как вещественными, так и комплексными числами. Не рекомендуетсяпользоваться этой функцией, если степень полинома выше пятой, поскольку в этомслучае трудно получить малую погрешность вычисления корней.
Примериспользования функции root приведен на рисунке 2.4, а функции polyroots — на рисунке 2.5.
/>
Рис. 2.4.Пример использования функции root
 

/>
Рис. 2.5. Примериспользования функции polyroots
 
5. Решениесистем нелинейных уравнений
 
При решениисистем нелинейных уравнений используется специальный вычислительный блок,открываемый директивой Given и имеющий следующую структуру:
-  Начальные условия(задаются в виде переменная:=значение).
-  Директива Given.
-  Уравнения.
-  Ограничительные условия.
-  Выражения с функциями Find,Minerr, Maximize, Minimize.
Начальныеусловия определяют начальные значения искомых переменных. Они задаются обычнымприсваиванием переменным начальных значений. Если переменных несколько, тоиспользуется векторное представление для начальных значений. Уравнения задаютсяв виде expr_left=expr_right с применением жирного знака равно = междулевой и правой частью каждого уравнения (вводится с клавиатуры как Ctrl+= илипанели булевых операторов). Ограничительные условия обычно задаются в виденеравенств и равенств, которые должны удовлетворяться при решении уравнений.
В блокеиспользуется одна из следующих функций:
-  Find(v1,v2,…,vn) — возвращает значениеодной или ряда переменных для точного решения;
-  Minerr(v1,v2,…,vn) — возвращает значениеодной или ряда переменных для приближенного решения.
Между этимифункциями существует принципиальное различие. Первая функция используется,когда решение реально существует, хотя и не является аналитическим. Втораяфункция пытается найти наилучшее приближение даже к несуществующему значениюпутем минимизации среднеквадратичной погрешности решения.
Логическиеоператоры в качестве ограничительных условий вводятся следующим образом:Оператор Клавиши Описание e1>e2 e1>e2 e1 больше e2 e1В качествепримера рассмотрим решение (рис. 2.6.) следующей системы нелинейных уравнений:
/>.
mathcadматрица уравнение линейный

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

Заключение
И так, перечислимосновные достоинства MATHCAD`a.
Во-первых,это универсальность пакета MATHCAD, который может быть использован для решения самыхразнообразных инженерных, экономических, статистических и других научных задач.
Во-вторых, программированиена общепринятом математическом языке позволяет преодолеть языковой барьер междумашиной и пользователем. Потенциальные пользователи пакета — от студентов доакадемиков.
И в-третьих,совместно применение текстового редактора, формульного транслятора и графическогопроцессора позволяет пользователю в ходе вычислений получить готовый документ.
Но, ксожалению, популярный во всем мире пакет MATHCAD фирмы MathSoft, в Россиираспространен еще слабо, как и все программные продукты подобно рода.

Библиографическийсписок
 
1. ДьяконовВ.П. Matcad 8/2000: Специальный справочник. — СПб.: Питер, 2001. — 592 с.
2. АртемкинД.Е., Пылькин А.Н. Основы работы в системе MATHCAD. Рязань: Рязанский областнойинститут развития образования, 1999. — 72 с.
3. СоломоникВ.С. Сборник вопросов и задач по математике. — М.: Высшая школа, 1978. — 264 с.
4. ГусевВ.А., Мордкович А.Г. Математика: Справочные материалы. — М.: Просвещение,1988. — 416 с.


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.