Решение алгебраических и дифференциальных уравнений в пакете MatLab

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 15.12.2015
Размер файла 695,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

1

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение

высшего профессионального образования

«Дальневосточный федеральный университет»

ИНЖЕНЕРНАЯ ШКОЛА

Кафедра электроэнергетики и электротехники

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

по дисциплине «Прикладное программирование»

«Решение алгебраических и дифференциальных уравнений в пакете MatLab»

Студент гр. Б3205а

Скоробогатов Александр Сергеевич

Руководитель к.т.н., доцент

Н.М. Марченко

г. Владивосток

2015

Задание №1

а) Задан один входной параметр. Вычислить функцию f1, результат вывести в численной (таблица) и графических (plot и fplot) формах.

Описание буквенных переменных:

x - переменная, изменяемая в диапазоне [0:0.02:2] , где 0-начальное значение, 0.02-шаг изменения переменной, 2-конечное значение;

h - шаг изменения x;

y -искомая функция, зависящая от x.

Текст основной программы:

fprintf('-------------------------\n');

fprintf('| x | y |\n');

fprintf('----------------------------\n');

x=[0:0.02:2];

y=fun1(x);

v=[x;y];

fprintf('| %6.2f | %11.3f |\n',v)

plot(x,y,'b-')

hold on

grid on

fplot('fun1', [0 2],'r-')

hold on

Текст файл-функции:

function f1=fun1(x)

f1=exp(x)-x-2+(1+x).^x;

end

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

Рисунок 1 - Таблица значений x и y

Рисунок 2 - Конец таблицы значений x и y

Рисунок 3 - Графики функции y

б) Задано несколько входных параметров. Вычислить функцию f2.

Описание буквенных переменных:

x, y, z - задаваемые переменные;

f2 - искомая функция, зависящая от x, y, z.

Тексте основной программы:

x=5;

y=6;

z=7;

f2=fun2(x,y,z)

Текст файл-функции:

function f2=fun2(x,y,z)

f2=sqrt((3*x+2)^2-24*y)/(3*sqrt(y)-2/sqrt(z));

end

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

Рисунок 4 - Вычисление значения f2

в) Задано несколько выходных параметров. Вычислить функции f3, f4 и f5.

Описание буквенных переменных:

x - задаваемый переменная;

y1, y2, y3 - искомые функции, зависящие от x.

Текст основной программы:

x=5;

[y1,y2,y3]=fun3(x)

Текст файл-функции:

function [f3,f4,f5]=fun3(x)

f3=sin(2*x);

f4=(sqrt(x^3));

f5=x^(-1);

end

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

Рис. 5 - Вычисление y1, y2, y3

Задание №2

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

Метод Эйлера

Рис.6 - Блок-схема алгоритма

Описание буквенных переменных:

t - переменная;

tn - начальное значение t;

tk - конечное значение t;

h - шаг изменения t;

x - функция, зависящая от t;

y - функция, зависящая от t;

f - производная y'(t) ;

a, b, c - задаваемые величины.

Текст основной программы:

tn=0;

tk=3;

h=0.01;

y=0;

b=3;

fprintf('-------------------------------\n');

fprintf('| t | x | y | \n');

fprintf('-------------------------------\n');

for t=tn:h:tk

x=-b*t+1;

f=ailer(x);

y=y+h*f;

fprintf('| %4.2f | %4.2f | %4.2f |\n',t,x,y);

plot(t,x,'g.')

grid on

hold on

plot (t,y,'r.')

end

Текст файл-функции:

function f=ailer(x)

a=2;

c=4;

f=(-a/c)*x;

end

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

а) б)

Таблица значений t, x(t), y(t).

Рис.7(а) - начало таблицы; Рис.7(б) - окончание таблицы

Рис. 8 - Графики функций x(t), y(t)

Метод Рунге-Кутта 4 порядка

Рис.9 - Блок-схема алгоритма

Описание буквенных переменных:

t - переменная;

tk - конечное значение t;

h - шаг изменения t;

x - искомая функция, зависящая от t;

y - искомая функция, зависящая от t;

f - производная y'(t);

k - коэффициенты Рунге-Кутта;

s - сумма коэффициентов;

a, b, c- задаваемые величины.

Текст основной программы:

t=0;

tk=3;

h=0.01;

y=0;

y1=0;

b=3;

fprintf('-------------------------------\n');

fprintf('| t | x | y | \n');

fprintf('-------------------------------\n');

x=-b*t+1;

fprintf('| %4.2f | %4.2f | %4.2f |\n',t,x,y);

while(t<tk-h)

f=ailer(x);

k=f*h;

s=k;

y=y+k/2;

t=t+h/2;

x=-b*t+1;

for j=1:2

f=ailer(x);

k=f*h;

s=s+2*k;

y=y1+k/2;

end

t=t+h/2;

y=y+k/2;

x=-b*t+1;

f=ailer(x);

s=s+h*f;

y=y1+(1/6*s);

fprintf('| %4.2f | %4.2f | %4.2f |\n',t,x,y);

plot(t,x,'g.')

grid on

hold on

plot (t,y,'r.')

y1=y;

end

Текст файл-функции:

function f=ailer(x)

a=2;

c=4;

f=(-a/c)*x;

end

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

а) б)

Таблица значений t, x(t), y(t). Рис.10( а) - начало; Рис.10(б) - окончание

Рис.11 - Графики функций x(t), y(t)

б) Решить дифференциальное уравнение с использованием солвера ode45 программного пакета MatLab.

Текст основной программы:

[t,y]=ode45('forsolver',[0:0.01:3],0);

[t,y]

figure

plot(t,y)

Текст файл-функции:

function f=forsolver(t,x)

a=2;

b=3;

c=4;

x=-b*t+1;

f=(-a/c)*x;

end функция дифференциальный числовой графический

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

а) б)

Таблица значений t, y(t) . Рис.12(а) - начало; Рис.12(б) - окончание

Рис. 13 - График функции y(t)

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа [226,6 K], добавлен 05.04.2013

  • Обзор методов решения в Excel. Рекурентные формулы метода Эйлера. Метод Рунге-Кутта четвертого порядка для решения уравнения первого порядка. Метод Эйлера с шагом h/2. Решение дифференциальных уравнений с помощью Mathcad. Модифицированный метод Эйлера.

    курсовая работа [580,1 K], добавлен 18.01.2011

  • Решение дифференциального уравнения с помощью численных методов (Рунге-Кутта и Эйлера модифицированного). Особенности построения графиков в программе Microsoft Visual Basic 10 с использованием ответа задачи, который имеет незначительную погрешность.

    курсовая работа [1017,3 K], добавлен 27.05.2013

  • Изучение численных методов решения нелинейных уравнений. Построение годографа АФЧХ, графиков АЧХ и ФЧХ с указанием частот. Практическое изучение численных методов интегрирования дифференциальных уравнений высокого порядка, метод Рунге-Кутта 5-го порядка.

    курсовая работа [398,3 K], добавлен 16.06.2009

  • Суть метода Рунге-Кутта и его свойства. Решение дифференциальных уравнений первого порядка. Вычислительный блок Given/Odesolve. Встроенные функции rkfixed, Rkadapt, Bulstoer. Решения линейных алгебраических уравнений в среде MathCad и Microsoft Excel.

    курсовая работа [1,1 M], добавлен 02.06.2014

  • Решение системы обыкновенных дифференциальных уравнений в программе Matlab. Применение метода Рунге–Кутты. Априорный выбор шага интегрирования. Построение трехмерного графика движения точки в декартовой системе координат и создание видеофайла формата AVI.

    контрольная работа [602,8 K], добавлен 04.05.2015

  • Математическая модель, описание теории, применяемой к задаче. Обсчет точек методом Рунге-Кутта, модифицированным методом Эйлера, схема и листинг программы. Решение дифференциальных уравнений и построение графиков, решение уравнений в среде Turbo Pascal.

    курсовая работа [76,7 K], добавлен 18.11.2009

  • Реализация решения обыкновенных дифференциальных уравнений 1-го и 2-го порядка методом Рунге-Кутты. Построение на ЭВМ системы отображения результатов в табличной форме и в виде графика. Архитектура и требования к разрабатываемым программным средствам.

    курсовая работа [2,7 M], добавлен 05.11.2011

  • Разработка программы на языке Turbo Pascal 7.0 для преобразования кинетической схемы протекания химических реакций при изотермических условиях в систему дифференциальных уравнений. Ее решение в численном виде методом Рунге-Кутта четвертого порядка.

    курсовая работа [929,7 K], добавлен 06.01.2013

  • Численные методы решения задачи Коши для обыкновенных дифференциальных уравнений: Эйлера, Рунге-Кутта, Адамса и Рунге. Техники приближенного решения данных уравнений: метод конечных разностей, разностной прогонки, коллокаций; анализ результатов.

    курсовая работа [532,9 K], добавлен 14.01.2014

  • Принцип и значение метода Эйлера для расчета дифференциальных уравнений. Анализ его геометрического смысла. Улучшение метода за счет аппроксимации производной. Разработка блок-схем и программы на языке Turbo Pascal для проверки методов интегрирования.

    курсовая работа [385,7 K], добавлен 15.06.2013

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

    курсовая работа [163,5 K], добавлен 27.05.2013

  • Схема и основные параметры элементов цепи. Вывод системы дифференциальных уравнений. Реализация алгоритма на языке программирования высокого уровня Pascal. Решение дифференциальных уравнений в пакете MathCAD. Решение интерполяции в пакете Excel.

    курсовая работа [375,4 K], добавлен 06.01.2011

  • Составление программы на алгоритмическом языке Turbo Pascal. Разработка блок-схемы алгоритма её решения. Составление исходной Pascal-программы и реализация вычислений по составленной программе. Применение методов Рунге-Кутта и Рунге-Кутта-Мерсона.

    курсовая работа [385,0 K], добавлен 17.09.2009

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

    курсовая работа [1,6 M], добавлен 11.07.2012

  • Решение уравнения методом половинного деления. Программа в Matlab для уравнения (x-2)cos(x)=1. Решение нелинейных уравнений методом Ньютона. Интерполяция заданной функции. Решение системы линейных алгебраических и обыкновенных дифференциальных уравнений.

    курсовая работа [1,4 M], добавлен 15.08.2012

  • Итерационные методы решения нелинейных уравнений, системы линейных алгебраических уравнений (СЛАУ). Решение нелинейных уравнений методом интерполирования. Программная реализация итерационных методов решения СЛАУ. Практическое применение метода Эйлера.

    курсовая работа [1,6 M], добавлен 20.01.2010

  • Анализ предметной области объектно-ориентированного программирования. Языки Delphi, Object Pascal - объектно-ориентированная среда программирования. Основные алгоритмические решения. Решение дифференциального уравнения методом Рунге-Кутта в среде Excel.

    курсовая работа [1,5 M], добавлен 02.04.2011

  • Обыкновенное дифференциальное уравнение первого порядка. Задача Коши, суть метода Рунге-Кутта. Выбор среды разработки. Программная реализация метода Рунге-Кутта 4-го порядка. Определение порядка точности метода. Применение языка программирования C++.

    курсовая работа [163,4 K], добавлен 16.05.2016

  • Математическое описание численных методов решения уравнения, построение графика функции. Cтруктурная схема алгоритма с использованием метода дихотомии. Использование численных методов решения дифференциальных уравнений, составление листинга программы.

    курсовая работа [984,2 K], добавлен 19.12.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.