Никитина ДС Лабораторная работа 3
.docx
Лабораторная
работа №3
КОМПЬЮТЕРНЫЙ
ПРАКТИКУМ ПО ЛИНЕЙНОЙ АЛГЕБРЕ И
АНАЛИТИЧЕСКОЙ ГЕОМЕТРИИ
НИКИТИНА
ДАРЬЯ ПИН-21Д
Упражнение 3.1. Ввод векторов
1. Введите массив а в командной строке, используя квадратные скобки и разделяя элементы вектора точкой с запятой
Код:
>> a=[1.3; 5.4; 6.9]
a =
1.3000
5.4000
6.9000
2. Введите теперь второй вектор, подавив вывод на экран
Код:
>> b = [7.1; 3.5; 8.2];
4. Ввод вектор-строки осуществляется в квадратных скобках, однако элементы следует разделять пробелами или запятыми.
Код:
>> s1 = [3 4 9 2]
s1 =
3 4 9 2
>> s2 = [5 3 3 2]
s2 =
5 3 3 2
Упражнение. 3.2.
Из нескольких вектор-столбцов можно составить один, используя квадратные скобки и разделяя исходные вектор-столбцы точкой с запятой
Код:
>> v1 = [1; 2];
>> v2 = [3; 4; 5];
>> v = [v1; v2]
v =
1
2
3
4
5
Для сцепления вектор-строк также применяются квадратные скобки, но сцепляемые вектор-строки отделяются пробелами или запятыми
Код:
>> v1 = [1 2];
>> v2 = [3 4 5];
>> v = [v1 v2]
v =
1 2 3 4 5
Упражнение 3.3. Сложение и вычитание векторов.
1. Вычислите сумму массивов a и b, запишите результат в массив с и выведите его элементы в командное окно.
Код:
>> c=a+b
c =
8.4000
8.9000
15.1000
2. Узнайте размерность и размер массива а при помощи встроенных функций ndims и size
Код:
>> ndims(a)
ans =
2
>> size(a)
ans =
3 1
3.1. Сложите вектор-строки s1 и s2, записав результат в переменную s3.
Код:
>> s3=s1+s2
s3 =
8 7 12 4
3.2. Вычтите s2 из s1 результат запишите в s4.
Код:
>> s4=s1-s2
s4 =
-2 1 6 0
Упражнение 3.4. Поэлементное умножение и поэлементное возведение в степень
1. Введите две вектор-строки и выполните операцию «.*»
Код:
>> v1 = [2 -3 4 1];
>> v2 = [7 5 -6 9];
>> u = v1.*v2
u =
14 -15 -24 9
2. При помощи «.^» осуществляется поэлементное возведение в степень
Код:
>> p=v1.^2
p =
4 9 16 1
Упражнение 3.5. Умножение и деление вектора на число.
1. Умножать вектор на число можно как справа, так и слева
Код:
>> v = [4 6 8 10];
>> p = v*2
p =
8 12 16 20
>> pi = 2*v
pi =
8 12 16 20
2. Делить при помощи знака / можно вектор на число:
Код:
>> p = v/2
p =
2 3 4 5
!!Попытка деления числа на вектор приводит к сообщению об ошибке:
>> p = 2/v
Error using /
Matrix dimensions must agree.
Упражнение. 3.6. Работа с элементами векторов
1. Доступ к элементам вектор-столбца или вектор-строки осуществляется при помощи индекса, заключаемого в круглые скобки после имени массива, в котором хранится вектор. Если среди переменных рабочей среды есть массив v, определенный вектор-строкой
Код:
>> v = [1.3 3.6 7.4 8.2 0.9];
то для вывода, например его четвертого элемента, используется индексация
Код:
>> v(4)
ans =
8.2000
2. Появление элемента массива в левой части оператора присваивания приводит к изменению в массиве
Код:
>> v(2) = 555
v =
1.3000 555.0000 7.4000 8.2000 0.9000
3. Из элементов массива можно формировать новые массивы, например
Код:
>> u = [v(3); v(2); v(1)]
u =
7.4000
555.0000
1.3000
4. Для помещения определенных элементов вектора в другой вектор в заданном порядке служит индексация при помощи вектора. Запись в массив w четвертого, второго и пятого элементов v производится следующим образом:
Код:
>> ind = [4 2 5];
>> w = v(ind)
w =
8.2000 555.0000 0.9000
5. MatLab предоставляет удобный способ обращения к блокам последовательно расположенных элементов вектор-столбца или вектор-строки. Для этого служит индексация при помощи знака двоеточия. Предположим, что в массиве w, соответствующем вектор-строке из семи элементов, требуется заменить нулями элементы со второго по шестой. Индексация при помощи двоеточия позволяет просто и наглядно решить поставленную задачу
Код:
>> w = [0.1 2.9 3.3 5.1 2.6 7.1 9.8];
>> w(2:6) = 0;
>> w
w =
Columns 1 through 5
0.1000 0 0 0 0
Columns 6 through 7
9.8000
6. Индексация при помощи двоеточия оказывается удобной при выделении части из большого объема данных в новый массив:
Код:
>> w = [0.1 2.9 3.3 5.1 2.6 7.1 9.8];
>> wl = w(3:5)
wl =
3.3000 5.1000 2.6000
7. Составьте массив w2, содержащий элементы w кроме четвертого. В этом случае удобно использовать двоеточие и сцепление строк:
Код:
>> w2 = [w(1:3) w(5:7)]
w2 =
Columns 1 through 5
0.1000 2.9000 3.3000 2.6000 7.1000
Column 6
9.8000
8. Элементы массива могут входить в выражения. Нахождение, например среднего геометрического из элементов массива u, можно выполнить следующим образом
Код:
>> gm = (u(1)*u(2)*u(3))^(1/3)
gm =
17.4779
Упражнение 3.7.
Код:
>> a=[2 4 6];
>> b=[1;8;-2];
>> a(2)=-5
a =
2 -5 6
>> b(3)=b(1)+b(2)
b =
1
8
9
Упражнение 3.8. Правило треугольника.
Изобразить правило треугольника.
Даны три точки с координатами A(-2 0), B(1 2), C(1 -1).
Убедиться (в тетради), что АВ+ВС=AC, здесь AB, BC и AC –векторы. 8
Изобразить векторы АВ и ВС синим и АС красным.
Код:
>> A=[-2 0];B=[1 2];C=[1 -1];
>> grid on, hold on
>> xlabel('X'),ylabel('Y')
>> line([-5 0;5 0], [0 -5;0 5],'Color','black')
>> M1=A;M2=B;
>> line([M1(1) M2(1)],[M1(2) M2(2)],'LineWidth',4)
>> plot(M2(1),M2(2),'o','LineWidth',4)
>> M1=B;M2=C;
>> line([M1(1) M2(1)],[M1(2) M2(2)],'LineWidth',4)
>> plot(M2(1),M2(2),'or','LineWidth',4)
>> M1=C;M2=A;
>> line([M1(1) M2(1)],[M1(2) M2(2)],'LineWidth',4,'Color','red')
>> text(-2,0.8,'A(-2;0)','Color','blue')
>> text(1.2,1.5,'B(1;2)','Color','blue')
>> text(-0.5,1.8,'{\bfAB}','Color','blue')
>> text(1.2,-1,'C(1;-1)','Color','blue')
>> text(-2,-0.5,'A(-2;0)','Color','red')
>> text(0.8,-1.2,'C(1;-1)','Color','red')
>> text(1.5,0.5,'{\bfBC}','Color','blue')
>> text(-1,-1,'{\bfAC}','Color','red')
>> title('PRAVILO TREUGOLNIKA {\bfAB+BC=AC}')
Упражнение 3.9. Правило параллелограмма.
Изобразить правило параллелограмма.
Дан параллелограмм ABCD, известны координаты трех его точек
A(-2 0), B(1 2), C(1 -1).
Найти координаты четвертой вершины D параллелограмма.
Показать на рисунке, что AB+ =AC, здесь AB, AD и AC – векторы.
Изобразить векторы АВ и AD синим и АС красным,
остальные стороны параллелограмма ВС и CD -черным.
Код:
>> A=[-2 0];
>> B=[1 2];
>> C=[1 -1];
>> BC=[C(1)-B(1) C(2)-B(2)]
BC =
0 -3
>> D=A+BC
D =
-2 -3
>> grid on, hold on
>> xlabel('X'),ylabel('Y')
>> line([-5 0;5 0], [0 -5;0 5],'Color','black')
>> line([-2 -2;1 -2],[0 0; 2 -3],'Color', 'blue')
>> line([-2;1],[0;-1],'Color','red')
>> line([1 1;1 -2],[-1 -1;2 -3],'Color', 'black')
>> plot(B(1),B(2),'>','Color','blue')
>> plot(D(1),D(2),'v','Color','blue')
>> plot(C(1),C(2),'>','Color','red')
>> text(-2,0.8,'A(-2;0)','Color','blue')
>> text(1.2,1.5,'B(1;2)','Color','blue')
>> text(-0.5,1.8,'{\bfAB}','Color','blue')
>> text(-2,-0.5,'A(-2;0)','Color','red')
>> text(0.8,-1.5,'C(1;-1)','Color','red')
>> text(-1,-1,'{\bfAC}','Color','red')
>> text(-2,-3.5,'{D(-2;-3)}','Color','blue')
>> text(-2.5,-1.5,'{\bfAD}','Color','blue')
0