рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА

ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА - раздел Математика, ...

C.А. СИНЮТИН

ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА


УДК 681.326.3(075)

A - 878

№ 4110

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

ТАГАНРОГСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ

ЮЖНОГО ФЕДЕРАЛЬНОГО УНИВЕРСИТЕТА

Приоритетный национальный проект «Образование»

Вычислительная математика

Учебное пособие

 

Для студентов специальности 210106 «Промышленная электроника», 230201 «Информационные системы и технологии», магистров и аспирантов, специализирующихся в области разработки программного обеспечения и цифровой обработки сигналов

 

РТФ

Таганрог 2007

  Синютин С.А. Вычислительная математика. Учебное пособие по дисциплине…  

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

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


Основы системы MATLAB

Запуск MATLAB

Чтобы запустить MATLAB на PC, дважды щелкните на иконку MATLAB. Для выхода из MATLAB необходимо набрать quit в строке MATLAB.

Если вам необходимо получить дополнительную информацию, наберите help в строке MATLAB или выберите Helpв меню на PC.

Матрицы в MATLAB

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

Ввод матриц

• вводить полный список элементов; • загружать матрицы из внешних файлов; • генерировать матрицы, используя встроенные функции;

Генерирование матриц

MATLAB имеет четыре функции, которые создают основные матрицы:

zeros все нули;

ones все единицы;

rand равномерное распределение случайных элементов;

randn нормальное распределение случайных элементов.

 

Некоторые примеры:

Z= zeros(2,4)

Z =

0 0 0 0

0 0 0 0

F = 5*ones(3,3)

F =

5 5 5

5 5 5

5 5 5

R= randn(4,4)

R =

-0.4326 -1.1465 0.3273 -0.5883

-1.6656 1.1909 0.1746 2.1832

0.1253 1.1892 -0.1867 -0.1364

0.2877 -0.0376 0.7258 0.1139

Загрузка матриц

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

 

16.0 3.0 2.0 13.0

5.0 10.0 11.0 8.0

9.0 6.0 7.0 12.0

4.0 15.0 14.0 1.0

 

Сохраним этот файл под именем magik.dat. Тогда команда load magik.dat прочитает этот файл и создаст переменную magik, содержащую нашу матрицу.

М-файлы

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

Замечание. Для вызова текстового редактора на PC, выберите Open или New из меню File или нажмите соответствующую кнопку на панели инструментов.

Например, создадим файл, включающий следующие 5 строк:

А=[...

16.0 3.0 2.0 13.0

5.0 10.0 11.0 8.0

9.0 6.0 7.0 12.0

4.0 15.0 14.0 1.0 ];

Сохраним его под именем magik.m. Тогда выражение magik прочитает файл и создаст переменную А, содержащую исходную матрицу.

Объединение матриц

Объединение - это процесс соединения маленьких матриц для создания больших. Фактически, вы создали вашу первую матрицу объединением её отдельных элементов. Пара квадратных скобок - это оператор объединения. Например, начнем с матрицы А (магического квадрата 4x4) и сформируем В = [А А+32; А+48 А+16]

Результатом будет матрица 8x8, получаемая соединением четырех подматриц

в =

16 2 3 13 48 34 35 45

5 11 10 8 37 43 42 40

9 7 6 12 41 39 38 44

4 14 15 1 36 46 47 33

64 50 51 61 32 18 19 29

53 59 58 56 21 27 26 24

57 55 54 60 25 23 22 28

52 62 63 49 20 30 31 17

Индексы

Однако это не самый лучший способ суммирования отдельной строки. Также возможно обращаться к элементам матрицы через один индекс, А(к). Это… Так, для нашего магического квадрата, А(8) - это другой способ ссылаться на значение 15, хранящееся в А(4,2).

Подматрицы и оператор двоеточия

Двоеточие - это один из наиболее важных операторов MATLAB. Он проявляется в различных формах. Выражение 1:10 - это вектор-строка, содержащая целые числа от 1 до 10: 1 2 3 4 5 6 7 8 9 10

Для получения обратного интервала, опишем приращение. Например 100:-7:50 что дает100 93 86 79 72 65 58 51 или 0:pi/4:pi, что приводит к 0 0.7854 1.5708 2.3562 3.1416.

Индексное выражение, включая двоеточие, относится к части матрицы. A(l:k,j) это первые к элементов j-го столбца матрицы А. Так sum(A(1:4,4)) вычисляет сумму четвертой строки.

Двоеточие, само по себе, обращается ко всем элементам в строке или столбце матрицы, а слово end — к последней строке или столбцу. Так sum (А (:, end)) вычисляет сумму элементов в последнем столбце матрицы А ans = 34.

Удаление строк и столбцов

Вы можете удалять строки и столбцы матрицы, используя просто пару квадратных скобок. Рассмотрим X = А. Теперь удалим второй столбец матрицы X. Х(:,2) = []. Эта операция изменит X следующим образом:

 

х =

16 3 13

5 10 8

9 6 12

4 15 1

Если вы удаляете один элемент матрицы, то результат уже не будет матрицей. Так выражение Х(1,2) = [], результатом вычисления выдаст ошибку. Однако использование одного индекса удаляет отдельный элемент или последовательность элементов и преобразует оставшиеся элементы в вектор-строку. Так Х(2:2:10) = []

выдаст результат:

х =

16 9 3 6 13 12 1

Операции суммирования элементов, транспонирования и диагонализации матрицы

Вы возможно уже знаете, что особые свойства магического квадрата связаны с различными способами суммирования его элементов. Если вы берёте сумму элементов вдоль какой-либо строки или столбца, или вдоль какой-либо из двух главных диагоналей, вы всегда получите одно и тоже число. Давайте проверим это, используя MATLAB. Первое утверждение, которое мы проверим - sum (А) MATLAB выдаст ответ:

ans =

34 34 34 34

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

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

ans =

16 5 9 4

3 10 6 15

2 11 7 14

13 8 12 1

А выражение sum(A') вызывает результат вектор-столбец, содержащий суммы в строках:

ans = 34 34 34 34

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

diag(A)

ans = 16 10 7 1

А функция sum (diag (А))вызывает ans = 34.

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

sum(diag(fliplr(A)))

ans = 34

Функция magic

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

B=magic(4)

В =

16 2 3 13

5 11 10 8

9 7 6 12

4 14 15 1

Для того чтобы преобразовать В в матрицу А, переставим их местами: А=В(:,[1 3 2 4]).Это означает, что для каждой строки матрицы В элементы переписываются в порядке 1, 3, 2, 4.

А =

16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

Выражения

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

• переменные;

• числа;

• операторы;

• функции.

Переменные

В MATLAB нет необходимости в определении типа переменных или размерности. Когда MATLAB встречает новое имя переменной, он автоматически создает переменную и выделяет соответствующий объем памяти. Если переменная уже существует, MATLAB изменяет ее состав и если это необходимо выделяет дополнительную память. Например, num_students = 25 создает матрицу 1x1 с именем num_students и сохраняет значение 25 в ее единственном элементе.

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


Числа

MATLAB использует принятую десятичную систему счисления, с необязательной десятичной точкой и знаками плюс-минус для чисел. Научная система счисления использует букву е для определения множителя степени десяти. Мнимые числа используют i или j как суффикс. Некоторые примеры правильных чисел приведены ниже:

3 -99 0.0001

9.6397238 1.60210е-20 6.02252е23

1i -3.14159J 3e5i

Все числа для хранения используют формат long, определенный стандартом плавающей точки ШЕЕ. Числа с плавающей точкой обладают ограниченной точностью - приблизительно 16 значащих цифр и ограниченным диапазоном -приблизительно от 10~308 до 10308 (Компьютер VAX использует другой формат чисел с плавающей точкой, но их точность и диапазон приблизительно те же).

Операторы

Выражения используют обычные арифметические операции и правила старшинства:

· + сложение;

· - вычитание;

· умножение;

· / деление;

· \ левое деление;

· ^ степень;

· ' транспонирование;

· () определение порядка вычисления.

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

Список операторов включает в себя:

+ суммирование;

- вычитание;

.* поэлементное умножение;

./ поэлементное деление;

.\ поэлементное левое деление;

.^ поэлементное возведение в степень;

.' несопряженное матричное транспонирование.

Если магический квадрат умножить на себя по правилам умножения массивов А.*Арезультатом будет массив, содержащий квадраты целых чисел от 1 до 16 в необычном порядке.


ans =

256 9 4 169

25 100 121 64

81 36 49 144

16 225 196 1

Операции над массивами полезны для создания таблиц. Пусть n - это вектор-столбец n = (0:9)'; тогда pows = [n n.^2 2.^n] создает таблицу квадратов и степеней двойки:

 

pows =

0 0 1

1 12

2 4 4

3 9 8

4 16 16

5 25 32

6 36 64

7 49 128

8 64 256

9 81 512

Элементарные математические функции работают с массивами поэлементно. Так:

format short g, х = (1:0.1:2), logs = [x log10(x)] создает таблицу логарифмов

logs =

1 0

1.1 0.041393

1.2 0.079181

1.3 0.11394

1.4 0.14613

1.5 0.17609

1.6 0.20412

1.7 0.23045

1.8 0.25527

1.9 0.27875

2 0.30103

Операции со скалярами

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


в =

7.5 -5.5 -6.5 4.5

-3.5 1.5 2.5 -0.5

0.5 -2.5 -1.5 3.5

-4.5 6.5 5.5 -7.5

sum(В)

ans =

0 0 0 0

Используя скалярное расширение, MATLAB записывает заданный скаляр во все элементы матрицы, заданные индексным диапазоном. Например, В(1:2,2:3)=0 обнуляет часть матрицы В.

в =

7.5 0 0 4.5

-3.5 0 0 -0.5

0.5 -2.5 -1.5 3.5

-4.5 6.5 5.5 -7.5

Функции

Некоторые функции, такие как sqrt и sin, - встроенные. Они являются частью MATLAB, поэтому они очень эффективны, но их вычислительные детали трудно… Несколько специальных функций предоставляют значения часто используемых… pi 3.14159265;

Выражения

Вы уже познакомились с некоторыми примерами использования выражений в MATLAB. Ниже приведено еще несколько примеров с результатами.

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

rho =

1.6180

а = abs(3+4i)

а =

z = sqrt(besselk(4/3,rho-i))

z =

0.3730 + 0.3214i

huge = exp(log(realmax))

huge = 1.7977e+308

toobig = pi*huge

toobig = Inf


Работа в системе MATLAB

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

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

Команда format

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

х = [4/3 1.2345е-б]

Format short

1.3333 0.0000

Format short e

1.3333e+000 1.2345e-006

Format short g

1.3333 1.2345e-006

Format long

1.33333333333333 0.00000123450000

Format long e

1.333333333333333e+0 0 0 1.234500000000000e-006

Format long g

1.33333333333333 1.2345e-006

Format bank

1.33 0.00

Format rat

4/3 1/810045

Format hex

3ff5555555555555 3eb4b62 31abfd2 71

Если самый большой элемент матрицы больше 103 или самый маленький меньше 10~3, MATLAB применяет общий масштабный коэффициент для форматов short и long. В добавление к командам format, рассмотренным выше format compact убирает много пустых линий, появляющихся на выходе. Это позволяет вам видеть больше информации на экране. Если вы хотите изменить контроль над форматом выходных данных, используйте функции sprint/ и fprintf.

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

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

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

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

s = 1 -1/2 + 1/3 -1/4 + 1/5 - 1/6 + 1/7

-1/8 + 1/9 - 1/10 + 1/11 - 1/12;

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

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

Вместо того чтобы заново набирать всю строку, просто нажмите клавишу. Тогда на экране изобразится ошибочная команда. Используйте клавишу <— для… Список доступных клавиш редактирования в командной строке отличается у разных…  

Создание графика

Например, для построения графика значений функции sin от нуля до 2% (рис. 2.1.), сделаем следующее: t = 0: pi/100:2*pi; у = sin(t); plot(t,у).  

Окна изображений

Функция plot автоматически открывает новое окно изображения (далее окно), если до этого его не было на экране. Если же оно существует, то plot использует его по умолчанию. Для открытия нового окна и выбора его по умолчанию, наберите figure. Для того, чтобы сделать существующее окно текущим -figure(n) где n - это номер в заголовке окна. В этом случае результаты всех последующих команд будут выводиться в это окно.

Добавление кривых на существующий график

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

[x,y,z] = peaks; contour(x,у,z,20,'k') hold on pcolor(x,y,z) shading interp.

Команда hold on является причиной того, что график pcolor комбинируется с графиком contour в одном окне.

Подграфики

Функция subplot позволяет выводить множество графиков в одном окне или распечатывать их на одном листе бумаги, subplot(m,n,p) разбивает окно изображений на матрицу m на п подграфиков и выбирает р-ый подграфик текущим. Графики нумеруются вдоль первого в верхней строке, потом во второй и т.д. Например, для того, чтобы представить графические данные в четырех разных подобластях окна необходимо выполнить следующее:

t = 0:pi/10:2*pi; [X,Y,Z] = 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)

Мнимые и комплексные данные

Если аргумент функции plot комплексное число, то мнимая часть игнорируется, за исключением случая, когда комплексный аргумент один. Для этого специального случая происходит построение графика зависимости реальной части аргумента от мнимой (рис. 2.3.). Поэтому:

plot(Z) где Z комплексный вектор или матрица, эквивалентно


plot(real(Z) ,imag(Z)) Например, t= 0:pi/10:2*pi; plot(exp(i*t),'-o') отобразит двадцатисторонний многоугольник с маленькими кружками на вершинах.

 

 

Рис. 2.3. - График зависимости реальной части аргумента от мнимой

 

 


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

Обычно MATLAB находит максимальное и минимальное значение и выбирает соответствующий масштаб и маркирование осей. Функция axis заменяет зна­чения по… axis( [xmin xmax ymin ymax] ) В функции axis можно также использовать ключевые слова для управления внешним видом осей. Например:

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

Функции xlabel, ylabel, zlabel добавляют подписи к соответствующим осям, функция title (рис. 2.4) добавляет заголовок в верхнюю часть окна, а функция 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{OTMeTbTe нечетную симметрию} ' ).

 

Рис. 2.4. - подписи к соответствующим осям, функция title

Функции mesh и surface

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

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

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

Для вычисления двумерной функции sine , sin(r)/r, в области х-у поступают следующим образом: [X, Y] = meshgrid(-8:.5:8); R = sqrt(X.A2+Y.A2)+eps; Z = sin(R)./R; mesh(X,Y,Z).

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

Изображения

Двумерные массивы могут отображать как изображения, где элементы массива определяют их яркость и цвет. Например: load durer whos покажет, что файл durer.mat в директории demo состоит из матрицы размером 648 на 509 (матрицы X) и матрицы размером 128 на 3 (матрицы тар). Элементы матрицы X - это целые числа от 1 до 128, которые служат индикаторами в цветном отображении, тар.

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

Например, следующая команда сохранит текущее окно изображения как цветной PostScript Level 2 Encapsulated в файле magicsquare.eps: print -depsc2… Важно знать возможности вашего принтера перед использованием команды print.…

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

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

• команда help;

• окно справки;

• MATLAB Help Desk;

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

• связь с The MathWorks, Inc.

Команда help

Команда help – это самый основной способ определения синтаксиса и поведения отдельных функций. Информация отображается прямо в командном окне.… help magicвыдаст: MAGIC Magic square. MAGIC(N) is an N-by-N matrix constructed… Замечание MATLAB в текущей справке использует заглавные буквы для функций и переменных для того, чтобы выделить их из…

Окно справки

Окно справки MATLAB появляется на PC или Мае после выбора опции Help Windowв меню Helpили нажатием кнопки вопроса на панели инструмен­тов. Эта же операция может быть выполнена при наборе команды helpwin.

Для вывода окна справки по отдельным разделам, наберите helpwin topic.

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

Среда MATLAB

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

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

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

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

Команда save

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

Маршрут поиска

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

Команда path

Команда path показывает маршрут поиска на всех платформах. На Рс выберите опцию Set Pathиз меню Fileдля просмотра и изменения маршрута.

Операции над дисковыми файлами

Команды dir, type, delete и cd осуществляют комплекс групповых операционных системных команд для манипуляций над файлами. Нижеприведенная таблица показывает, как эти команды соответствуют различным операционным системам (табл. 2.1).

 

Таблица 2.1. Комплекс групповых операционных системных команд для манипуляций над файлами

MATLAB MS-DOS UNIX VAX/VMS
dir dir ls dir
type type cat type
delete del, erase rm delete
cd chdir cd set defalt

 

 

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

Управление вычислениями

MATLAB имеет пять видов структур управления вычислениями:

• оператор if;

• оператор switch;

• циклы for;

• циклы while;

• оператор break.

Оператор if

Оператор if вычисляет логическое выражение и выполняет группу операторов, если выражение истинно. Необязательные ключевые слова elseif и else служат для выполнения альтернативных групп операторов. Ключевое слово end, которое согласуется с if завершает последнюю группу операторов. Таким образом, все группы операторов заключены между четырех ключевых слов, без использования фигурных или обычных скобок.

Операторы switch и case

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

Замечание для программистов Си. В отличие от языка Си, оператор switch в MATLAB не «проваливается». Если первый случай является истинным, другие случаи не выполняются. Таким образом, нет необходимости в использовании оператора break.

Цикл for

Цикл for повторяет группу операторов фиксированное, предопределенное число раз. Ключевое слово end очерчивает тело цикла.

for n = 3:32

r(n) = rank(magic(n)); end г

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

for i = 1:m

for j = 1:n

H(i,j) = 1/(i+j);

end

end

Цикл while

Цикл while повторяет группу операторов определенное число раз, пока выполняется логическое условие. Ключевое слово end очерчивает используемые операторы. Ниже приведена полная программа, иллюстрирующая работу операторов while, if, else и end, которая использует метод деления отрезка пополам для нахождения нулей полинома.

а = 0; fa = -Inf; b = 3; fb = Inf; while b-a > eps*b

x = (a+b)/2;

fx = xA3-2*x-5;

if sign(fx) == sign(fa) a = x; fa = fx;

else

b = x; fb = fx;

end end x

Результатом будет корень полинома х3-2х-5

х = 2.09455148154233

Для оператора while верны те же предостережения относительно матричного сравнения, что и для оператора if, которые обсуждались ранее.

Оператор break

Оператор break позволяет досрочно выходить из циклов for или while. Во вложенных циклах break осуществляет выход только из самого внутреннего цикла.

 


Сценарии и функции

Существует два вида М-файлов: • сценарии, которые не имеют входных и выходных аргументов. Они оперируют с… • функции, которые имеют входные и выходные аргументы. Они оперируют с локальными переменными.

Сценарии

В качестве примера, создадим файл magicrank.m, который содержит эти команды MATLAB: % Investigate the rank of magic squares r = zeros(1,32); for n = 3:32 r (n) = rank(magic(n)); end r bar® 10 15 20 25 30 35

Функции

Хорошим примером является функции rank. М-файл гапк.т находится в директории toolbox/matlab/matfun Вы можете просмотреть его содержание, введя type…   function r = rank(A,tol)

Глобальные переменные

Если вы хотите, чтобы более одной функции использовали отдельную копию переменной, просто объявите её как global во всех функциях. Делайте то же самое в командной строке, если вы хотите, чтобы основное рабочее пространство получило доступ к переменной. Определение global должно быть до самой переменной, используемой в функции. Хотя это не обязательно, использование больших букв для имени глобальной переменной поможет отличить их от других переменных. Например, создадим М-файл falling.m:

function h = falling(t)

global GRAVITY

h = 1/2*GRAVITY*t.A2;

Затем введем следующие строки

global GRAVITY GRAVITY = 32;

y =

Таким образом, строки определения GRAVITY в командной строке делают её доступной внутри функции. Вы можете после изменить GRAVITY и получить новое решение, не редактируя какие-либо файлы.

 

 


Теория погрешностей и машинная арифметика.

Пусть - точное значение, - приближенное значение некоторой величины. Абсолютной погрешностью приближенного значения называется величина . Относительной погрешностью значения (при 0) называется величина .

Решение нелинейных уравнений

Пусть рассматривается уравнение . Корнем уравнения называется значение , при котором . Корень называется простым, если , в противном случае корень называется кратным. Целое число m называется кратностью корня , если для k=1,2,3-,m-1 и .

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

Вычислить приближенное значение корня с точностью - это найти такое значения , что . Решение задачи разбивается на два этапа: на первом этапе осуществляют локализацию корней, на втором этапе производят итерационное уточнение корней. На этапе локализации корней находят достаточно узкие отрезки (или отрезок, если корень единственный), которые содержат один и только один корень уравнения . На втором этапе вычисляют приближенное значение корня с заданной точностью. Часто вместо отрезка локализации достаточно указать начальное приближение к корню.

Локализация корней

ПРИМЕР 1. Локализация корней (рис. 4.1). % Локализовать корни уравнения f(x)=0, где f(x)= x^3 - cos(x) + 1 % Введём функцию f(x)

Метод бисекции

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

Метод Ньютона (метод касательных)

Расчетная формула метода Ньютона имеет вид: . Геометрически метод Ньютона означает, что следующее приближение к корню есть… Теорема о сходимости метода Ньютона. Пусть - простой корень уравнения , в некоторой окрестности которого функция…

Метод простой итерации (метод последовательных повторений)

Теорема о сходимости метода простой итерации. Пусть в некоторой - окрестности корня функция дифференцируема и удовлетворяет неравенству , где -… Критерий окончания итерационного процесса. При заданной точности >0… Ключевой момент в применении метода простой итерации состоит в эквивалентном преобразовании уравнения. Способ, при…

Обусловленность задачи нахождения корня.

Интервал неопределенности корня.

  ПРИМЕР 6. Теоретическая оценка радиуса интервала неопределенности корня. Пусть . Корень уравнения простой и равен = -0.34729635533861. Тогда и . Если , то . Это означает, что найти корень с…

Применение метода Ньютона для нахождения кратного корня.

, где - кратность корня. Как правило, значение v неизвестно. Используя метод Ньютона, можно узнать… Пример 7. Определение кратности корня методом Ньютона.

Методика решения алгебраического уравнения

При работе той или иной процедуры часто возникает необходимость вычислить значение при некотором ; организацию вычисления значения удобно проводить… Далее заметим, что из алгебры известно следующее: существует простая фор-мула,… ,

Нормы векторов и матриц

Нормой вектора называется число , удовлетворяющее трем аксиомам: 1) причем = 0 тогда и только тогда, когда = 0; 2) для любого вектора и любого числа ;

Обусловленность задачи

Теорема об оценке погрешности решения по погрешностям входных данных. Пусть решение системы , а x* - решение системы A*x*=b*, тогда , где -… Если число обусловленности больше 10, то система является плохо обусловленной, так как возможен сильный рост…

Метод Гаусса

1. Шаг. Исключим неизвестное из уравнений с номерами i = 2,3,..m. Предположим, что . Будем называть его ведущим элементом 1-го шага. Найдем величины , i=2,3,...m , называемые множителями 1-го шага. Вычтем…

LU разложение матрицы

  Введем в рассмотрение матрицы и

Задание для самостоятельной работы

1. Даны 2 вектора x1 = (-3, 2.4, 5.5) и x2 = (-3.1, 2.4, 5.4), являющиеся приближениями к вектору x = (-3, 2, 5). Какой из векторов является более точным приближением к вектору x?

2. Найти относительное число обусловленности матрицы A = .

3. Подсчитать количество арифметических действий в методе Гаусса.

4. Найти LU-разложение матрицы.

 

Вопросы

1. Сформулируйте определение нормы вектора и запишите формулы для нахождения нормы.

2. Дайте определение нормы матрицы. Какие Вы знаете свойства нормы матрицы?

3. Дайте определение относительного числа обусловленности матрицы. Что такое плохо обусловленная система уравнений?

4. Сформулируйте алгоритм метода Гаусса и запишите формулы для преобразования элементов матрицы на к-ом шаге прямого хода метода.

5. Что такое LU - разложение матрицы?

Решение систем линейных алгебраических уравнений прямыми методами

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

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

Поэтому часто применяют модификации метода Гаусса, обладающие лучшими вычислительными свойствами.

 

Метод Гаусса с выбором главного элемента по столбцу

  ПРИМЕР 1.Решение системы методом Гаусса с выбором главного элемента по… Пусть Ax=b, где

Метод Холецкого

, i = 2, 3, ..., m, , i = 3, 4, ..., m, ...............

Метод прогонки

Преобразуем первое уравнение системы к виду , где: , . Подставим полученное… На i-ом шаге уравнение преобразуется к виду: , где , .

Задание для самостоятельной работы

1. Методом Гаусса с выбором главного элемента найти решение системы уравнений:
.

2. Найти разложение матрицы:

.

3. Можно ли применять метод Холецкого к системе уравнений, матрица которой имеет вид:

.

4. Подсчитать количество арифметических действий в методе прогонки.

Вопросы

1. Что такое прямые и итерационные методы.

2. С какой целью применяют модификацию метода Гаусса - схему частичного выбора.

3. Для каких систем уравнений применяют метод Холецкого.

4. Запишите формулы для нахождения решения после приведения системы к виду.

5. Сформулируйте алгоритм метода прогонки.


Решение систем линейных алгебраических уравнений итерационными методами

Рассматривается система Ax = b. Для применения итерационных методов система должна быть приведена к эквивалентному виду x=Bx+d. Затем выбирается начальное приближение к решению системы уравнений и находится последовательность приближений к корню. Для сходимости итерационного процесса достаточно, чтобы было выполнено условие

.

Критерий окончания итераций зависит от применяемого итерационного метода.

Метод Якоби

, i, j = 1, 2, ... n. Компоненты вектора d вычисляются по формулам: , i = 1, 2, ... n.

Метод Зейделя

, i = 1, 2, ... m.. Условия сходимости и критерий окончания итераций можно взять…  

Метод простой итерации.

Расчетная формула метода простой итерации в этом случае имеет вид: x (n+1) = x n - (Ax n - b). Здесь B = E - A и параметр > 0 выбирают так, чтобы по возможности сделать… Пусть и - минимальное и максимальное собственные значения матрицы A. Оптимальным является выбор параметра . В этом…

Задание для самостоятельной работы

1. Убедиться в том, что если A- нижняя треугольная матрица с ненулевыми диагональными элементами, то метод Зейделя сходится за одну итерацию.

2. Пусть A - верхняя треугольная матрица с ненулевыми диагональными элементами. Доказать, что метод Зейделя сходится за конечное число итераций и указать, за какое именно.

3. Вывести оценку числа итераций, требуемых для достижения заданной точности в методе Якоби.

Вопросы

1. Сформулируйте достаточное условие сходимости методов Якоби и метода Зейделя.

2. Сформулируйте критерий окончания итераций в методе Якоби.

3. Сформулируйте условия сходимости метода простой итерации и метода Зейделя для случая симметрических положительно определенных матриц.

4. Из каких условий выбирается итерационный параметр в методе простой итерации.

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


Приближение функций

На практике часто возникает необходимость найти функциональную зависимость между величинами x и y, которые получены в результате эксперимента. Часто вид эмпирической зависимости известен, но числовые параметры неизвестны.

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

Постановка задачи приближения функции по методу наименьших квадратов

Так как многочлен определяется своими коэффициентами, то фактически нужно подобрать набор кофициентов , минимизирующий функцию . Используя необходимое условие экстремума, , k=0,1,-m получаем так называемую… Полученная система есть система алгебраических уравнений относительно неизвестных . Можно показать, что определитель…

Определение параметров эмпирической зависимости

  ПРИМЕР 3. Вывод нормальной системы уравнений для нахождения параметров…  

Многочлены Бернштейна

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

Интерполяция функций

Постановка задачи интерполяции функций

, i=0,1,...n. Требуется найти многочлен степени n, такой, что значения функции и многочлена в точках таблицы совпадают: , i=0,1,... n. Справедлива теорема о существовании и единственности интерполяционного многочлена.

Оценка погрешности интерполяции

. Здесь , . Эта оценка показывает, что для достаточно гладкой функции при фиксированной…  

Глобальная и кусочно-полиномиальная интерполяция

Теорема Фабера. Какова бы ни была стратегия выбора узлов интерполяции, найдется непрерывная на отрезке [a, b] функция f, для которой при . Таким… Предположим, что выбираем равноотстоящие узлы, то есть , i = 0, 1,...n, где .…  

Интерполяция сплайнами

1) функция непрерывна на отрезке [a,b] вместе со своими производными до некоторого порядка p; 2) на каждом частичном отрезке функция совпадает с некоторым алгебраическим… Разность m-p между степенью сплайна и наивысшим порядком непрерывной на отрезке [a ,b] производной называют дефектом…

Численное дифференцирование

Производная функции есть предел отношения приращения функции к приращению независимой переменной при стремлении к нулю приращения независимой переменной:

.

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

Первая производная. Двухточечные методы

Таблица 11.1 Три двухточечных метода численного дифференцирования метод 1 метод 2 метод 3 …   Суть указанных методов проиллюстрирована на рисунке (рис. 11.1). Численное значение тангенса угла α образованного…

Вычисление производных второго порядка

  Рис. 11.2 - пятиточечная схема

Вычисление производных третьего порядка

  Задание для самостоятельной работы

Численное интегрирование

. При приближенном вычислении определенного интеграла шаг интегрирования… 1. Приближенные формулы для вычисления интеграла методом прямоугольников (рис 12.1).

Решение задачи Коши одношаговыми методами

Постановка задачи Коши для дифференциального уравнения первого порядка

Теорема существования и единственности задачи Коши. Пусть функция определена и непрерывна на множестве точек: . Предположим также, что она удовлетворяет условию Липшица: , для всех и произвольных , ,

Численное решение задачи Коши методом Эйлера

  ПРИМЕР 1. Решение задачи методом Эйлера. Применяя метод Эйлера, найти решение задачи Коши: в трех последовательных точках , , . Найти точное решение задачи и…

Оценка погрешности метода Эйлера

Другими словами погрешность, которую допускает за один шаг метод, стартующий с точного решения. Глобальной погрешностью (или просто погрешностью) численного метода называют… Можно показать, что для явных одношаговых методов из того, что локальная погрешность имеет вид следует, что , где и M…

Модификации метода Эйлера

  ПРИМЕР 3. Решение задачи усовершенствованным методом Эйлера. Выполнить 1 шаг длины 0.4 с использованием усовершенствованного метода Эйлера для решения задачи Коши: .

Решение систем дифференциальных уравнений методом Эйлера.

с начальными условиями: , , ...,

Численное интегрирование систем дифференциальных уравнений

где x - независимый аргумент; yi - зависимая функция, ;

Варианты заданий

Таблица режимов:

Режим
Свободные незатухающие колебания
Затухающее колебательное движение
Апериодическое движение
Предельное апериодическое движение
Вынужденное колебание без сопротивления
Вынужденное колебание без сопротивления, явление резонанса
Вынужденное колебание с линейным сопротивлением
Вынужденное колебание с линейным сопротивлением, явление резонанса

 


Варианты заданий и номера режимов:

1. движение точк;

2. RLC – цепь.

Вар. Задание Вар. Задание
а) 1,2,5 б)1,2,6
а) 1,3,6 а) 1,4,7
б)1,3,7 б)1,2,7
а) 1,4,8 а) 1,2,5
б)1,2,8 б)1,4,6
а) 1,4,7 а) 1,3,5
б)1,3,6 б)1,3,8
а) 1,4,5 б)1,4,5
б)1,3,8 а) 1,3,6
а) 1,3,5 б)1,4,7
б)1,4,6 а) 1,2,8
а) 1,2,7 б)1,4,8
б)1,2,5 а) 1,3,6
а) 1,2,6 б)1,3,7
б)1,4,7 а) 1,2,5

 

Рассмотрим более подробно порядок составления дифференциальных уравнений и приведения их к машинному виду для описания движения тела на пружине и RLC-цепи.

a. Движение материальной точки на пружине.

При выполнении этого задания необходимо рассмотреть движение материальной точки массой m на пружине (рис. 14.1) жесткостью c в среде с линейным сопротивлением под действием синусоидальной вынуждающей силы по горизонтальной поверхности.

 

 

Рис. 14.1 - движение материальной точки на пружине

Уравнение движения (второй закон Ньютона) для материальной точки с учетом действия сил линейного сопротивления (-βx'), упругости пружины (-cx) и синусоидальной силы F0∙sin(pt) может быть записано следующим образом:

,

где m=1+int(n/2) - масса материальной точки, β - коэффициент сопротивления, с=2+int(n/3) - жесткость пружины, х - координата (х=0 в положении равновесия точки), t - время, p - частота вынужденных колебаний, F0=n - амплитуда силы, n - номер варианта, int - целая часть числа. Параметры β, p и начальные условия выбираются самостоятельно с учетом рассматриваемого режима.

b. Колебательный контур (RLC цепь) (рис. 14.2):

 

Рис. 14.2. - колебательный контур (RLC цепь)

 

Уравнение падения напряжения в цепи переменного тока имеет вид

,

где L=1+int(n/2) - индуктивность, R - сопротивление, C=2+int(n/3) - емкость конденсатора, q - заряд, U0=n-амплитуда напряжения, p - частота, - сила тока. Параметры R, p и начальные условия выбираются самостоятельно с учетом рассматриваемого режима.


Преобразование Фурье

 

Аппроксимация функции по Фурье

, (15.1) где: . (15.2)

Преобразование Фурье

Рассмотрим следующий частный случай. Функция рассматривается на интервале: (-p,p) и притом только в его отдельных точках при некотором заранее… В равенстве = положим . Получим (15.7)

Быстрое преобразование Фурье.

Обратимся, для определенности, к формуле (15.9). Предположим, что число является составным, т.е. при натуральных . Разделим с остатком число на и… ; преобразуем теперь суммируемое выражение:

РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ В ЧАСТНЫХ ПРОИЗВОДНЫХ

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

Уравнение Лапласа (эллиптическое уравнение)

(x,y)Î G. (16.1) Если область G является замкнутой и на границе этой области G задается… U(x,y)=j (x,y), (x,y) Î G

РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ В ЧАСТНЫХ ПРОИЗВОДНЫХ (продолжение)

Уравнение теплопроводности (параболическое уравнение)

t>0, 0 £ x £ 1; U(0,x)=j (x) U(t,0)=y (t); U(t,1)=f (t); (16.1)

Синютин СЕРГЕЙ Алексеевич

 

Учебное пособие

 

Вычислительная математика

 

 

Ответственный за выпуск Синютин С.А.

Редактор

Корректор

 

ЛР №020565 от 23 июня 1997г. Подписано к печати

Формат 60х84 1/16. Бумага офсетная

Офсетная печать. Ус.п.л. - . Уч.-изд.л. - .

Заказ № Тираж экз.

“C”

Издательство Технологического института Южного федерального университета

ГСП 17А, Таганрог, 28, Некрасовский, 44

Типография Технологического института Южного федерального университета

ГСП 17А, Таганрог, 28, Энгельса, 1

 

 

– Конец работы –

Используемые теги: вычислительная, математика0.054

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Вопрос о взаимосвязи математики и философии (Милетская школа, Пифагорейская школа, Элейская школа, Демокрит, Платоновский идеализм, Система философии математики Аристотеля)
Наряду с этим прогрессирующая математизация науки оказывает активное воздействие на философское мышление.Совместный путь математики и философии… Известно, что греческая цивилизация на начальном этапе своего развития… Папирус Райнда ок. 2000 г. до н.э. начинался с обещания научить совершенному и основательному исследованию всех вещей,…

Курсовая работа по курсу "Вычислительная математика и программирование" по теме "Обработка экспериментальных данных"
ОДЕССКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ... Химико технологический факультет...

З навчальної дисципліни Математика для економістів: ВИЩА МАТЕМАТИКА, ТЕОРІЯ ЙМОВІРНОСТЕЙ ТА
КИІВСЬКИЙ НАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ... Імені В Гетьмана... КАФЕДРА ВИЩОЇ МАТЕМАТИКИ...

Лекция 4 История развития вычислительной техники. Классификация компьютеров. Состав вычислительной системы. Аппаратное и программное обеспечение. Классификация служебных и прикладных программных средств
Классификация компьютеров... По назначению... суперкомпьютеры серверы встроенные компьютеры микропроцессоры...

Первые вычислительные устройства. Системы счисления
Введение... Первые вычислительные устройства... Системы счисления...

История математики. От счетных палочек до бессчетных вселенных
История математики От счетных палочек до бессчетных вселенных...

МАТЕМАТИКА
Федеральное агентство по образованию... Санкт Петербургский государственный университет сервиса и... Кафедра Прикладной математики и эконометрики...

Алгебра экзаменационный 1 курс 1 семестр математика и и нформатика
Алгебра экзаменационный курс семестр математика и и нформатика... c Системаявляется... один ответ...

З дисципліни "ВИЩА МАТЕМАТИКА"
Міністерство освіти і науки України... Національний транспортний університет... Навчально консультаційний центр у м Кривому Розі...

МАТЕМАТИКА
Государственное образовательное учреждение высшего профессионального образования... Тюменский государственный нефтегазовый университет...

0.037
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам