![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 30.01.2011
Сообщений: 231
|
![]()
Здравствуйте, подскажите как узнать вершины и середину отрезка заданного таким интегралом: интеграл 0 до 1 (3x^2-4x)dx.
Для расчета с помощью метода Симпсона.
Злостный анимешнег =^.^=
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 30.01.2011
Сообщений: 231
|
![]()
А случайно формула (b-a)/n это не нахождение середины отрезка? И следовательно 0 это начало, а 1 это конец? И если всё верно, то что тогда n?
Злостный анимешнег =^.^=
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 30.01.2011
Сообщений: 231
|
![]()
Может быть n это шаг, от a до b?
Ну народ, подскажите хоть что нибудь (по теме) = )
Злостный анимешнег =^.^=
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 18.10.2009
Сообщений: 185
|
![]()
Смотри в http://ru.wikipedia.org/wiki/Метод_Симпсона
Интеграл по формуле симпсона s=((b-a)/6)*(f(a)+4*f((a+b)/2)+f(b)) где a это начало отрезка b это конец отрезка (a+b)/2 это середина отрезка соответсвенно у тебя a=0 b=1 f(0)=3*0^2-4*0=0 f((0+1)/2) = f(0.5)=3*0.5^2-4*0.5=0,75-2=-1,25 f(1)=3*1^2-4*1=3-4=-1 тогда интеграл s=((1-0)/6)*(0+4*(-1.25)+(-1))=(1/6)*(-6)=-1 иногда для расчёта интеграла на некотором участке. Весь участок разбивают на n участков и на каждом из них вычисляют значение выражения в начале участка, в середине и в конце. И затем на каждом из них уже считают интеграл по формуле Симпсона. (см. Составная формула (формула Котеса) в той же ссылке на википедия что я дал) Но у тебя нет необходимоти разбивать на участки. т.к. у тебя исходное выражение это и есть полином 2й сетпени.
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает." Последний раз редактировалось val_nnm; 27.11.2011 в 17:34. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 30.01.2011
Сообщений: 231
|
![]()
val_nnm, спасибо огромное! Я просто с математикой не очень дружу)
Злостный анимешнег =^.^=
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 30.01.2011
Сообщений: 231
|
![]()
Вот так правильно ли?
Код:
Злостный анимешнег =^.^=
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 18.10.2009
Сообщений: 185
|
![]()
В общем вроде правильно. (не совсем красиво но работать должно)
Только 1) вместо Код:
Код:
Код:
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает." Последний раз редактировалось val_nnm; 27.11.2011 в 19:33. |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 30.01.2011
Сообщений: 231
|
![]()
Вот этот отрывок означает, что мы поочерёдно присваиваем переменной x, значения которые записали после функции и на выходе получаем возможность получать результат вычисления обращаясь к переменным таким способом F(A), F(B), F(C) значения полученные в результате выполнения функции? А если бы у нас было допустим 3 переменных, тогда эта функция(или это называется делегатом?) выглядела вот так:
Код:
Злостный анимешнег =^.^=
Последний раз редактировалось Демик; 27.11.2011 в 19:59. |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 18.10.2009
Сообщений: 185
|
![]()
Честно говоря не совем понял ваши обьяснения в предыдущем посте.
Попробую обьяснить с нуля (обьясняю своими словами, если нужна точные определения - смотрите MSDN) Вот написал немного проще для понимния. Код:
Функция Simpson (func F, double A, double B) собственно требует чтобы ей в качестве первого параметра (F) былла переданная такая ссылка на функцию. И дальше она использует эту ссылку F (A) т.е. это значит вызови функцию ссылка на которую храниться в переменной F передай ей в качестве первого параметра A и получи значение которая она вернёт. Функция "public static double F1 (double x)" думаю проблем вызывать недолжна. Это собсвенно и есть функция вычисляющая выражение по заданию. Дальше в коде "... Simpson (F1, a, b) ..." собственно вызывает функцию Simpson передаёт её в качесве первого параметра ссылку на функцию F1. Ну и соответсвенно значеиня a и b. Надеюсь этот код понятно обьяснил. Дальше в моём прошлом посте. Я чтобы не описывать делегат func использовал встроенный универсальный делегат. Там их на самом деле несколько. (я немнго изменю их код чтобы было проще). Есть например такой "public delegate TResult Func<out TResult>()" (он нам ненужен) есть "public delegate TResult Func<T1,T2, TResult>(T1 arg1,T2 arg2)" (он нам тоже не нужен) и ещё несколько в том же духе. Нас интересует "public delegate TResult Func<T, TResult>(T arg)" Здесь в скобочках <> описанны его параметры. Как только мы используем гденибуть в коде чтото вроде Func<double, double> то какбы автоматом создастся чтото вроде "public delegate double Func(double arg)". Ну а работу с таим делегатом я уже описал выше. Дальше лямбда-выражение x=> (3*x*x-4*x) Мы бы здесь могли также передать ссылку на функцию F1 которую я описал выше. Но нам лень делать отдельную функцию, назначать ей имя и.т.п. Тогда мы используем лямбда-выражение которое какбы автоматом создает функцию (на самом деле эти выражения могут также использовать и локальные переменные в отличии от обычной функции, но небудем вдоваться в подробности) которая принемает 1 аргумент (x) и возвращает результат от выполнения действий с этим x т.е. возвращает результат вычисления (3*x*x-4*x).
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает." |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 30.01.2011
Сообщений: 231
|
![]()
val_nnm, спасибо большое вы очень понятно всё объяснили.
Злостный анимешнег =^.^=
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Метод Симпсона. Паскаль | radion1000 | Помощь студентам | 0 | 11.04.2011 17:19 |
Метод Симпсона С++ | sabaton | Помощь студентам | 2 | 03.04.2011 01:08 |
Turbo Pascal[програмыки : текстовая\метод симпсона\метод половинного деления | qsccsq | Помощь студентам | 7 | 24.12.2010 05:23 |
Метод Симпсона(си) | towelie | Помощь студентам | 0 | 23.12.2010 19:36 |
метод симпсона | 13xXx13 | Помощь студентам | 1 | 16.12.2010 09:57 |