Файл: Лабораторная работа 1 Работа с векторами и матрицами Задание 1 Решение a12 43 7 14 85 3 b 1243714853.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 07.11.2023

Просмотров: 126

Скачиваний: 7

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лабораторная работа №1

Работа с векторами и матрицами

Задание 1

Решение:

>> a=[12 43 7 14 85 3]

>> b = [12;43;7;14;85;3]

>> M = [13,45,6;34,16,97;0,27,3;44,5,74]



Рисунок 1

Задание 2

Решение:

>> x=0:3:0.2

>> y=cos(x)



Рисунок 2

Задание 3

Решение:

>> c1= linspace(1,30)



Рисунок 3

Задание 4

Решение:

>> clear

>> a = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]

>> a(2,3)=13

>> a(4,:)=0

>> a(:,2)=25



Рисунок 4



Рисунок 5

Задание 5

Решение:

>> clear a

>> A = [0 0 0 0; 2 2 2 2; 4 4 4 4; 6 6 6 6]

>> A(:,3)=[]

>> A(2,:)=[]

>> A(1,1:end)=1



Рисунок 6

Задание 6

Решение:

>> B=ones(5,3)

>> B=zeros(5,3)

>> M4=magic(4)



Рисунок 7

Лабораторная работа №2

Матричные операции

Задание:

 Создайте две матрицы Р1 и Р2 из произвольных значений, размерами 3х4 и 4х3.

 Умножьте их друг на друга.

 Получившуюся матрицу возведите в третью степень.

 Результат транспонируйте.

 Очистите переменные P1 и Р2.

 Заполните их так как показано на картинке.

Повторите с матрицей Р1 пример 6, а с матрицей Р2 пример 7. Опишите результат.

 Объедините по вертикали получившиеся для матрицы Р1 результаты в одну матрицу двумя способами.

 Объедините по горизонтали получившиеся для матрицы Р2 результаты в одну матрицу двумя способами.

Решение:

С матрицей P1 транспонирование и умножение завершилось успешно, но с матрицей P1 деление и возведение в степень завершилось предупреждением – «Warning: Matrix is singular to working precision», что говорит о том, что матрица числа матрицы,
возведенные в степень, слишком большие для деления.

>> P1 = [1,1,1,1; 1,1,1,1; 1,1,1,1]

>> P2=[2,2,2;2,2,2;2,2,2;2,2,2]

>> P3=P1*P2

>> P4=P3^3

>> P5=P4.'

>> clear P1

>> clear P2

>> P1 = [1,2;5,4]

>> P2=[11,21,31;32,42,52;53,63,73]

>> K1=P1*P1'

>> K2=(P1*P1)'

>> K3=P2/P2^2

>> K4=P2^2

>> K5=P2/K4

>> [K1; K2]

>> cat(1,K1,K2)

>> K8=(P2/P2)^2

>> [K3 K8]

>> cat(2,K3,K8)











Рисунок 8-12 – Выполнение задания

Лабораторная работа №3

Построение графиков функций

Задание:

 Постройте график функции y = exp(-x)*sin(10*x). Задайте тип и цвет линии. Добавьте заголовок.

 Постройте графики функций в одних осях. y1 = exp(-x).*sin(10*x) y2 = sin(10*x) Добавьте легенду. Попробуйте перенести легенду с помощью мыши в другое место окна figure. Задайте параметр расположения легенды вне графика – в правом верхнем углу графического окна.

 Постройте графики функций: y1 = sin(x) y2 = cos(x) Подпишите оси. Добавьте сетку.

 Постройте графики функций в одном графическом окне, один под другим. y1 = sin(x) y2 = cos(x)

 Постройте четыре графика функций, каждый в своем окне, в одном figure y1=cos(x) y2=sin(x) y3=x^(1/2) y4=x^2

 Постройте график функции y = sin(x). Добавьте подписи координатных осей, сетку, команду задания границ для осей. Добавьте подпись '← sin(x)' в точке (3.05,0.16).

 Для функции n! постройте график функции в логарифмическом масштабе по оси y.

 Постройте графики функций f = log(0.5*x) g = sin(log(x)) в логарифмическом масштабе по оси х. Добавьте легенду на графики.

 Постройте графики функции y=exp(x) в обычном и логарифмическом масштабе в одном figure, но в разных осях (используйте subplot). Добавьте легенду на графики.

 Постройте график функции в полярных координатах: x=[0:0.01:2*pi] f =8*sin(x) r = cos(2*x)



 Постройте в полярных координатах следующие кривые: окружность, спираль Архимеда, сердце, бабочка, полярная роза.

 Постройте графики функций, заданных параметрически. Диапазон изменения параметра подберите таким образом, чтобы построенные графики были похожи на графики, приведенные на рисунках ниже. Установите толщину линии графиков в 2 пикселя. Добавьте заголовок и легенду. Сохраните построенные графики в различных графических форматах - png, jpg, eps. Сравните качество и размер получившихся графических файлов. Сделайте вывод о том, какой графический формат предпочтительнее для графиков и почему.

 Постройте график функции x*sin(1/x).

 Задайте три вектора. Первый вектор содержит номера дней месяца. Второй и третий список содержат значения курса акций в эти дни, для двух разных месяцев. Построить графики зависимости курса акций от номера дня.

 Постройте график функции sin(x). С помощью панели инструментов окна figure измените толщину линии графика, добавьте текстовую надпись. Выполните экспорт графика в файл png.

 Постройте график функции sin(x)/x. С помощью функции gtext добавьте текстовую надпись. Добавить заголовок, подписи осей, сетку и легенду, цвета для линий графиков.

Решение:

>> clear all

>> x=[0:0.005:5];

>> y = exp(-x).*sin(10*x);

>> plot(x,y,'r:')

>> x = [0:0.005:5];

>> y1 = exp(-x).*sin(10*x);

>> y2 = sin(10*x);

>> plot(x, y1,'k-',x,y2, 'k:')

>> legend('y1=exp(-x)*sin(10*x)',4)

>> xlabel('x')

>> ylabel('y')

>> x = [0:0.005:5];

y1 = sin(x);

plot(x, y1);

grid on

>> x = [0:0.005:5];

y2=cos(x);

plot(x,y2);

grid on

>> clear x

x = [0:0.005:5];

y1 = sin(x);

y2=cos(x);

plot(x, y1,x,y2);

grid on

>> x = [0:0.005:5];

y1=cos(x);

y2=sin(x);

y3=x.^(1/2);

y4=x.^2;

figure;

plot(x,y1);

figure;

plot(x,y2);

figure;

plot(x,y3);

figure;

plot(x,y4);

x = [0:0.005:5];

y=sin(x);

plot(x,y);

grid on;

text(3.05,0.16, '← sin(x)')

Y1=[1,2,3]

y=[1e+1,1e+4,1e+1,1e+3,1e+1,1e+4,1e+1];

p=semilogy(Y1),

set(p,'LineWidth',2);

title('Логарифмическая шкала по оси y')

x = [0:0.005:5];

f=log(0.5*x);

g=sin(log(x));

p = semilogx(f)

set(p, 'LineWidth',2);

t = semilogx(g)

set(t, 'LineWidth',2);

grid on

x1=[0:0.005:5];

y1=exp(x1);

x2=[0:0.005:5];

y2=exp(x2);

subplot(2,2,1)


P=semilogx(y2)

legend('exp')

subplot(2,2,2)

plot(x2,y2)

legend('exp')

x=[0:0.01:2*pi]

f =8*sin(x)

r = cos(2*x)

polar(x,f)

polar(x,r)

>> clear all

>> n=100;

t=0:0.01:6*pi;

r=t./(t+n);

T=[t t];

R=[r -r];

polar(T,R)

>> clear all

>> n=100;

t=0:0.01:6*pi;

r=t./(t+n);

T=[t t];

R=[r -r];

polar(T,R)

>> clear all

>> th = linspace(0,2*pi,50);

r = 10;

polar(th,r+zeros(size(th)))

>> clear all

>> t = -pi:0.1:pi;

r = ((sin(t).*sqrt(abs(cos(t))))./(sin(t) + (7/5))) - 2*sin(t) + 2 ;

polar(t,r)

>> clear all

>> theta = [0:pi/32:8*pi];

r = exp(sin(theta)) - 2*cos(4*theta) - (sin((2*theta - pi)/24)).^5;

polar(theta,r,'--r')

title('butterfly curve')

xlabel('theta (\theta)')

ylabel('r')

>> theta = [0:pi/32:8*pi];

r = exp(sin(theta)) - 2*cos(4*theta) - (sin((2*theta - pi)/24)).^5;

polar(theta,r,'--r')

xlabel('theta (\theta)')

ylabel('r')

>> clear all

>> theta = 2*pi*rand(1,50);

rose(theta)

>>

>> x = [-1/pi:0.01:1/pi];

y = x.*(sin(1./x));

plot(x,y)

>>

>> D=30;

days=1:D;

kurs1=50 + (60-50) * rand(D,1);

kurs2=60 + (70-50) * rand(D,1);

plot([kurs1,kurs2])

legend('$$$','Euro')

>> x = [0:0.005;5];

>> y=sin(x);

>> plot(x,y)

x = [-10:0.5:10]
y = sin(x)./(x);
plot(x,y);
gtext('My Plot');
legend('sin(x)/x');
grid on










































Рисунок 12-20