Лабораторная работа 8
Тема «Работа с массивами»
Задания
1. Задана квадратная матрица
Элементы матрицы А обозначим aik . Требуется узнать и записать размер матрицы в переменную n (конечно, он равен 3, но лучше использовать функцию для автоматического определения размера) и вычислить приведенные ниже величины (нормы матрицы):
Выполнение:
A= [ -1.2 4.6 -0.3
2.8 9.9 -0.7
0.9 -2.5 7.1]
n=size(A)
S = sum (A)
S = sum (S)
p = sum ( max(A))
q = sum ( max ( A, [ ] , 2))
Ход работы:
2. При помощи встроенных функций для заполнения стандартных матриц,
индексации двоеточием и, возможно, поворота, транспонирования или
вычеркивания получите следующие матрицы:
;
;
Выполнение:
d = [ 2 3 4 5 6 7 8]
N = diag (d) + diag ( ones ( 1, 6) , 1) + diag ( ones ( 1,6), -1) + diag ((5), 6) + diag ( (5) , -6)
N ( 6,7) = 0
Ход работы:
Выполнение:
A = eye(7) + rot90( -eye(7))
A (4,4) = 5
Ход работы:
Выполнение:
A = diag( ones (1,7) ,4) + eye ( 11,11)
A ( 8:11, :) = [ ]
Ход работы:
Выполнение:
A = eye (11,11) + diag ( ones (1,10) ,1)
D = diag ( -1*ones(1,10),1)
D (: , 5:end) = 0
B = -1*eye(11)
B ( 1:3, : ) = 0
S = A + D + B
Ход работы:
3. Сконструируйте блочные матрицы (используя функции для заполнения стандартных матриц) и определите заданные величины, применяя функции обработки данных и поэлементные операции.
; ;
;
Выполнение:
M= [ eye(3) 4*eye(3); 2*ones(3) 3*ones(3)]
S= sum(sum ( sqrt(M^2)))
N = [ ones(2) -3*ones(2,4); -3*ones(4,2) 2*eye(4)]
Ход работы:
1)Переставьте столбцы матрицы в порядке возрастания суммы элементов столбца.
Выполнение:
[V, ind] = sort( sum(A))
A = A ( [ ind], :)
Ход работы:
2)Найдите сумму всех положительных элементов матрицы.
Выполнение:
N = max ( A, 0)
S = sum(sum (N))
Ход работы:
3) Считайте матрицу из файла matr.txt (предварительно создайте ее самостоятельно),
замените в ней все элементы, большие среднего арифметического ее элементов, на среднее арифметическое и запишите ее в файл newmatr.txt (включите этот файл в отчет)
Выполнение:
A = load ('matr.txt')
Sr = mean(mean ( A))
S = max (A, Sr)
save ' newmatr.txt ' S -ascii
Ход работы:
4)Определите максимальный столбцовый и строчный индексы отрицательных элементов матрицы.
Выполнение:
[ i, j ] = max( find (A<0))
Ход работы:
Лабораторная работа 9
Тема: «Интерактивная среда для построения графиков»
Задания
Постройте поверхности из задания к лабораторной работе №2. Используя средства редактора свойств Property Editor, оформите их графическое представление:
• задайте характеристики осей;
• подберите цветовую палитру для лучшего отражения свойств поверхности;
• поварьируйте свойства граней и маркеров точек сетки;
• воспользуйтесь камерой для всестороннего осмотра и изучения поверхности
Выполнение:
[x, y] = meshgrid ( -5:0.05:5, -5:0.05:5);
z=sqrt((x.^2) + (y.^2) +1);
f= ((x.^2)/8 +(y.^2)/8);
b = ((x.^2)/8 -(y.^2)/8);
surf(x,y,z)
surf(x,y,f)
surf(x,y,b)
Поверхности:
Двуполостный гиперболоид
Однополостный гиперболоид
Гиперболический параболоид
Вывод:
В ходе данной лабораторной работы, мы научились работать с графиками, с массивами и матрицами. Мы научились простейшим операциям с графиками, таким как построение графиков функций, вычисление их значений в заданной точке, выводам графиков различными способами. С помощью специальной кнопки, посмотреть график со всех сторон. Научились визуализировать функции нескольких переменных на прямоугольной области определения, а так же определять экстремумы функции. Разобрались в работе с массивами в matlab и при помощи функций для заполнения матриц, индексация двоеточием и транспонирования получали нужные матрицы. Выполнять различные арифметические операции, например решение интегралов и дифференциальных уравнений. Эти знания пригодятся нам в дальнейшем обучении, так как matlab может выполнять различные технические вычисления.