- •Матрицы
- •1. Формирование векторов и матриц
- •2. Действия со строками и столбцами
- •1).Арифметические операторы и функции matlab
- •2). Встроенные функции
- •3).Функции обработки матриц
- •Inv(a) %обратная матрица
- •4).Округление до целого
- •5).Тригонометрические функции
- •1).Решение систем линейных уравнений методом обратной матрицы
- •2).Решение систем алгебраических уравнений в символьном виде функция solve
2). Встроенные функции
X=[1 2 3]
Y1 = log(X)%returns the natural logarithm of the elements of X.
Y2 = log2(X)%computes the base 2 logarithm of the elements of X.
Y3 = log10(X) %returns the base 10 logarithm of the elements of X.
Y4 = exp(X) %returns the exponential for each element of X.
Y5=sqrt(X)%корень квадратный из элементов матрицы (вектора)
%Матрицы
Z=[10 25 34;15 36 27;18 11 37]
Y1 = log(Z)
Y5=sqrt(Z)
3).Функции обработки матриц
A=[1 -2 4;5 -6 7;-8 1 3]
abs(A) %модуль
det(A) %определитель матрицы
Inv(a) %обратная матрица
diag(A) %главная диагональ матрицы
sum(A) %сумма по столбцам (sum(A,1))
sum(A,2) %сумма по строкам
sum(diag(A)) %сумма элементов главной диагонали матрицы (след)
trace(A) % след матрицы
S=sum(sum(A))%сумма матрицы
prod(A,1)%произведение элементов массива в столбцах (по умолчанию prod(C))
prod(A,2)%произведение элементов массива в строках
A' %транспонирование матрицы
sum(A') %сумма столбцов транспонированной матрицы (аналог sum(A,2) вектор-строка)
sum(A')' %аналог sum(A,1) вектор-столбец
ndims(A) %размерность массива
size(A) %размер массива
%вектор A хранится в двумерном массиве размерностью три на три.
length(X) %длина вектора
4).Округление до целого
F=[2.123 -4.999 7.513 3.001]
fix(F) %Отсекает дробную часть без округления
round(F) %Округляет число до целого по всем правилам округления
floor(F) %Округляет до меньшего целого
ceil(F) %Округляет до большого целого
5).Тригонометрические функции
sin(F)
cos(F)
tan(pi/4)
cot(pi/4)
----------------------------------
Решение систем линейных уравнений
Способ 1
1).Решение систем линейных уравнений методом обратной матрицы
%Рекомендации:
% Bектор B задавать вектором-столбцом;
% Доступны формулы X=A\B; X=(A^-1)*B; X=inv(A)*B;
% Вектор решений должен возвращаться как вектор-столбец.
%система 3-х уравнений с 3 неизвестными 2x-y+5z=14; x-3y+4z=9; 3x+y-7z=-20;
%правильный ответ X=0 Y=1 Z=3
disp('вектор решения по трем формулам для СЛУ-1 с 3 неизвестными')
a=[2 -1 5;1 -3 4;3 1 -7] %матрица коэффициентов
b=[14;9;-20] %вектор свободных членов
% 1-й способ
x1=a\b
% 2-й способ
x2=inv(a)*b
% 3-й способ
x3=a^(-1)*b
%Ответ: получен вектор-столбец решения X=[0; 1; 3],
%следовательно, X=0; Y=1; Z=3;
%Проверка: A*X=b
a*x1
Способ 2
2).Решение систем алгебраических уравнений в символьном виде функция solve
№1 Система двух уравнений с двумя неизвестными
syms x y; % описание переменных в символьном виде
S=solve('x+y=3','x*y^2=4',x,y) % выдает только количество корней (нет ; в конце ввода)
S.x % распечатка корней
S.y
%Ответ:(1; 2) или (4; -1)
%если в функциях нет знака равенства, то по умолчанию считается =0
syms x y;
t=solve('2*x+5*y-26','3*x-y-5',x,y)
t.x %печатает x и y
t.y
№2 Система трех уравнений с тремя неизвестными
syms x y z;
d=solve('2*x+5*y-z=15','x-2*y+3*z=2','3*x+y-2*z=9',x,y,z)
%чтобы переменная d не распечатывала количество ответов, поставьте ;
%распечатать значения корней нужно так:
d.x
d.y
d.z
%
%если функция в апострофах, то находятся корни уравнения,
%если функция без апострофов и/или знаков =, то находятся нули функции, что дает один и тот же результат разными способами
syms x y z;
d=solve(2*x+5*y-z-15,x-2*y+3*z-2,3*x+y-2*z-9,x,y,z)
d.x
d.y
d.z