Характеристика организации




ОТЧЁТ ПО УЧЕБНОЙ ПРАКТИКЕ

 

Тип практики: учебная

Название предприятия: НУК ИУ МГТУ им. Н. Э. Баумана

 

Студент: ИвановИванИванович, группа ИУ8-21 (1 курс) ____________________ (подпись, дата)
Руководитель практики: профессор кафедры ИУ8 Сельвесюк Николай Иванович ____________________ (подпись, дата)

 

Оценка: __________________


 

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский государственный технический университет имени Н.Э. Баумана (национальный исследовательский университет)» (МГТУ им. Н.Э. Баумана)

 

 

Факультет «Информатика и системы управления» (ИУ)
Кафедра «Информационная безопасность» (ИУ8)

 

ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ НА ПРАКТИКУ

Тип практики: учебная

Название предприятия: НУК ИУ МГТУ им. Н. Э. Баумана

Сроки практики: с 03 июля 2017 г. по 16 июля 2017 г.

Специальность: 10.05.03 «Информационная безопасность автоматизированных систем»

 

 

Индивидуальный вариант задания

Задание 1 Задание 2.1 Задание 2.2 Задание 3 Задание 4.1 Задание 4.2
    8-5     8-5

 

Студент: ИвановИванИванович, группа ИУ8-21 (1 курс) ____________________ (подпись, дата)
Руководитель практики: профессор кафедры ИУ8 Сельвесюк Николай Иванович ____________________ (подпись, дата)

 


Оглавление

Введение 4

Основная часть 5

Характеристика организации 5

ЗАДАНИЕ №1 7

ЗАДАНИЕ №2 14

ЗАДАНИЕ №3 18

ЗАДАНИЕ №4 27

Заключение 34

Список использованных источников 36

 


 

Введение

За время прохождения практики студенту надлежит согласно программе практики:

Изучить:

- основные операции над векторами и матрицами в MATLAB;

- простейшие графические средства MATLAB;

- основные встроенные функции MATLAB;

- основы программирования MATLAB.

Получить практические навыки:

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

- численного решения нелинейных уравнений встроенными средствами MATLAB, в том числе задач из предметной области;

- решения систем линейных алгебраических уравнений с помощью матричных операторов MATLAB;

- решения систем линейных алгебраических уравнений методом итераций;

- численного решения задачи Коши для обыкновенного дифференциального уравнения 1-го порядка и для системы обыкновенных дифференциальных уравнений;

- численного решения задачи Коши из предметной области.


 

Основная часть

Характеристика организации

Научно учебный комплекс «Информатика и системы управления» (НУК ИУ) был образован в 1988 году. В его состав входят следующие структурные подразделения:

- факультет ИУ «Информатика и системы управления»;

- научно-исследовательский институт – НИИ ИСУ;

- вычислительный центр;

- специальные научно-учебные центры.

 

Факультет «Информатика и системы управления» является одним из самых востребованных в наши дни, так как имеет широкий спектр направлений в научной и практической деятельности. Это ведущий факультет по подготовке кадров в области разработки программного обеспечения, электронной и микросистемной техники для предприятий ракетно-космической отрасли, государственных служб и частных компаний. В его состав входят 11 кафедр, специализирующихся в разных отраслях.

 

Направление подготовки «Информационная безопасность автоматизированных систем», на которой я обучаюсь и прохожу практику, входит в состав кафедры ИУ8 (создана в 1997 году) и занимается подготовкой специалистов, осуществляющих комплексное обеспечение информационной безопасности автоматизированных систем.

 

Безопасность автоматизированных систем – направление науки и техники, охватывающее совокупность программно-аппаратных, криптографических, технических и организационно-правовых методов и средств обеспечения безопасности информации в автоматизированных системах при ее обработке, хранении и передаче с использованием современных информационных технологий.

 

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

 

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

ЗАДАНИЕ №1

“НАЧАЛО РАБОТЫС MATLAB”

ЦЕЛЬ РАБОТЫ

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

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

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

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

 

 

ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ

 

Задача 1.

Дан ряд:

 

Найти сумму ряда аналитически:

Вычислить значения частичных сумм ряда:

и найти величину погрешности при значениях N={102, 103, 104, 105}.

Определить количество верных цифр результатов.

ХОД РАБОТЫ

Перечень используемых команд с пояснениями и результат их выполнения:

 

Определяем символьные переменные n и N:

>>symsnN

 

Находим сумму ряда S аналитически с использованием средств MatLab:

>> S_inf = symsum(36/(n^2+5*n+4), n, 0, inf)

S_inf = 22

 

Рассчитываем значение частичных сумм S(N) в общем случае:

>> S = symsum(36/(n^2+5*n+4), n, 0, N)

S = 22 - (12*(3*N^2 + 18*N + 26))/((N + 2)*(N + 3)*(N + 4))

 

Формируем вектор N:

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

N = 100 1000 10000 100000

 

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

>> S = 22 - (12*(3*N.^2 + 18*N + 26))./((N + 2).*(N + 3).*(N + 4))

S = 21.650463471422924 21.964107653183781 21.996401079652120 21.999640010799652

 

Таблица 1. Значения частичных сумм S(Ni).

i Ni S(Ni)
    21.650463471422924
    21.964107653183781
    21.996401079652120
    21.999640010799652

 

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

>>format long

>> D = abs(S-22)

D = 0.349536528577076 0.035892346816219 0.003598920347880 0.000359989200348

 

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

>>format short e

D = 3.4954e-01 3.5892e-02 3.5989e-03 3.5999e-04

Таблица 2. Значения абсолютной погрешности.

1 2 3 4
3*10-1 4*10-2 4*10-3 4*10-4

 

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

>>d = D./22

d = 1.5888e-02 1.6315e-03 1.6359e-04 1.6363e-05

 

Таблица 3. Значения относительной погрешности.

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

 

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

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

>>a = [2, 2, 2, 2]

 

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

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

n = 2.497900116434239 3.486390829610921 4.485220450302768 5.485103213001176

 

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

>>n = floor(n)

n = 2 3 4 5

 

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

 

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

>>format long

>> S

S = 21.650463471422924 21.964107653183781 21.996401079652120 21.999640010799652

 

Таблица 4. Округленное значение частичных сумм.

S1 S2 S3 S4
  22.0 22.00 22.000

 

ОКОНЧАТЕЛЬНЫЕ РЕЗУЛЬТАТЫ

 

Сумма ряда:

 

Таблица 5. Результаты расчета погрешностей:

i Ni Частичная сумма, S(Ni) Абс. погреш. D Отн.погреш. d Кол-во верных цифр n Частичная сумма (округленное значение), S(Ni)
    21.650463471422924 3*10-1 2*10-2    
    21.964107653183781 4*10-2 2*10-3   22.0
    21.996401079652120 4*10-3 2*10-4   22.00
    21.999640010799652 4*10-4 2*10-5   22.000

 

ГРАФИК

 

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

>>semilogx(N,d*100)

 

Добавим координатную сетку:

>> grid on

 

Обозначим оси координат:

>>xlabel('N')

>>ylabel('d')

 

Назовем график:

>>title('График зависимости относительной погрешности в процентах от N')

 


 

ДОПОЛНИТЕЛЬНОЕ ЗАДАНИЕ

 

Вопрос 1.

Определить количество верных цифр для частичных сумм, используя понятие абсолютной погрешности (то есть определение количества верных цифр). Сравнить результаты.

Согласно определению, что n первых значащих цифр являются верными, если абсолютная погрешность этого числа не превосходит половины разряда выражаемого n-й значащей цифрой, считая слева направо.

 

Вопрос 2.

Провести анализ рабочей области. Какие характеристики переменных здесь приведены.

На рабочей области приведены имена и значения переменных. Все переменные в системе MatLab рассматриваются как матрицы, поэтому помимо прочих здесь приведены значения максимального и минимального элементов.

Пример: вектор N

Имя Значения Мин. Макс.
N [100 1000 10000 100000]    

 

Чтобы редактировать матрицу, требуется дважды кликнуть на поле value после чего откроется табличный режим, где над матрицей можно будет провести любые операции.

ВЫВОДЫ

 

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

 

· Полученные значения 21.650463471422924 21.964107653183781 21.996401079652120 21.999640010799652 частичных сумм очень близки к значению 22 суммы ряда, полученного аналитическим путем, причем чем больше N, тем более близки эти значения. Таким образом, при стремлении N к бесконечности значения частичных сумм ряда стремятся к значению суммы ряда.

· При стремлении N к бесконечности абсолютная и относительная погрешности стремятся к нулю.

· Количество верных цифр можно посчитать как при помощи абсолютной погрешности, так и при помощи относительной погрешности; результат будет одинаковый.

ЗАДАНИЕ №2

“РЕШЕНИЕ УРАВНЕНИЙ В MATLAB”

ЦЕЛЬ РАБОТЫ

1. Введение в программирование MATLAB.

2. Численное решение нелинейных уравнений в MATLAB.

3. Решение нелинейного уравнения из предметной области.

 

 

ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ

 

Задача 2.1.

Задача 2.2.

Задание 8. В гибридных интегральных схемах в качестве одновитковой индуктивности может применяться тонкая металлическая полоска, нанесенная на диэлектрическую подложку в виде круглой петли (см.рисунок).

Индуктивность такой петли в наногенри приближенно определяется по формуле:

 

 

где R − радиус средней линии петли, W − ширина металлической полоски,

t − ее толщина. Все размеры в формуле указаны в миллиметрах.

 

 

Найдите размер R, удовлетворяющий требуемому значению L = 45 нГн при заданных параметрах W = 1.5 мм и t = 0.03 мм.

ХОД РАБОТЫ

 

Задача 2.1

Файл func_1.m (Функция)

functionres=func_1(x) %Объявление функции.

res = x - 2 - x.^(1/4); %Вычисление выражения.

 

Файл task_1.m

x = 0:0.001:10; %Задаем для x интервал с определенным шагом.

y = func_1(x); %Присваиваем y результат функции f(x).

 

plot(x,y) %Рисуем график функции.

gridon %Рисуем сетку.

title('График 1') %Называем график.

xlabel('x') %Называем ось Ox.

ylabel('f(x)') %Называем ось Oy.

 

Результат:

 

 

Корень уравнения:

X = fzero('func_1(x)', [0 10]) %Вычисляем корень.

X = 3.3532

 

Задача 2.2

 

Файл func_2.m (Функция)

function res=func_2(R)

res=1.257*R.*(log((8*pi*R)/(1.5+0.03))-2)-45;

 

Файл task_2.m

x = 10:0.0001:12;

y = func_2(x);

 

plot(x,y)

grid on

title('График 2')

xlabel('x')

ylabel('f(x)')

 

R = fzero('func_2(x)', [11 12]);

 

Результат:

 

Результат решения задачи с указанием единиц размера:

R = 11.1510 мм


 

ВЫВОДЫ

 

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

 

Приложение:

func_1.m

task_1.m

func_2.m

task_2.m

 

Графики:

chart_1.fig

chart_2.fig


 

ЗАДАНИЕ №3

“РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ”

ЦЕЛЬ РАБОТЫ

1. Дальнейшее введение в программирование в MATLAB.

2. Решение систем линейных алгебраических уравнений с помощью матричных операторов MATLAB.

3. Решение систем линейных алгебраических уравнений методом итераций.

 

 

ПОСТАНОВКА ЗАДАЧИ

 

Задача 3.1.

Решить систему линейных алгебраических уравнений (СЛАУ), заданную матрицами:

 

 

матричными средствами MATLAB.

 

Дополнение:

· Предварительно убедиться, что система уравнений невырожденная.

· Выполнить проверку решения.

· Решить задачу, используя 4 различных способа.

Задача 3.2.

Решить исходную систему линейных алгебраических уравнений методом простых итераций (двумя способами).


 

ХОД РАБОТЫ

Задача 3.1

Матричные средства MATLAB

Решим систему уравнений различными методами.

 

1. Использование обратной матрицы (два способа)

СЛАУ в матричной форме записывается в виде AX=B, где X = .

Отсюда следует, что если матрица невырожденная (определитель отличен от нуля), то X=A-1B.

Получить обратную матрицу в MATLAB можно двумя способами, которые описаны в файлах программы: task1_1.m; task1_2.m.

 

2. Методом Гаусса (два способа)

Алгоритм метода Гаусса основан на приведении матрицы А к треугольному виду и последовательном вычислении неизвестных. Данный метод применим только для невырожденных матриц.

В MATLAB для решения системы уравнения методом исключения Гаусса существуют специальные операторы, которые описаны в файлах программы task1_3.m; task1_4.m.

 

Файлы: task1_1.m;task1_2.m;task1_3.m;task1_4.m.

%Задание системы уравнений.

A = [17 100 -9 0; 80 -7 0 -5; 0 21 128 -4; 0 0 19 256];

B = [0; -79; 139; -54];

 

%Проверяем является ли система невырожденной.

det(A)

 

%Способ №1

%Решение с использованием обратной матрицы inv(A):

X = inv(A)*B

 

%Проверка

format short

check = A*X

 

%Способ №2

%Решение с использованием обратной матрицы A^-1:

X = A^-1*B

% Проверка

format short

check = A*X

 

Способ №3

%Решение методом Гаусса (Правое деление):

X = A\B

 

%Проверка

format short

check = A*X

 

Способ №4

%Решение методом Гаусса (Левое деление):

%Необходимо преобразовать векторы-столбцы в векторы-строки

%Оператор (') – выполняет транспонирование матриц

X = ((B')/A')'

 

%Проверка

format short

check = A*X

 

Результат выполнения программы:

 

X = X1 = -0.9827
X2 = 0.2601
X3 = 1.0343
X4 = -0.2877

 


 

Задача 3.2

Метод простых итераций

Для решения системы уравнений AX=B необходимо привести ее к виду:

X=αX+β.

 

1. Первый способ

Проверяем условие сходимости итерационного процесса, т.е. является ли каждый диагональный элемент матрицы Aбольшим по модулю, чем сумма модулей остальных элементов строки, в которой он находится. При невыполнении условия меняем местами соответствующие строки матрицы A.

 

Приводим результирующие матрицы системы уравнений:

 

 

Реализация первого способа метода итераций приведена в файле программы task2_1.m.

 

Файл task2_1.m

formatshort

A = [17 100 -9 0; 80 -7 0 -5; 0 21 128 -4; 0 0 19 256];

B = [0; -79; 139; -54];

 

%Задание матрицы a и вектора b.

%zeros(x,y) создает массив нулей размера x * y.

a = zeros(4,4);

b = zeros(4,1);

 

%Переставляем строки:

A = A([2 1 3 4],:);

B = B([2 1 3 4],:);

%Подготовка уравнения к методу простых итераций:

for i = 1:4

b(i) = B(i)/A(i,i);

a(i,i)=0;

for j=1:4

ifi~=j

a(i,j)=-A(i,j)/A(i,i);

end

end

end

 

%Проверкаусловияnorm(a) < 1.

mn = norm(a)

me = norm(a,inf)

 

%Вывод матрицы и вектора:

a

b

 

%Решение уравнения вызовом функции funcIter.m.

format long e

X=funcIter(a, b, 10^-5)

 

%Проверка

disp('Погрешность')

disp(norm(A*X-B))

 

Файл funcIter.m (функция)

%Функция реализующая метод простых итераций.

functionres=funcIter(A, B, eps)

 

%eps - точность численного решения.

delta=eps*(1-norm(A))/norm(A);

 

%Задание начального приближения:

X0=B;

X1=A*X0+B;

while norm(X1-X0)>delta

X0=X1;

X1=A*X0+B;

end;

res=X1;


 

Результат выполнения программы:

Матрица X для первого способа метода итераций:

X21 = X1 = -0.982718251434419
X2 = 0.260150868995158
X3 = 1.034266065504752
X4 = -0.287701946260424

 

Погрешность вычислений:

e21 = 8.042994551106477e-04

2. Второй способ

Для выполнения условия сходимости невырожденную систему уравнений AX=B можно заменить эквивалентной системой путем умножения исходного уравнения на матрицу D = А-1– ∆, где ∆ – матрица с малыми по модулю элементами. Последовательно получим:

(A-1 – ∆)AX=DB

A-1AX – ∆AX=DB

A-1AX=∆AX+DB

 

Обозначимα=∆A, β=DB. Тогда X=αX+β.

Все элементы матрицы ∆ нужно выбрать достаточно малыми по модулю для того, чтобы обеспечить выполнение условия ‖α‖<1.

В качестве нулевого приближения можно выбрать X(0)=β.

 

Реализация второго способа метода итераций приведена в файле программы task2_2.m.

 

Файл task2_2.m

formatshort

A = [17 100 -9 0; 80 -7 0 -5; 0 21 128 -4; 0 0 19 256];

B = [0; -79; 139; -54];

 

%Подготовка СЛАУ для решения методом

%простых итераций (способ 2).

 

%Матрица с малыми по модулю элементами:

d = 10^(-5)*[1 1 1 1; 1 1 1 1; 1 1 1 1; 1 1 1 1;];

 

%Задание матрицы alpha и вектора beta:

alpha = d*A

beta = (inv(A)-d)*B

 

%Проверка условия norm(a) < 1:

n_alpha = norm(alpha)

 

%Решениеуравнения:

format long

X = funcIter(alpha, beta, 10^-5)

 

%Проверка

disp('Погрешность')

disp(norm(A*X-B))

Файл funcIter.m (функция)

%Функция реализующая метод простых итераций.

functionres=funcIter(A, B, eps)

 

%eps - точность численного решения.

delta=eps*(1-norm(A))/norm(A);

 

%Задание начального приближения:

X0=B;

X1=A*X0+B;

while norm(X1-X0)>delta

X0=X1;

X1=A*X0+B;

end;

res=X1;

 

 

Результат выполнения программы:

 

Матрица X для второго способа метода итераций:

X22 = X1 = -0.982718788391091
X2 = 0.260145775601355
X3 = 1.034266308698548
X4 = -0.287699836739345

 

Погрешность вычислений:

e22 =1.201759479226771e-04

ВЫВОДЫ

В ходе работы были получены навыки решения систем линейных алгебраических уравнений с помощью матричных операторов MATLAB и методом итераций. Были решены две задачи.Проверка решения показала, что результат является правильным.

 

Выводы:

· Решить СЛАУ в системе MATLAB можно различными способами.

· Все 6 способов привели к одинаковым результатам.

 

 

Приложение:

task1_1.m

task1_2.m

task1_3.m

task1_4.m

task2_1.m

task2_2.m

funcIter.m

ЗАДАНИЕ №4

ЦЕЛЬ РАБОТЫ

1. Численное решение задачи Коши для обыкновенного дифференциального уравнения 1-го порядка.

2. Численное решение задачи Коши для системы обыкновенных дифференциальных уравнений.

3. Численное решение задачи Коши из предметной области.

4. Введение в программирование в MATLAB. Продолжение.

 

 

ПОСТАНОВКА ЗАДАЧИ

Задача 4.1.

Построить график и вывести в виде таблицы решение задачи Коши на интервале [0; 1] методом Рунге-Кутта 4-го порядка.

 

 

 

Задача 4.2.

 

Параметр / Вариант 8 - 5 Параметр / Вариант 8 - 5
R0, Ом   L, Гн 1,2
RН, Ом   C, Ф 100 * 10-6

ХОД РАБОТЫ

Задача 4.1

Решение дифференциального уравнения методом Рунге-Кутта и построение графика решения.

 

Файл task_1.m

[X Y] = ode45(@func_1, [0 1], [0.4]);

 

%Точное решение задачи Коши

h = X(2); %Получаем шаг функции ode45.

t = length(find(X)); %Вычисляем кол-во элементов массива X.

Z = zeros(t,1);

x = 0:h:1;

Z(1) = 0.4; %Присваиваем значение 1-му эл. массива.

 

for i = 1:t;

k0 = h*func_1(x(i), Z(i));

k1 = h*func_1(x(i) + h/2, Z(i) + k0/2);

k2 = h*func_1(x(i) + h/2, Z(i) + k1/2);

k3 = h*func_1(x(i) + h, Z(i) + k2);

Z(i+1) = Z(i)+(k0 + 2*k1 + 2*k2 + k3)/6;

end

 

plot (X,Y); gridon;

holdon; gtext('График численного решения задачи Коши y(x)')

 

[X Y Z]%Выводим полученные значения.

 

Файл func_1.m (Функция)

functiondydx = func_1(x, y)

dydx = zeros(1,1);

dydx(1) = exp(x)*(1+x*y(1));


 

Результат:

График:

 

Значения:

t Метод Рунге-Кутта Точное решение
  0.4000 0.4000
0.0201 0.4204 0.4204
0.0402 0.4414 0.4414
0.0603 0.4630 0.4630
0.0804 0.4853 0.4853
0.1054 0.5140 0.5082
0.1304 0.5438 0.5320
0.1554 0.5750 0.5565

 


 

Задача 4.2

Файл task_21.m

int = 0:0.001:0.1;%Период времени от 0 до 0.1 с шагом 0.001

Uv = func_21(int);

plot(int, Uv), grid on

 

%Преобразуем векторы-строки в векторы-столбцы для вывода значений.

x = int';

y = Uv';

 

[xy]%Вывод полученных расчетов в два столбца

 

Файл func_21.m (Функция)

functionf=func_21(t)

 

% Исходные данные и параметры

f1 = 50;

Um = 12;

w = 2*pi*f1;

 

f = abs(Um*cos(w*t));

 

Файл task_22.m

interval = [0 0.3];%Период времени от 0 до 0.3

Y0=[0 0]; %Задаем начальные значение u(0) и i(0).

 

[T,Y]=ode45(@func_22,interval,Y0);

 

plot(T,Y), grid on

 

[T Y]

 

Файл func_22.m (Функция)

function f=func_22(t, y)

 

% Исходные данные и параметры

R0 = 90;

Rh = 2000;

L = 1.2;

C = 100*10^-6;

f1 = 50;

Um = 12;

w = 2*pi*f1;

%Формируем два столбца значений u(t) и i(t):

f = [(C^-1)*(y(2)-(y(1)/Rh));

(L^-1)*(abs(Um*cos(w*t))-y(2)*R0-y(1));];

 

 

Результат:

График Uв(t):

Значения:

t Uв(t)
  12.0000
0.0010 11.4127
0.0020 9.7082
0.0030 7.0534
0.0040 3.7082
0.0050 0.0000
0.0060 3.7082
0.0070 7.0534
0.0080 9.7082
0.0090 11.4127
0.0100 12.0000
0.0110 11.4127

 

Период колебанийUв(t) составляетT = 0.02сек.

График U(t) и I(t):

Значения:

t U(t) I(t)
     
0.000010047545726 0.000005046302025 0.000100437428425
0.000070332820082 0.000246861106430 0.000701414471708
0.000120570548712 0.000724437091995 0.001199958535090
0.000622947835014 0.019018263896477 0.006043694100507
0.001624043737919 0.123348505413829 0.014560546051942
0.003681646855369 0.542016104615798 0.024449071330853
0.004738154069915 0.800118491904864 0.024479469461428
0.006851168499008 1.286090457005483 0.024355125540463
0.007962344224946 1.569437826089608 0.028437113424589
0.011582295718374 2.893284881479493 0.045841901745706
0.014091071485864 4.026919659426765 0.045128776451731
0.017842210832259 5.306023673775048 0.032649657727024
0.019717780505456 5.895415798842793 0.036235815567506
0.022780265530563 6.973573078743240 0.038218917893481
0.023967180882472 7.361398112808010 0.033667052951160
0.026341011586291 7.879542789589228 0.018608808871885
0.027806419261457 8.066826217932645 0.015832596648996
0.031597167593381 8.586617361633602 0.020052897426241
0.033922508250139 8.911455126431429 0.014587419858790
0.037189493875725 8.900558867768686 -0.002505268890893
0.038822986688518 8.791604299666453 -0.001179013130736
0.042203414582896 8.734535532593549 0.005331959439545
0.043950349664481 8.731692781147734 0.001858795135729
0.047261332586319 8.359405255698100 -0.011640513107565
0.048698059654469 8.148010179129624 -0.008905740048231
0.051933441660312 7.907635909656510 0.001188297635865
0.053732096598005 7.861949711454852 0.000349338098923
0.057329406473391 7.466429446516386 -0.010695916226705

 

Приложение:

func_1.m

func_21.m

func_22.m

task_1.m

task_21.m

task_22.m

 

Графики:

chart_1.fig

chart_21.fig

chart_22.fig


 

Заключение

MATLAB («MatrixLaboratory») — это высокоуровневый язык, интерактивная среда для программирования численных расчетов и визуализации результатов. С помощью MATLAB можно анализировать данные, разрабатывать алгоритмы, создавать модели и приложения.

 

Более миллиона инженеров и ученых по всем миру используют MATLAB в качестве языка технических вычислений. MATLAB по сравнению с традиционными языками программирования (C/C++, Java, Pascal) позволяет на порядок сократить время решения типовых задач и значительно упрощает разработку новых алгоритмов, потому что нет необходимости таких низкоуровневых организационных операций как объявление переменных, определение типов и выделение памяти. Во многих случаях переход на векторные и матричные операции избавляет от необходимости использования циклов for. В результате одна строка MATLAB кода часто может заменить несколько строк C/C++ кода.

 

MATLAB обладает свойствами традиционных языков программирования, включая управление потоками данных, обработку ошибок и объектно-ориентированное программирование (ООП). Можно использовать основные типы данных, сложные структуры данных или определять пользовательские типы. Пользователь может получать результаты немедленно, выполняя команды интерактивно по одной за раз. Такой подход позволяет быстро исследовать различные варианты для получения лучшего решения. Объединив эти интерактивные команды в скрипт или функцию можно автоматизировать их выполнение.

· Высокоуровневый язык программирования ориентированный на матричные вычисления и разработку алгоритмов

· Интерактивная среда для разработки кода, управления файлами и данными

· Функции линейной алгебры, статистики, анализ Фурье, решение дифференциальных уравнений и др.

· Богатые средства визуализации, 2-D и 3-D графика.

· Встроенные средства разработки пользовательского интерфейса для создания законченных приложений на MATLAB

· Средства интеграции с C/C++, наследование кода

 

В предложенных лабораторных работах мы ознакомились с основными возможностями данной среды программирования:

1. Работа с системой компьютерной математики MATLAB и с простейшими графическими средствами, операции над векторами и матрицами в MATLAB, вычислению суммы числового ряда и анализ погрешностей полученных результатов.

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

3. Решение систем линейных алгебраических уравнений с помощью матричных операторов MATLAB, решение систем линейных алгебраических уравнений методом итераций.

4. Численное решение задачи Коши для обыкновенного дифференциального уравнения 1-го порядка и для системы обыкновенных дифференциальных уравнений.

 

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


 



Поделиться:




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

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-08 Нарушение авторских прав и Нарушение персональных данных


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