- •Введение
- •1. Краткие сведения о правилах работы в вычислительной среде matlab
- •1.2. Переопределенные системы уравнений. Метод наименьших квадратов
- •Введемвекторы
- •1.3. Оценка параметров периодических сигналов по экспериментальным данным
- •Таким образом, требуется оценить амплитуды и фазы
- •Разделив период Tна 24 равных интервала, мы получим . Так как , то каждому будет соответствовать угол (в градусах).
- •На основе мнк
- •3.1. Ряды с большим числом наблюдений.
- •Нормальное распределение.
- •Информационное и программное обеспечение процесса вычисления интеграла ошибок Гаусса по заданным границам.
- •84.22%, 29.73% И 20.11% всей площади.
- •4.2. Расчётэлементовконтрольныхкарт. Обработка данных измерений.
- •Статистический контроль в промышленности
- •4.4. Контрольная карта для стандартных отклонений.
- •4.5. Информационное и программное обеспечение процедуры построения контрольных карт.
- •8. Информационное обеспечение графических построений при управлении качеством продукции.
- •8.1. Использование функции «gaussmf» для построения кривых Гаусса.
- •8.2. Графическая интерпретация статистического контроля качества продукции.
- •Заданные параметры движения
- •Вариант № 1.
- •3. Оптимизация параметров звеньев робота - манипулятора с помощью метода наименьших квадратов.
- •4. Построение траекторий звеньев робота - манипулятора сиспользованием кубических полиномов (сплайнов).
- •5. Построение траектории перемещения двухзвенного робота-манипулятора с помощью элементов символьной математики.
- •5.1. Решение уравнений в символьной форме.
- •5.2. Позиционирование двухзвенного робота – манипулятора.
- •6. Параметрическаяоптимизацияконструкциимеханизма с подвижнымцилиндром.
- •7. Параметрическая оптимизация сопряжения деталей при ихсборке с заданным допуском узла.
- •8.Оптимизация процесса грузовой обработки судна в порту.
- •Время выполнения работ (по виду работы)
- •9.Оптимальное распределение ресурсов между объектами порта по критериюмаксимального дохода.
- •Составим таблицу:
- •Библиографический список
- •Содержание
- •Применение мнк для решения практических задач
- •Оценка параметров периодических сигналов по экспериментальным данным
- •Таким образом, требуется оценить амплитуды и фазы
- •Разделив период t на 24 равных интервала, мы получим . Так как , то каждому будет соответствовать угол (в градусах).
- •Операции над матрицами
- •Проверьте выполнение равенства .
- •Проверьте выполнение равенства .
- •Проверьте выполнение равенства .
- •Проверьте выполнение равенства .
- •Проверьте выполнение равенства .
- •Проверьте выполнение равенства .
- •Проверьте выполнение равенства .
- •Проверьте выполнение равенства .
- •Проверьте выполнение равенства .
- •Проверьте выполнение равенства .
- •Проверьте выполнение равенства .
- •Проверьте выполнение равенства .
- •Проверьте выполнение равенства .
- •Проверьте выполнение равенства .
- •Системы лин. Уравнений
- •Векторы. Прямые и плоскости
- •Собственные числа и собственные векторы
- •Пределы и производные
- •Графики функций
- •Нули, экстремумы и точки перегиба
- •Компьютерное моделирование и оптимизация режимов работы портовой перегрузочной техники Учебное пособие
1. Краткие сведения о правилах работы в вычислительной среде matlab
1.1. Краткие сведения о правилах работы в среде MATLAB.
После запуска пакета MATLAB на экране монитора появятся комбинированное окно MATLAB (Текущий каталог) и окно CommandWindow (Командное окно), приведенные на рис 1.1
Рис1.1 Вид "Рабочего стола" компьютера при работес программой MATLAB
В командном окне набираются команды пользователя, подлежащие немедленному выполнению, а также производятся прямые вычисления в режиме калькулятора. В окне текущего каталога располагаются команды главного меню (верхняя строка), а ниже располагается панель инструментов.
К командам главного меню относятся: ФАЙЛ (File), ПРАВКА (Edit), ВИД (View), ВЕБ (WEB) и т.д.
Остановимся на команде ФАЙЛ (File), в выпадающем меню которого содержатся команды, позволяющие производить различные операции с файлом:
1. Новый (New) – открытие нового файла, в котором записывается текстпрограммы.
2. Открыть (Open) – позволяет открыть существующий файл с программой.
3. Закрыть (CloseCommandWindows) - позволяет закрыть ранее открытый файл с программой.
4. Сохранить Рабочую Область как … (SaveWorkspaseAs…) - сохраняет значения всех переменных в файле с указанием места сохранения.
5. Печать (Print) – вывод на печать активного окна программы MATLAB.
Из панели инструментов остановимся на следующих:
Новый (New) М-файл (M – file) - режим текстового редактора новой программы с возможностью отладки программы.
Открыть (Open) - позволяет открыть существующий файл с программой.
В режиме Редактора (Edit) появляются следующие пункты меню: ФАЙЛ (File), ПРАВКА (Edit), ВИД (View), ТЕКСТ (Text), ОТЛАДКА (Debug), ТОЧКИ ОСТАНОВА (Breakpoints), ВЕБ (WEB), ОКНО (Window).
В меню ОТЛАДКА (Debug) находится команда ЗАПУСК (Run) или СОХРАНИТЬ И ЗАПУСТИТЬ (SaveandRun) позволяющая выполнить М – ФАЙЛ (M – file).
При работе в среде MATLAB в основном используются следующие режимы:
1.Режим прямых вычислений.
2.Режим редактора.
3.Режим записи\чтения файлов.
Правила работы в режиме прямых вычислений:
1.Открыть MATLAB.
2.Открыть Командное окно (CommandWindow).
3.После появления приглашения к работе, обозначенного знаком " >> ", можно ввести строку с данными, формулой или командой, завершив ввод строки нажатием клавиши "ВВОД" ("Enter''). Результат выполнения введенных данных, формул или команд должен появиться в командном окне (см. рис. 1.2).
Рис 1.2 Окно редактора программы MATLAB
Правила работы в режиме редактора:
1.Открыть MATLAB.
2.При создании нового файла в окне текущего каталога MATLAB на панели инструментов вызвать режим редактора -->Новый --> М-файл.
3.Набрать текст новой программы.
Различные изменения и коррекцию команд следует выполнять с помощью текстового редактора с последующимсохранением созданного (откорректированного) файла путем воздействия левой кнопкой мыши на «дискету», расположенную на панели окна редактора.
4.Проверить сохранение созданного файла.
1.2.Вычисление математических выражений:
Основные операторы: "+ " (сложение), " – " (вычитание), " * " (умножение), ".* " (поэлементное умножение), " / " (деление слева направо), "./ " (поэлементное деление слева направо), " \ " (деление справа налево), " .\ " (поэлементное деление справа налево), " ^ " (возведение в степень), " .^ " (поэлементное возведение в степень), " ' " (апостроф, транспонирование матрицы, вектора).
Функции: sin, cos, tan, cot, sec, csc (тригонометрические), asin, acos (обратные тригонометрические), sqrt (корень квадратный), log (натуральный логарифм), log2, log10 (логарифмы по основанию 2 и 10 соответственно), round(округление), abs (модуль числа).
ЗАНЯТИЕ № 1
1.2.1.Примеры вычислений
Рассмотрим кратко операции с векторами и матрицами, используемые в режиме прямых вычислений.
Современный матричный аппарат применяется практически во всех сферах инженерной деятельности и научных исследованиях, в той или иной мере связанных с количественными оценками, необходимыми для выполнения различных расчетов и принятия количественно обоснованных решений. В вычислительной среде MATLAB пользователю предоставлена возможность получения таких оценок практически без составления программ, путем выполнения расчетов в режиме прямых вычислений. Рассмотрим последовательность выполнения вычислений на ряде примеров. С этой целью вкомандной строке после мигающего знака " >> ", называемого промптом и означающего приглашение к работе, следует ввести требуемую операцию, нажать клавишу "ВВОД" (ENTER) и получить результат «ans».Рассмотрим кратко выполнение операций над векторами и матрицами в режиме прямых вычислений:
ПРИМЕР 1
>> 7-9+12-4
ans = 6
ПРИМЕР 2
>>log(1)
ans =0
>>exp(0)
ans =1
ПРИМЕР 3
>>log(73.8030)
ans =4.3014
>>exp(4.3014)
ans =73.8030
ПРИМЕР 4
>>>>exp(1)
ans = 2.7183
>>log(2.7183)
ans = 1.0000
>>log10(1000)
ans = 3
>> 10^3
ans = 1000
>>log2(32)
ans = 5
>> 2^5
ans = 32
Выполним несколько операций над векторами и матрицами. Условимся матрицы обозначать большими буквами, а вектора – малыми.При задании матрицы в квадратных скобках указываются значения чисел строк матрицы, разделяемые пробелами. Строки разделяются точкой с запятой "; ".
1.2.2. Матрицы.
Сложение и вычитание матриц:
ПРИМЕР 5
A=[1 -2 -4;3 -5 6]; B=[4 5 -1;-2 2 -3];
A+B;
ans =
5 3 -5
1 -3 3
ПРИМЕР 6
A=[1 3;-2 5]; B=[-4 2;3 -3]; C=[3 -1;-4 2];
D=A+B+C
ans =
0 4
-3 4
ПРИМЕР 7
A1=D-B-C
A1 =
1 3
-2 5
Умножение матрицы на число
ПРИМЕР 8
A=[2 -4 3 1 5;-1 3 -2 6 2];
mu=4;
Найти
mu*A
ans =
8 -16 12 4 20
-4 12 -8 24 8
ПРИМЕР 9
A=[1 -3 5;-4 3 -2;2 7 1]; B=[4 5 -6;2 -2 1;3 -9 2];
Найти
A+B
ans =
5 2 -1
-2 1 -1
5 -2 3
ПРИМЕР 10
2*B
ans =
8 10 -12
4 -4 2
6 -18 4
ПРИМЕР 11
3*A+2*B
ans =
11 1 3
-8 5 -4
12 3 7
ПРИМЕР 12
2*(3*A-2*B)
ans =
-10 -38 54
-32 26 -16
0 78 -2
ПРИМЕР 13
Умножение векторов (строка на столбец):
a=[-3 2 1 -2]; b=[2 -3 4 1]';
a*b
ans =
-10
Поэлементное умножение векторов:
a.*b'
ans =
-6 -6 4 -2
ПРИМЕР 14
Матрицы неперестановочны, что подтверждается путем выполнения следующих операций:
A=[1 -3 5;-4 3 -2;2 7 1]; B=[4 5 -6;2 -2 1;3 -9 2];
A*B
ans =
13 -34 1
-16 -8 23
25 -13 -3
B*A
ans =
-28 -39 4
12 -5 15
43 -22 35
ПРИМЕР 15
Умножение прямоугольных матриц:
A=[2 -1;4 3;1 -2;5 1]; B=[1 -5 4;7 1 3];
A =
2 -1
4 3
1 -2
5 1
>> B
B =
1 -5 4
7 1 3
A*B
ans =
-5 -11 5
25 -17 25
-13 -7 -2
12 -24 23
ПРИМЕР 16
Транспонирование:
A=[4 7;-2 -3;5 -6]
A'
ans =
4 -2 5
7 -3 -6
Получение симметрической матрицы:
A=[2 5 -3;-1 3 1;4 -3 6]
B=A+A'
B =
4 4 1
4 6 -2
1 -2 12
ПРИМЕР 17
Многочлены от матриц.
а). Найти многочлен от матрицы A,если f(x)=x^2+2*x+3 и
A=[1 1 0;1 1 1;1 0 1]; I=eye(3);
Решение: f(A)=
A^2+2*A+3*I
ans =
7 4 1
5 7 4
4 1 6
b).Найти B^2,если B=[cos(alf) -sin(alf);sin(alf) cos(alf)].
Введем символьную переменную «alf» и используем «simple» – операцию упрощения математической записи D:
symsalf
B=[cos(alf) -sin(alf);sin(alf) cos(alf)]
D=B^2;
D=simple(D)
D =
[ cos(2*alf), -sin(2*alf)]
[ sin(2*alf), cos(2*alf)]
c). Найти для той же B матрицу B^5:
D1=B^5;
D1=simple(D1)
D1 =
[ cos(5*alf), -sin(5*alf)]
[ sin(5*alf), cos(5*alf)]
Выполним численную проверку полученного результата (углы в вычислительных средах принято задавать в «радианах»):
alf=pi/180*37;
B=[cos(alf) -sin(alf);sin(alf) cos(alf)]
B*B*B*B*B
ans =
-0.9962 0.0872
-0.0872 -0.9962
D1=[cos(5*alf) -sin(5*alf);sin(5*alf) cos(5*alf)]
D1 =
-0.9962 0.0872
-0.0872 -0.9962
ПРИМЕР 17
Обращение (инверсия) матрицы.
Для обращения матрицы используем оператор «inv». С помощью оператора «rand» зададим квадратную матрицу Aразмерности (4 x4) из случайных чисел с равномерным распределением. Затем определим обратную матрицу B. Проверим решение путем умножения A*B или B*A. В обоих случаях получим единичную матрицу I:
A=rand(4,4)
A =
0.6948 0.4387 0.1869 0.7094
0.3171 0.3816 0.4898 0.7547
0.9502 0.7655 0.4456 0.2760
0.0344 0.7952 0.6463 0.6797
>> B=inv(A)
B =
-0.0503 0.8024 0.8645 -1.1895
1.4711 -3.2118 -0.0787 2.0627
-3.2986 3.6604 1.2312 -1.1216
1.4180 0.2363 -1.1225 0.1848
>> A*B
ans =
1.0000 -0.0000 -0.0000 -0.0000
0.0000 1.0000 -0.0000 -0.0000
0.0000 -0.0000 1.0000 0.0000
0.0000 -0.0000 -0.0000 1.0000
>> B*A
ans =
1.0000 -0.0000 -0.0000 -0.0000
-0.0000 1.0000 0 0.0000
-0.0000 0.0000 1.0000 0.0000
-0.0000 -0.0000 -0.0000 1.0000
Инвертировать можно только квадратные матрицы, имеющие одинаковое число строк и столбцов.
ПРИМЕР 18
Для задания мнимой части комплексного числа используют операторы «i», либо «j», означающие квадратный корень из числа (-1), т.е. sqrt(-1).
Определим произведение двух комплексно – сопряженных чисел:
>>z1=3-j*5;z2=3+j*5;
z=z1*z2
z = 34
С помощью функций real и imagможно выделить вещественную и мнимую части комплексного выражения:
>>real(z1)
ans = 3
>>imag(z2)
ans = 5
Комплексное сопряженное число получим, используя апостроф " ' ":
>> z1'
ans = 3.0000 + 5.0000i
ПРИМЕР 19
Формирование матриц специального вида
Функция zeros генерирует матрицу с нулевыми элементами.
>> a=zeros(5) %Формирует матрицу 5х5
a =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
>> b=zeros(3,4) % Формирует матрицу c нулевыми элементами
%размерности 3х4 (строки и столбцы)
b =
0 0 0 0
0 0 0 0
0 0 0 0
Функция ones генерирует матрицу с единичными элементами.
>> c = ones(3,4) %Формирует матрицу размерности 3х4
c =
1 1 1 1
1 1 1 1
1 1 1 1
Функция eye генерирует матрицу с единичными диагональными элементами.
>> d = eye(3)
d = 1 0 0
0 1 0
0 0 1
Функция diag(v,k) используется для генерирования диагональных матриц:
>> v=[3 4 5 1];
>>diag(v)
ans =
3 0 0 0
0 4 0 0
0 0 5 0
0 0 0 1
>>diag(v,1) % k=1, получена наддиагональ.
ans =
0 3 0 0 0
0 0 4 0 0
0 0 0 5 0
0 0 0 0 1
0 0 0 0 0
>>diag(v,-1) % k=1, получена подддиагональ.
ans =
0 0 0 0 0
3 0 0 0 0
0 4 0 0 0
0 0 5 0 0
0 0 0 1 0
В заключение отметим, что примеры (5 ÷17) можно найти в файле sah559.m, предоставляемом пользователям для выполнения лабораторных работ и самостоятельного изучения материала.
Для очистки экрана используется команда " clc ".
Теперь получим решение системы линейных алгебраических уравнений.
Рассмотрим пример:
Представим систему (1.1) в матричном виде:
А·x = b
где
,
,
.
Представим систему () в виде
илиx = inv(A) * b.
>> A=[7 2 -1;1 3 -1;5 -2 2];
>> b=[8 11 9]';
>> x=inv(A)*b
x = [0.61296.6774 9.6452]’
>>A*x % Проверка:
ans = [8.0000 11.00009.0000]’
ЗАНЯТИЕ № 2
Графические построения
Для построения графика функции y = f (x) необходимо сформировать два вектора одинаковой размерности - вектор значений аргументов (x) и вектор значений функции (y). Для вывода графика функции на экран используется оператор "plot".
Построение графика функции:
.
>>x = 0:0.1:6.28;
>> y = sin(x).*exp(-x);
>>plot(x,y)
Рис. График функции y=sin(x).*exp(-x)
Теперь рассмотрим способ построения графиков m- фазной симметричной системы синусоидальных э.д.с.по формуле
/m),
где k=1,2,3,…,m; Em- амплитуда фазнойэ.д.с. (в);ω– угловая частота (рад/с); t- время (с), для чего воспользуемся файлом sah743.m:
% sah743.m
% Построение ЭДС многофазных систем (m=3,...,12):
m=12;
e=[];Em=230*sqrt(2); f=50; w=2*pi*f;
for t=0:0.0001:0.02;
k=1:m;
ek=Em*cos(w*t-(2*k-1)*pi/m);
e=[e;ek];
end
Рис. .Пример построения графика функции в программе MATLAB.
Рис. Двенадцатифазная система э.д.с.
e;
t=0:0.0001:0.02;
plot(t,e),grid
Выбор цвета графиков.
Для выбора цвета графика необходимо указать в операторе “plot” символ цветности, в соответствии с таблицей 1.1.
Таблица 1.1
Символы цветности
-
символ цвета
цвет графика
символ цвета
цвет графика
y
желтый
g
зеленый
m
малиновый
b
синий
c
голубой
w
белый
r
красный
k
черный
>> x1 = 0:0.2:6.28;
>>y1 = sin(x1);
>>y2 = cos(x1);
>>plot (x1,y1,x1,y2,'g'), grid
% графикy2=cos(x1) будетиметьзеленыйцвет.
Стиль линии графика.
По умолчанию предусматривается график в виде сплошной линии, можно также задать:
"-"– сплошная линия,
"- -" – штриховая линия,
":" – двойная пунктирная линия,
"-." – штрих-пунктирная линия.
>> x1 = 0:0.2:6.28;
>> y1 = sin(x1);
>> y2 = cos(x1);
>> y3 = 0.5*cos(x1);
>> y4 = cos(2*x1);
>> plot (x1,y1,x1,y2,'g --',x1,y3,'m :',x1,y4,'b -.'), grid
Способы отображения точек на графике, при использовании оператора "plot", приведены в таблице 1.2.
Таблица 1.2
Символы отображения точек
Тип точки |
Точка |
Плюс |
Звездочка |
Кружок |
Квадрат |
Крестик |
Используемыйзнак |
. |
+ |
* |
о |
s |
|
>>x1 = 0:0.2:6.28;
>> y1 = sin(x1);
>> y2 = cos(x1);
>> y3 = 0.5*cos(x1);
>> y4 = cos(2*x1);
>> plot (x1,y1,x1,y2,'g --',x1,y3,'m : +',x1,y4,'b -. *'), grid
ТРЕХМЕРНАЯ ГРАФИКА
Построение трехмерной поверхности: z(x,y)=x.^2+y.^2.
[x,y]=meshgrid([-3:0.15:3]);
z=x.^2+y.^2;
plot3(x,y,z),grid
Оператор "meshgrid" – формирует узлы двумерной и трехмерной сеток.
[x,y] = meshgrid формирование узлов прямоугольника, задаваемого векторами x и y.
Рис.1.14 Пример построения трехмерной
поверхности
Рисунок сохранен средствами программы MATLAB – из графического окна. В меню ФАЙЛ (File) выбираем подменю Экспортировать (Export…), где указываем: место сохранения рисунка, его формат и имя.
Построение линий уровней трехмерных поверхностей:
% z=x*exp(-x.^2-y.^2) в областях: -2=<x<=2, -2=<y<=3;
[x,y]=meshgrid([-2:0.2:2,-2:0.2:3]);
z=x.*exp(-x.^2-y.^2);
%surf(x,y,z
meshc(x,y,z)
Операторы "surf" ("surfc") выводят затененную сетчатую поверхность. Операторы "meshc" ("mesh", "meshz") создают трехмерную сетчатую поверхность.
Рис.1.15 Пример построения трехмерной сетчатой поверхности
Рис.1.16 Пример построения затененной поверхности
Построение затененной поверхности:
[x,y]=meshgrid([-2:0.2:2,-2:0.2:3]);
z=x.*exp(-x.^2-y.^2);
surf(x,y,z)
Построение сферы.
[x,y,z]=sphere(32);
c=z;
surf(x,y,z,c)
%colormap (pink)
colormap (prism)
colorbar
Рис.1.17 Пример построения сферы
colormap (С) - палитра цветов С, например, pink – розовая палитра, prism –палитра с чередованием цветов радуги.
colorbar - шкала палитры.
ЗАНЯТИЕ № 3
Метод наименьших квадратов (МНК)
