Разделы презентаций


Работа с матрицами

Содержание

Примеры создания матрицСоздание вектора-строки: R=[1 3 5 7]; R=[1, 3, 5, 7]; R=1:2:7Создание вектора-столбца: C=[1; 3; 5; 7]; C=[1, 3, 5, 7]'; C=[1:2:7]'Создание матрицы 3x4: M2D=[1 2 3 4; 5 6 7 8; 9 10 11

Слайды и текст этой презентации

Слайд 1Работа с матрицами
Отличительная черта системы: ориентация на операции с матрицами!

Каждое число – матрица единичного размера.

1. Примеры: векторные и

базовые матричные операции

2. Вычисления в одной строке:

B=A^3–2*A^(1/3)

3. Решение системы линейных уравнений A*X=B:
X=inv(A)*B

4. Встроенные функции работают с векторами:

x=1:10, y=sin(x)

Работа с матрицамиОтличительная черта системы: ориентация на операции с матрицами!  Каждое число – матрица единичного размера.

Слайд 2Примеры создания матриц
Создание вектора-строки: R=[1 3 5 7]; R=[1, 3, 5, 7]; R=1:2:7

Создание

вектора-столбца: C=[1; 3; 5; 7]; C=[1, 3, 5, 7]'; C=[1:2:7]'

Создание матрицы 3x4: M2D=[1 2

3 4; 5 6 7 8; 9 10 11 12];

Создание матрицы 3x4x3:
M3D(:,:,1)=[0.1 0.3 -0.4 1; -0.8 0 0 3; 0 0.1 -0.3 2];
M3D(:,:,2)=M2D;
M3D(:,:,3)=[0.1 0.3 -0.4 1; -0.8 0 0 3; 0 0.1 -0.3 2]+2*M2D;
Примеры создания матрицСоздание вектора-строки:	R=[1 3 5 7];	R=[1, 3, 5, 7];	R=1:2:7Создание вектора-столбца:	C=[1; 3; 5; 7];	C=[1, 3, 5, 7]';	C=[1:2:7]'Создание

Слайд 3Примеры работы с участками матриц
Чтение / изменение отдельного элемента:

el=M2D(2,3);
M2D(3,4)=7;
Изменение строки в матрице: M2D(2,:)=R; M2D(2,:)=C';
M2D(3,:)=[0 -1 -2 -3]; Изменение столбца

в матрице: M2D(:,2)=C(1:3); Изменение участка в матрице: M2D(1:2,2:3)=[0.1, 0.2; 0.3 0.4]; M2D(1:2,2:3)=3*M2D(1:2,2:3); M2D(1:2,2:3)=M2D(2:3,1:2)+M2D(1:2,3:4);
Примеры работы с участками матрицЧтение / изменение отдельного элемента:  	el=M2D(2,3);  						M2D(3,4)=7; Изменение строки в матрице:	M2D(2,:)=R;	M2D(2,:)=C';				M2D(3,:)=[0

Слайд 4Пример решения системы линейных уравнений методом Крамера
Дано: A –

матрица 2x2, B – столбец 2x1
Необходимо вычислить X: A*X=B

Решение:
A1=[ B,

A(:,2) ]; % замена первого столбца на B
A2=[ A(:,1), B ]; % замена второго столбца на B
X(1)=det(A1)/det(A);
X(2)=det(A2)/det(A);
X=X(:)
Пример решения системы линейных уравнений методом КрамераДано:  A – матрица 2x2, 	B – столбец 2x1Необходимо вычислить

Слайд 5Комплексные числа
z=5+3i: z=5+3*i=5+3i z=5+3*j=5+3i
Составляются из двух независимых частей численного типа при

помощи символов i, j (мнимые единицы):
Сумма:
Zsum=Z(1)+Z(2)
Произведение: Zprod=Z(1)*Z(2) (модуль, аргумент произведения)
Векторизация:

Z=complex([5;

3],[4; –1])
Re=real(Z) Im=imag(Z)

Модуль, аргумент:
A=abs(Z) Fi=angle(Z)

Комплексные числаz=5+3i:  z=5+3*i=5+3i z=5+3*j=5+3iСоставляются из двух независимых частей численного типа при помощи символов i, j (мнимые

Слайд 6Основные системные переменные
ans – результат вычисления последнего не сохраненного выражения

i, j

– мнимая единица для задания мнимой части комплексных чисел

Inf – обозначение

машинной бесконечности (infinity) – в массивах!

NaN – Not-a-Number – неопределенный результат (0/0, Inf/Inf) – в массивах!

pi – число  ( pi=3,141592653589793)

….

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

Основные системные переменныеans			– результат вычисления последнего не сохраненного выраженияi, j 			– мнимая единица для задания мнимой части

Слайд 7Основы программирования в MATLAB

Основы программирования в MATLAB

Слайд 8Содержание
Типы файлов в MATLAB.
Файлы функций. Подфункции.
Встроенный редактор файлов.
Анализатор кода.
Подключение

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

функции.
Матричные вычисления, векторизация кода, предварительное задание переменных.
Задание имен функций и переменных, венгерская нотация.
Интерпретатор языка MATLAB. Создание псевдокода.
СодержаниеТипы файлов в MATLAB.Файлы функций. Подфункции.Встроенный редактор файлов.Анализатор кода. Подключение программ пользователя к системе MATLAB.Основы программирования в

Слайд 9Типы файлов MATLAB
>> prog1
c = 0.2
>>

c=prog2(3,4)
c = 0.2
Вызов из Командного окна:
нет

;  печать в Ком. окно
Типы файлов MATLAB>> prog1c =      0.2>> c=prog2(3,4)c =

Слайд 10Отличия функций от сценариев
Функция отличается от сценария наличием ключевого слова

function в заголовке.

Все переменные, создаваемые и/или используемые в сценарии, содержатся

в общей Рабочей области MATLAB Workspace.

Для переменных функции существует свой собственный Workspace, в общий Workspace MATLAB ничего не попадает!

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

См. примеры скриптов 1, 2


Синтаксис команд в Командном окне MATLAB, в файлах скриптов и функций одинаков.
Отличия функций от сценариевФункция отличается от сценария наличием ключевого слова  function в заголовке.Все переменные, создаваемые и/или

Слайд 11Вызов функций в MATLAB
[b1, b2, b3, b4 …] = my_function(a1,

a2, a3, a4 …)
Обращение к функции из Командного окна или

в программах:

 выходные (возвращаемые) значения: переменные, возможно разных типов


аргументы (входные значения): переменные, возможно разных типов

 имя функции

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

Пример: y= sin( [1:10] ) - здесь ОДИН аргумент (массив) и одно выходное значение! Если вызывать функцию, не указывая явно выходных переменных, первое выходное значение запишется в ans.

Вызов функций в MATLAB[b1, b2, b3, b4 …] = my_function(a1, a2, a3, a4 …)Обращение к функции из

Слайд 12Варианты вызова функций
Пример 1: функция clear для удаления переменных из

Рабочей области MATLAB или какой-либо функции

Стандартная запись для вызова:
clear('a', 'b',

'c') – удалить 3 переменные из Workspace по их именам

Упрощенная запись для вызова (только если все переменные – типа char):
clear a b c


Пример 2: функция sin

>> sin(1)
ans= 0.841470984807897

>> sin 1
??? Undefined function or method 'sin' for input arguments of type 'char'.

Варианты вызова функцийПример 1: функция clear для удаления переменных из Рабочей области MATLAB или какой-либо функцииСтандартная запись

Слайд 13Файлы функций. Подфункции
function c=myfun(a,b) % заголовок: help c=subfun(a)/subfun(b); % вызов подфункции


% подфункция function d=subfun(a) d=sum(a)^3;
myfun.m
Название головной функции в файле и

имя файла должны совпадать!
Файлы функций. Подфункции function c=myfun(a,b) % заголовок: help  c=subfun(a)/subfun(b);  % вызов подфункции

Слайд 14Встроенный редактор файлов Editor
1. Поддержка файлов: MATLAB, С,

HTML… 2. Работа с подфункциями и частями кода (%%) 3.

Встроенный отладчик
Встроенный редактор файлов Editor1. Поддержка файлов:    MATLAB, С, HTML…  2. Работа с подфункциями

Слайд 15Анализатор кода
Проверяет код пользователя на наличие проблем и рекомендует необходимые

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

Анализатор кодаПроверяет код пользователя на наличие проблем и рекомендует необходимые изменения для оптимизации и увеличения быстродействия.

Слайд 16Подключение программ к системе MATLAB
1. Работа в текущей папке (Current

Directory) – отладка, разовые вычисления …

Подключение программ к системе MATLAB1. Работа в текущей папке (Current Directory) – отладка, разовые вычисления …

Слайд 17Примеры программирования в MATLAB
Конструкции if-else, switch-case, try-catch (см. примеры 1,

2)
Циклы for-end, while-break (3, 4)
Встроенные математические функции (min, max, sum,

sin, sqrt…) (5)
Матричные вычисления, транспонирование (6), операции умножения, деления, различие команд * и .*, решение систем линейных уравнений через детерминанты и напрямую
Работа с текстовыми файлами (uigetfile, textread, dlmread) (7)
Работа с Workspace (who, whos, save, load, evalin, assignin), различие общей рабочей области и раб. области каждой функции (8)
Вызов функции из строки – команда eval (9)
Переменное количество входов и выходов функции (ключевые слова varargin, varargout, nargin, nargout) (10)
Примеры программирования в MATLABКонструкции if-else, switch-case, try-catch (см. примеры 1, 2)Циклы for-end, while-break (3, 4)Встроенные математические функции

Слайд 18Матричные вычисления
Отличительная черта MATLAB: язык ориентирован на операции с матрицами!

Каждое число – матрица единичного размера.
2. Вычисления в одной строке:

B=A^3–2*A^(1/3)

3. Решение системы линейных уравнений A*X=B:
X=inv(A)*B

1. Векторные и базовые матричные операции, встроенные функции:

transpose, eig, det, inv
Пример: s=eig(A); det(A-s(2)*eye(2))

Матричные вычисленияОтличительная черта MATLAB: язык ориентирован на операции с матрицами!  Каждое число – матрица единичного размера.2.

Слайд 19Векторизация кода
1. Встроенные функции работают с векторами и матрицами: x=1:10,

y=sin(x)
2. Добавление к матрице числа: A=[1 2; 3 5];

B=A+1

3. Поэлементные операции (нестандартные матричные операции!):

умножение: .*

деление: ./ – прямое, .\ – обратный порядок

возведение в степень: .^



for k=1:N, c(k)=a(k)/b(k); end

c=a./b  запись короче, вычисления быстрее!

Векторизация кода1. Встроенные функции работают с векторами и матрицами: x=1:10, y=sin(x)2. Добавление к матрице числа:  A=[1

Слайд 20Предварительное задание переменных
for k=1:3 for m=1:7

A(k,m)=0; B(k,m)=1; C(k,m)=rand;

end end


A=zeros(3,7); B= ones(3,7); C= rand(3,7);

1. Встроенные функции задания матриц:

Предварительное задание переменныхfor k=1:3   for m=1:7     A(k,m)=0;

Слайд 21Выбор имен для функций и переменных
Встроенные функции MATLAB, >1000, с

“говорящими” названиями: примеры: min, max, sum, sqrt, num2str, numel, size, dot,

cross (открытый код!)

Общие принципы задания имен:
Понятное назначение, легкость запоминания и поиска!

Не должно быть совпадений со встроенными функциями MATLAB (типа min, max, … проверка: which –all …) и системными переменными (i, j, pi …)

Выбор имен для функций и переменныхВстроенные функции MATLAB, >1000, с “говорящими” названиями: примеры: min, max, sum, sqrt,

Слайд 22Пример выбора идентификаторов
Имя переменой может описывать какую-либо ее особенность. Примеры:

mrowX, mcolY – для работы со строками и столбцами матриц; Alpha_deg,

BetaRad – для контроля ед. измерения в инженерных расчетах.
Широко используемый пример: Венгерская нотация  – соглашение об именовании переменных, констант и прочих идентификаторов в коде программ.
Суть: имена идентификаторов предваряются заранее оговоренными префиксами, состоящими из одного или нескольких символов. При этом, как правило, ни само наличие префиксов, ни их написание не являются требованием языков программирования, и у каждого программиста (или коллектива программистов) могут быть своими.
Пример выбора идентификаторовИмя переменой может описывать какую-либо ее особенность.   Примеры:   mrowX, mcolY –

Слайд 23Интерпретатор языка MATLAB
Транслятор (translator) — это программа-переводчик. Преобразует программу, написанную на

одном из языков высокого уровня, в программу, состоящую из машинных

команд.

Откомпилированные программы работают быстрее (С), но интерпретируемые проще исправлять и изменять (MATLAB).

Интерпретатор языка MATLABТранслятор (translator) — это программа-переводчик. Преобразует программу, написанную на одном из языков высокого уровня,

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика