|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Алгоритм пошуку визначеного інтеграла методом СімпсонаАлгоритм розв'язку зображений на рисунку 1 В блоці 1 алгоритм починає роботу. В блоці 2 вводяться функція та межі інтегрування. В блоці 3 обчислюється середина відрізку. В блоці 4 перевірка нев‘язки |f(b)-f(a)|<e. В блоці 5 за формулою Сімпсона обчислюємо суму. В блоці 6 повернення отриманого результату. В блоці 7 рекурсивний виклик функції Сімпсона з параметрами f,a,c. В блоці 8 рекурсивний виклик функції Сімпсона з параметрами f,c,b. В блоці 9 сумування двох останніх виразів. В блоці 10 повернення отриманого результату. В блоці 11 алгоритм завершає свою роботу.
4.2.Алгоритм пошуку визначеного інтеграла методом Буля Алгоритм розв'язку зображений на рисунку 2 В блоці 1 алгоритм починає роботу. В блоці 2 вводяться функція та межі інтегрування. В блоці 3 обчислюється середина відрізку. В блоці 4 перевірка нев‘язки |f(b)-f(a)|<e. В блоці 5 за формулою Буля обчислюємо суму. В блоці 6 повернення отриманого результату. В блоці 7 рекурсивний виклик функції Буля з параметрами f,a,c. В блоці 8 рекурсивний виклик функції Буля з параметрами f,c,b. В блоці 9 сумування двох останніх виразів. В блоці 10 повернення отриманого результату. В блоці 11 алгоритм завершає свою роботу.
5.Текст програми: function [ S ] = average(f,a,b) c=(a+b)/2; if abs(f(b)-f(a))<=1.e-3 S=(b-a)*f(b); return end [S1]=... average(f,a,c); [S2]=... average(f,c,b); S=S1+S2;
end
function [ S ] = trapeze(f,a,b) c=(a+b)/2; if abs(f(b)-f(a))<=1.e-3 S=(b-a)/2*(f(a)+f(b)); return end [S1]=... trapeze(f,a,c); [S2]=... trapeze(f,c,b); S=S1+S2;
end
function [ S ] = simpson(f,a,b) c=(a+b)/2; if abs(f(b)-f(a))<=1.e-3 S=(b-a)/6*(f(a)+4*f(c)+f(b)); return end [S1]=... simpson(f,a,c); [S2]=... simpson(f,c,b); S=S1+S2;
end
function [ S ] = boole(f,a,b) c=(a+b)/2; S=boolestep(f,a,b,c); end function [S]=boolestep(f,a,b,c) x=[(a+c)/2 (c+b)/2]; y=f(x); if abs(f(b)-f(a))<=1.e-3 S=(b-a)/90*(7*f(a)+32*y(1)+12*f(c)+32*y(2)+7*f(b)); return end [S1]=... boolestep(f,a,c,x(1)); [S2]=... boolestep(f,c,b,x(2)); S=S1+S2;
end
Скрипт програми: Calc.m Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |