Многомерные массивы

Автор работы: Пользователь скрыл имя, 15 Февраля 2013 в 11:13, курсовая работа

Описание

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

Содержание

1. Введение
2. Постановка задачи
3. Метод решения задачи
4. Теоретическая часть
5. Практическая часть
6. Технические требования
7. Тестирование программы
8. Результат работы программы
9. Заключение
10. Список использованной литературы
11. Приложения

Работа состоит из  1 файл

Курсовая MAPLE.doc

— 1.99 Мб (Скачать документ)

> A:=matrix([[4,0,5],[0,1,-6],[3,0,4]]);

> det(A);

1

> minor(А,3,2);

> det(%);

-24

> trace(A);

 

Обратная  и транспонированная матрицы.

Обратную матрицу А- , такую что А- 1А=АА- 1=Е, где Е - единичная матрица, можно вычислить двумя способами:

  1. evalm(1/A);
  2. inverse(A).

Транспонирование матрицы А – это изменение местами строк и столбцов. Полученная в результате этого матрица называется транспонированной и обозначается А'. Транспонированную матрицу А' можно вычислить командойtranspose(A).

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

> inverse(A);

> multiply(A,%);

> transpose(A);

 

 

Выяснение типа матрицы.

Выяснить положительную  или отрицательную определенность матрицы можно при помощи команды definite(A,param),где param может принимать значения: 'positive_def' – положительно определена (A>0), 'positive_semidef' – неотрицательно определенная  , 'negative_def' – отрицательно определенная (A<0), 'negative_semidef' -неположительно определенная  . Результатом действия будет константа true – подтверждение, false – отрицание сделанного предположения. Например:

> A:=matrix([[2,1],[1,3]]);

> definite(А,'positive_def');

true

Проверить ортогональность  матрицы А можно командой orthog(A).

> В:=matrix([[1/2,1*sqrt(3)/2],

[1*sqrt(3)/2,-1/2]]);

> orthog(В);

true 

 

Функции от матриц.

Возведение матрицы А в степень n производится командой evalm(A^n). Вычисление матричной экспоненты   возможно с помощью команды exponential(A). Например:

> Т:=matrix([[5*a,2*b],[-2*b,5*a]]);

> exponential(Т);

> evalm(Т^2);

 

 

 

 

Задание 2.

  1. Даны матрицы:  ,  ,  . Найти: (AB)C , detA, detB, detC, det[(AB)C]. Наберите:

> with(linalg):restart;

> A:=matrix([[4,3],[7,5]]):

> B:=matrix([[-28,93],[38,-126]]):

> C:=matrix([[7,3],[2,1]]):

> F:=evalm(A&*B&*C);

> Det(A)=det(A); Det(B)=det(B); Det(C)=det(C);

Det(F)=det(F);

Det(A)=- 1

Det(B)=- 6

Det(C)=1

Det(F)=6

  1. Дана матрица  , найти: detA,  , A’, det(M22). Наберите:

> A:=matrix([[2,5,7],[6,3,4],[5,-2,-3]]);

> Det(A)=det(A);

Det(A)=- 1

> transpose(A);

> inverse(A);

> det(minor(A,2,2));

- 41

  1. Найти ранг матрицы  .

> A:=matrix([[8,-4,5,5,9], [1,-3,-5,0,-7],

[7,-5,1,4,1], [3,-1,3,2,5]]):

> r(A)=rank(A);

r(A)=3

  1. Вычислить  , где  .

> exponential([[3,-1],[1,1]]);

  1. Дана матрица  . Найти значение многочлена  .

> A:=matrix([[5,1,4],[3,3,2],[6,2,10]]):

> P(A)=evalm(A^3-18*A^2+64*A);

Спектральный  анализ матрицы

Собственные числа и собственные векторы  матрицы.

Из курса линейной алгебры известно, что если Ах=l х, то вектор х называется собственным вектором матрицы А, а число l– собственным числом, соответствующим данному собственному вектору. Совокупность всех собственных чисел матрицы называется спектром матрицы. Если в спектре матрицы одно и тоже собственное число встречается k раз, то говорят, что кратность этого собственного числа равна k.

Для нахождения собственных  чисел матрицы А используется команда eigenvalues(A). Для нахождения собственных векторов матрицы А используется команда eigenvectors(A). В результате выполнения этой команды будут получены собственные числа, их кратность и соответствующие собственные векторы.

Чтобы понять, в каком  виде получаются результаты выполнения команды eigenvectors, внимательно разберитесь со следующим примером: матрица   имеет 3 собственных вектора:  , отвечающий собственному числу   кратности 1,  , отвечающий собственному числу   кратности 1,  , отвечающий собственному числу   кратности 1. Найдем их в Maple:

> A:=matrix([[3,-1,1],[-1,5,-1],[1,-1,3]]):

> eigenvectors(A);

[2,1,{[-1,0,1]}], [3,1,{[1,1,1]}], [6,1,{[1,-2,1]}]

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

 

Характеристический  и минимальный многочлены матрицы.

Для вычисления характеристического  многочлена   матрицы A используется командаcharpoly(A,lambda).

Минимальный многочлен (делитель) матрицы А можно найти с помощью команды minpoly(A,lambda). 

 

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

Привести матрицу А к нормальной форме Жордана можно командой jordan(A).

К треугольному виду матрицу А можно привести тремя способами:

  1. команда gausselim(A) приводит матрицу А к треугольному виду методом Гаусса;
  2. команда ffgausselim(A) приводит матрицу А к треугольному виду методом Гаусса без деления. Эта команда предпочтительней для работы с символьными матрицами, так как не производит нормировку элементов и исключает возможные ошибки, связанные с делением на нуль;
  3. команда gaussjord(A) приводит матрицу А к треугольному виду методом Гаусса-Жордана.

Характеристическую матрицу   можно вычислить командой charmat(A,lambda).

Задание 3.

  1. Дана матрица  . Найти ее собственные векторы и собственные числа.

> U:=matrix([[3,2-I],[2+I,7]]):

> eigenvectors(U);

,

  1. Дана матрица  . Найти собственные векторы, собственные числа, характеристический многочлен и минимальный многочлен, Жорданову форму.

> A:=matrix([[3,-I,0],[I,3,0],[0,0,4]]):

> eigenvectors(A);

[2, 1, {([1, - I, 0])}], [4, 2, {([0, 0, 1]), ([- I, 1, 0])}]

> P(lambda):=charpoly(A,lambda);

> d(lambda):=minpoly(A,lambda);

> jordan(A);

  1. Дана матрица  .

Привести матрицу А к Жордановой форме, треугольному виду, найти ее характеристическую матрицу.

> A:=matrix([[1,-3,4],[4,-7,8],[6,-7,7]]):

> j:=jordan(A);

> g:=gausselim(A);

> F(A):=charmat(A,lambda);

Самостоятельно проверьте, чем будет отличаться результат  выполнения команды ffgausselim(A) от gausselim(A) на этом примере.

Системы линейных уравнений. Матричные уравнения

Системы линейных уравнений и матричные уравнения.

Система линейных уравнений   может быть решена двумя способами.

Способ 1: стандартная команда solve находит решение системы линейных уравнений, записанных в развернутом виде:

.

Способ 2: команда linsolve(A,b) из пакета linalg находит решение уравнения  . Аргументы этой команды: А – матрица, b – вектор.

С помощью команды linsolve(A,b) можно найти решение матричного уравнения АХ=В, если в качестве аргументов этой команды указать, соответственно, матрицы А и В. 

 

Ядро матрицы.

Ядро матрицы А – это множество векторов х таких, произведение матрицы А на которые равно нулевому вектору:  . Поиск ядра матрицы А эквивалентен решению системы линейных однородных уравнений. Найти ядро матрицы А можно командой kernel(A).

Задание 4.

  1. Найти общее и одно частное решение системы: 

> eq:={2*x-3*y+5*z+7*t=1, 4*x-6*y+2*z+3*t=2,

2*x-3*y-11*z-15*t=1}:

> s:=solve(eq,{x,y,z});

s:={

, y=y, 
}

Для нахождения частного решения следует выполнить подстановку  конкретного значения одной из переменных при помощи команды subs:

> subs({y=1,t=1},s);

{

, 1=1}

  1. Решить матричное уравнение: АX=В; где  , 

> A:=matrix([[1,2],[3,4]]):

> B:=matrix([[3,5],[5,9]]):

> X:=linsolve(A,B);

  1. Дана матрица  .

Найти ее ранг, дефект: d(A)=n–r(A), где n – размерность квадратной матрицы, r – ее ранг. Найти ядро А. Наберите:

> A:=matrix([[1,1,0],[0,2,-1],[1,3,-1]]):

> r(A):=rank(A);

r(A):=2

> d(A):=rowdim(A)-r(A);

d(A):=1

> k(A):=kernel(A);

k(A):={[- 1,1,2]}

 

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

MATLAB поддерживает следующие  функции при работе с многомерными  массивами:

Функция

Назначение

cat

Сформировать многомерный  массив.

ndims

Определить размерность  многомерного массива.

ndgrid

Сгенерировать сетку  для многомерной функции.

permute, ipermute

Переставить размерности.

shiftdim

Изменить размерность  массива.

squeeze

Удалить одну из размерностей.


Пользователь может  расширить состав этих функций, создавая специальные М-файлы для обработки  конкретных данных.

 

 

 

 

СПИСОК  ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

 

1.Савотченко С. Е.  Методы решения математических  задач в Maple: Учеб. Пособие. –  М.: Информационные технологии, 2010.

2.Федосеев В.В. Экономико-математические  методы и прикладные модели: Учеб. Пособие – М.:ЮНИТИ, 2009.

3. Яковлев С.А. Моделирование  систем. – М.: Советское радио

4. Математическое программирование: Учебное пособие для экономических вузов / Н.Ш. Кремер, Б.А. Путко, И.М. Тришин, М.Н. Фридман; Под ред. Н.Ш. Кремера.

5. Сдвижков О.А. Математика  на компьютере: Maple 8.  

Заключение

Большие возможности  в сочетании с прекрасно выполненным  и

удобным пользовательским интерфейсом и мощной справочной

системой делают Maple первоклассной программной средой

для решения самых  разнообразных математических задач,

способной оказать пользователям  действенную помощь в

решении учебных и  реальных научно-технических задач.

 


Информация о работе Многомерные массивы