Реализация численных методов в среде Matlab



В приложении А приведены скриншоты исходного кода программ.

 

Реализация решения задачи 1 в Matlab

 

Ниже представлен код программы решения задачи.

clear; clc;

x=0:0.1:0.8;

fx=[1 0.995 0.98 0.955 0.921 0.878 0.825 0.765 0.697];

n=length(fx);

h=x(n)/(n-1);

if bitget( n,1)==1 %Проверка на нечетность числа точек

s=0;

for i=1:3:n-2

   s=s+(fx(1)+fx(n-1)+4*fx(i)+2*fx(i+1))*h/3;

end

sprintf('Интеграл функции в диапазоне от %f до %f равен %f',x(1),x(n),s)

else

sprintf('Число точек в функции четное.\nПрименить формулу Симпсона нельзя.')

end

R=0;

R=R+abs((4*(x(n)-x(1)))/81*(fx(9)-2*fx(5)+fx(1)));

sprintf('Погрешность равна %f',R)

На рисунке 4.1 представлен результат выполнения программы.

Рисунок 4.1 – Результат выполнения программы

 

Реализация решения задачи 2 в Matlab

 

Ниже представлен код программы решения задачи.

f = inline('(x^4)+2*(x^3)-x-1','x');

a = 0.0;

b = 1.0;

i=0;

while i<7

c = (a + b) / 2;

if ((f(c) * f(a)) < 0)

  b = c;

Else

  a = c;

End

i=i+1;

End

c

На рисунке 4.2 представлен результат выполнения программы.

Рисунок 4.2 – Результат выполнения программы

 

Проверка результатов решения задач в Mathcad

Задача 1

На рисунке 4.3 показана проверка решения для задачи 1 в Mathcad

Рисунок 4.3 – Результат решения в Mathcad

Сравнивая полученные ответы в Mathcad с ответами в Matlab, видно, что они идентичны, а значит можно говорить о применимости формулы Симпсона для вычисления определенного интеграла с заданными значениями.

 

Задача 2

 

На рисунке 4.4 показана проверка решения для задачи 2 в Mathcad

Рисунок 4.4 – Результат решения в Mathcad

Сравнивая полученные ответы в Mathcad с ответами в Matlab, видно, что они идентичны, а значит можно говорить о применимости метода дихотомии для уточнения корня уравнения.


Заключение

 

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

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

Изучена программа математического моделирования Matlab и рекомендованная литература. Проведен анализ результатов и оформлен отчет.


 

Список используемых источников

 

1. Лазарев Юрий Федорович, Начала программирования в среде Matlab: Учебное пособие. – К.: НТУУ “КПИ”, 2013. – 424 с.

2. Гловацкая Алевтина Петровна, Методы и алгоритмы вычислительной математики. Учебное пособие для вузов. - М.: Радио и связь, 1999. -408 с.

3. Сайт Exponenta. Раздел «Численное решение уравнений и систем уравнений». Статья «Решение нелинейных уравнений». [Электронный ресурс]  Режим доступа: http://old.exponenta.ru/educat/systemat/hanova/equation/nonlinear/nonlinear1.asp (дата обращения 2.06.18)

4. Сайт Cleverstudents. Статья «Метод Симпсона (парабол)». [Электронный ресурс]  Режим доступа: http://www.cleverstudents.ru/integral/method_of_parabolas.html (дата обращения 2.06.18)


 

Приложение А

(обязательное)

 Скриншоты исходного кода

 

Рисунок А.1 – Скриншот исходного кода задания 1

 

Рисунок А.2 – Скриншот исходного кода задания 2

 


Дата добавления: 2019-01-14; просмотров: 831; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!