Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

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

Томский политехнический университет»

_______________________________________________________________________________________

 

 

Институт ЭНИН

Кафедра ПМ

 

 

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

«Знакомство с Matlab»

 

Вариант № 3

 

 

Выполнила:

студент группы 5А13

Косилова Д.Ю.

 

 

Проверил:

Преподаватель

Титаренко Е.Ю.

 

Томск – 2013

Цели работы:

1. Получение первых навыков работы с системой компьютерной математики MATLAB.

2. Знакомство с основными операциями над векторами и матрицами в MATLAB.

3. Знакомство с простейшими графическими средствами MATLAB.

4. Решение задачи по вычислению суммы числового ряда и анализу погрешностей полученных результатов.

 

Ход работы:

Основные команды:

Desktip/ Desktop Layout / Command Window Only - главное окно MATLAB преобразуется к сокращенному виду (только командное окно). Обратное переключение можно осуществить с помощью команды меню Desktip / Desktop Layout / Default.

Клавиша "" вызывает появление последней команды, повторное нажатие переводит к предпоследней, и т.д. Стек команд закольцован и в обратной последовательности команды вызываются клавишей "" (первая команда сеанса, вторая и т.д.).

Очистить командное окно можно с помощью меню EDIT / Clear Command Window.

Очистить рабочую область можно с помощью меню EDIT / Clear Workspsce.

Очистить список команд можно только с помощью меню EDIT / Clear Command History.

 

>>A=[1 0 0 4; 0 2 1 0; 1 2 0 0] – формирование матрицы

>>size(A) = [3 4] - размер переменной в формате вектора из двух компонент (<число строк> <число столбцов>)

>>A([1,3], 2:4) - формирует новую матрицу из элементов матрицы A, находящихся на пересечении строк с номерами 1 и 3 и столбцов с номерами 2, 3, 4, присваивая результат переменной ans (answer), которая всегда содержит результат вычисления последнего выражения, если он не был присвоен какой-нибудь переменной.

>>a = A(:,2) - вектор-столбец, совпадающий со вторым столбцом матрицы A

(Разделитель ":" используется для формирования списков или векторов. Выражение n:m означает список n, n+1, … , m; а выражение n:p:m – список от n до m c шагом p; двоеточие без пределов означает весь промежуток изменения индекса, в том числе двойного)

>>С=а*а'; disp(С) - умножение, используя команду disp для вывода результатов

>>d=(а')*а; disp(d) - произведение матрицы размера [n r] на матрицу размера [r m] есть матрица размера [n m], поэтому здесь C=а*а' – матрица, а d – скалярный квадрат вектора а.

>>g=а.*а; disp(g') - точка в сочетании со знаком операции означает, что операция выполняется поэлементно. Так ".*" означает поэлементное умножение.

>>whos - заставляет систему дать подробный ответ о содержимом рабочей области

>>plot(sin(x)) – команда построения графиков по точкам

>>clear - очистка графического окна
>> fplot('sin(x)/x', [-15 15]) - позволяет строить функцию, заданную в символьном виде, в интервале изменения аргумента х от xmin до xmax без фиксированного шага изменения х
>> grid on - включение отображения сетки, которая строится пунктирными линиями.

>>V=1:8

V= Построение столбцовых диаграмм, отражающие содержание

1 2 3 4 5 6 7 8 вектора V. Каждый элемент вектора представляется столбцом, высота

>>bar(V) которого пропорциональна значению элемента

 

>>[X, Y]=meshgrid(-5:0.1:5);

>>Z=X.*sin(X+Y); Построение графика поверхности и ее проекции в виде

>>meshc (X, Y, Z) контурного графика на плоскость под поверхностью

 

Индивидуальное задание:

Дан ряд Найти сумму ряда аналитически. Вычислить значения частичных сумм ряда и найти величину погрешности при значениях N={102, 103, 104, 105}. Определить количество верных цифр результатов.

Решение:

1. Найдем сумму ряда S аналитически с использованием средств Matlab.

>> syms n

>> S_inf=symsum(9/(n^2+7*n+12),n,0,inf)

S_inf =

2. Находим значение частичных сумм S(N):

>> syms N

>> S=symsum(9/(n^2+7*n+12),n,0,N)

S =

(9*(N + 1))/(3*N + 12)

Следовательно,

3. Сформируем вектор N={102, 103, 104, 105}.

>> N=[10^2, 10^3, 10^4, 10^5]

N =

100 1000 10000 100000

4. Вычислим значения частичных сумм Si = S(Ni) ряда при соответствующих значениях Ni.

>> S=(9*(N+1))./(3*N + 12)

S =

2.913461538461538 2.991035856573705 2.999100359856058 2.999910003599856

i Ni S(Ni)
2.91
2.991
2.9991
2.99991

5. Для каждой величины S(Ni) вычислим абсолютную погрешность .

>> D=abs(S-3)

D = 0.086538461538462 0.008964143426295 0.000899640143942 0.000089996400144

Длинное представление абсолютной погрешности в фиксированном формате(15 знаков):

>> format long

>> D

D =

0.086538461538462 0.008964143426295 0.000899640143942 0.000089996400144

Короткое представление погрешности в экспоненциальной форме:

>> format short e

>> D

D =

8.6538e-002 8.9641e-003 8.9964e-004 8.9996e-005

Округляем до одной значащей цифры, получим окончательный результат для абсолютной погрешности:

Δ1 Δ2 Δ3 Δ4
9∙10-2 9∙10-3 9∙10-4 9∙10-5

6. Для каждой величины S(Ni) вычислим относительную погрешность и определим количество верных цифр.

>> d=D./3

d =

2.8846e-002 2.9880e-003 2.9988e-004 2.9999e-005

Округляем полученный результат относительной погрешности до одной значащей цифры:

δ1 δ2 δ3 δ4
3∙10-2 3∙10-3 3∙10-4 3∙10-5

7. Для каждой величины S(Ni) определим количество верных цифр.

Введем вспомогательный вектор a, который в нашем случае примет вид:

>> a=[2 2 2 2];

Вычислим количество верных цифр:

>> n=1-log10(a.*d)

n =

2.2389e+000 3.2236e+000 4.2220e+000 5.2219e+000

Округлим полученные значения до целых, меньших или равных n:

>> n=floor(n)

n =

2 3 4 5

8. Запишем численные значения найденных частичных сумм, округлив их до найденного ранее количества верных цифр.

Для этого нам необходимы более точные значения частичных сумм:

>> format long

>> S

S =

2.913461538461538 2.991035856573705 2.999100359856058 2.999910003599856

Окончательно округляем частичные суммы, оставляя только верные цифры:

S1 S2 S3 S4
2.9 2.99 2.999 2.9999

9. Построим график зависимости относительной погрешности в процентах от N.

>> plot(N,d*100)

 

Вывод:

В ходе данной лабораторной работы мною были изучены интерфейс программы Matlab, ее основные команды, графические средства. С помощью программы Matlab мною была рассчитана сумма ряда, относительная погрешность, а также построен график зависимости относительной погрешности от количества членов суммы.

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.