Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Решение дифференциального уравнения

Автор:   •  Сентябрь 11, 2019  •  Курсовая работа  •  883 Слов (4 Страниц)  •  342 Просмотры

Страница 1 из 4

Федеральное государственное автономное
образовательное учреждение высшего образования
«СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
Политехнический институт
Кафедра «Электроэнергетика и электротехника»

КУРСОВАЯ РАБОТА

Решение дифференциального уравнения

тема проекта (работы)

в программе MatLab.

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

В. В. Шевченко

подпись, дата

инициалы, фамилия

Студент

ФЭ18-05Б,              

В.А. Ахпашев

номер группы, зачетной книжки

подпись, дата

инициалы, фамилия

Красноярск 2019

Содержание

1.Задание………………………………………………………………………...

3

2.Решение…..……………...……………………..……………………………...

3

3.Программа, процедуры и их описание….…………...………………….......

3

4.Схема в «Simulink» и алгоритм работы программы………………………

6

5.Результат …………………………..…………………………………….…...

8


  1. Задание.
  • Построить модель заданного дифференциального уравнения

«   » в SimuLink;[pic 1]

  • Выбрать начальное значение времени t0 и начальное значение функции y0, для которых существует решение уравнения;
  • Найти приращение d для начального значения функции y0 так, чтобы можно было получить 20 различных решений уравнения с начальными данными: y0i=y0+i*d, y0`, i=0,…,19;
  • Составить массив данных в виде таблицы, где каждая строка состоит из 20-ти первых значений численного решения;
  • Отобразить эти данные в графическом окне Matlab;
  • Изменить свойства отображенных чисел так, чтобы выделилась буква U;

  1. Решение.

Решение основано на последовательном переборе программой заданного уравнения и определение 20-ти первых решений с их последующим переносом на координатную сетку команды «axes», присвоение командой «set» цвета нужным диапазонам чисел (работа выполнялась на версии программы R2018b).

  1. Программа, процедуры и их описание.

Решение представлено в виде файла «M-Function», представляющего запись основного кода и вспомогательного – решения дифференциального уравнения.

function [z] = funU(t,y)

z = [y(2);1/t-y(2)*sin(t*y(1))];

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


x1 = 0.1;

x2 = 0.5;

d = 0.02;

 

for i=0:19

    x1 = x1+d*i;

    [T,Y] = ode45(@funU, [1 2], [x1;x2]);

    array(i+1,:) =roundn(Y(1:20),-3);

end

g=1;

[n, m] = size(array);

    axes('XLim', [0 n+1], 'YLim', [0 m+1]);

    for i=1:n

    for j=1:m

           

        UP(i,j)=text(1+g*(j-1),20-g*(i-1),num2str(array(i,j)));

    end

    end

    set(UP(3:18,3:4),'Color', 'r');

    set(UP(3:18,16:17),'Color', 'r');

    set(UP(19:20,4:16),'Color', 'r');


Далее детальнее будут рассмотрены блоки основного кода.

  1.  Блок задания матрицы:

x1 = 0.1;

x2 = 0.5;

...

Скачать:   txt (11.2 Kb)   pdf (343.6 Kb)   docx (971.3 Kb)  
Продолжить читать еще 3 страниц(ы) »
Доступно только на Essays.club