Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Никитина ДС Лабораторная работа 3

.docx
Скачиваний:
0
Добавлен:
15.06.2021
Размер:
45.35 Кб
Скачать

Лабораторная работа №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

  1. 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