Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zhovtyak_practice1.docx
Скачиваний:
4
Добавлен:
27.08.2024
Размер:
1.18 Mб
Скачать
  1. Работа с массивами

Первое задание представлено на рисунке 13.

Рисунок 13 – Задание №3.1

Код к решению задачи представлен в листинге 9, ответ на рисунке 14.

Листинг 9 – Код задания №3.1

x = [0.1, 0.4, 0.6, 0.8, 1.1, 1.3, 2.2];

y = ((8*(cos(x)).^2)/(3+sin(2*x)))+(2*exp(-4*x));

disp(sprintf('%g ', y'));

Рисунок 14 – Полученный ответ к заданию №3.1

Во втором задании необходимо заполнить вектор-столбец элементами, начинающимися с нуля и до единицы с шагом 0,2 (используя операцию транспонирование) и вектор-строку, начинающуюся с единицы до двух с шагом –0,4. Код представлен в листинге 10, а результат на рисунке 15.

Листинг 10 – Код задания №3.2

x = [0:0.2:1];

disp(sprintf('%g ', x'));

y = [2:-0.4:1];

disp(sprintf('%g ', y'));

Рисунок 15 – Полученный ответ к заданию №3.2

Далее необходимо построить график функции y(x) = e-x(1+cos2x) на отрезке [0,5]. Код задания представлен в листинге 11, а ответ на рисунке 16.

Листинг 11 – Код задания №3.3

x = [0:0.5:5];

y = (exp(-x).*(1+cos(2*x)));

plot(x,y);

Рисунок 15 – Полученный график к заданию №3.3

В следующем задании необходимо построить на отрезке [-2, -0,5] графики функций f(x) = cos( , g(x) = sin( . Код решения представлен в листинге 12, а полученные графики на рисунке 16.

Листинг 12 – Код задания №3.4

x = [-2:0.005:-0.5];

f = cos(4.8./(x.^3));

g = sin(3./(5*x.^3));

plot(x, f, x, g)

Рисунок 16 – Полученный график к заданию №3.4

В пятом задании необходимо:

а) Найти скалярное произведение векторов: a = , b = ;

б) найти длину (модуль) вектора a;

в) найти векторное произведение векторов a и b.

Код задания представлен в листинге 13, а полученный ответ на рисунке 17.

Листинг 13 – Код задания №3.5

a = [2.5;-4.6;6.4];

b = [3.3;6.7;-8.4];

s = sum(a.*b);

disp(s);

d = sqrt(sum(a.*a));

disp(d);

c = cross(a, b);

disp(c);

Рисунок 17 – Полученный ответ к заданию №3.5

В последнем задании необходимо найти объем параллелепипеда, если a = , b = , c = . Код задания представлен в листинге 14, а полученный ответ на рисунке 18.

Листинг 14 – Код задания №3.6

a = [7.3;0;0];

b = [4.4;9.6;0];

c = [-3.8;-6.8;1.4];

v = abs(sum(a.*cross(b,c)))

Рисунок 18 – Полученный ответ к заданию №3.6

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

  1. Двумерные массивы и матрицы

В первом задании необходимо:

а) Найти сумму и разность матриц C = , А = ;

б) Умножить матрицы C и B = ;

в) полученную матрицу умножить на 2.

Код решения представлен в листинге 15, а полученный ответ на рисунке 19.

Листинг 15 – Код задания №4.1

C = [9 4 -2;-1 -7 3];

A = [7 -5 1; 1 5 0];

B = [8 2 -3; 2 1 -6; -5 5 0];

S = C + A;

disp(S);

R = C - A;

disp(R);

P = C * B;

disp(P);

T = P * 2;

disp(T);

Рисунок 19 – Полученный ответ к заданию №4.1

Далее необходимо найти значение выражения (A+C)*B2*(A+C)T, где эти матрицы были записаны в предыдущем задании. Код задания представлен в листинге 16, а ответ на рисунке 20.

Листинг 16 – Код задания №4.2

C = [9 4 -2;-1 -7 3];

A = [7 -5 1; 1 5 0];

B = [8 2 -3; 2 1 -6; -5 5 0];

(A+C)*B^2*(A+C)';

Рисунок 20 – Полученный ответ к заданию №4.2

В третьем задании нужно вычислить значение выражения * * . Код задания представлен в листинге 17, а ответ на рисунке 21.

Листинг 17 – Код задания №4.3

a = [7 1 -2];

B = [8 5 0; -7 8 -3; 3 5 -1];

c = [-6; 5; 1];

a * B * c

Рисунок 21 – Полученный ответ к заданию №4.3

В четвёртом задании необходимо решить систему линейных уравнений, которая представлена на рисунке 22. Код решения представлен в листинге 18, ответ на рисунке 23.

Рисунок 22 – Задача №4.4

Листинг 18 – Код решения задачи №4.4

A = [7.3 2.5 -2.5; 2.4 7.5 4.1; -1.1 3.2 4.9];

b = [2.1; 5.3; 4.5];

x = A\b

Рисунок 23 – Полученный ответ к заданию №4.4

Теперь нужно решить это же уравнение, но где левая часть уравнения будет записана в файле matr.txt, а правая в файле rside.txt, после чего полученный ответ будет записан в файл sol.txt. Записанные в файлах данные представлены на рисунке 24, а код решения в листинге 19.

Рисунок 24 – Записанные данные для задачи №4.5

Листинг 19 – Код решения задачи №4.5

A = load('matr.txt');

b = load('rside.txt');

x = A\b;

fid = fopen('sol.txt', 'w');

fprintf(fid, '%.4f\n', x);

fclose(fid);

Ответ был записан в файл sol.txt, где он был аналогичен тому, который изображен на рисунке 23.

В ходе решения задач я научился работать в Matlab с двумерными массивами.

Соседние файлы в предмете Производственная практика