Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Технологии > Общие вопросы по программированию, компьютерным наукам
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 21.05.2019, 18:24   #21
OmegaBerkut
Спокойный псих
Профессионал
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Адрес: Украина
Сообщений: 1,183
Репутация: 310
По умолчанию

Почему я не могу никому весы юзать ? Пишет мол, оставьте отзыв ещё кому нибудь.
__________________
Подпись ? Не, не слышал ...
OmegaBerkut вне форума   Ответить с цитированием
Старый 21.05.2019, 18:39   #22
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 18,641
Репутация: 3570

icq: 512-765
skype: alexp.frl
По умолчанию

оставьте отзыв ещё кому-нибудь.
потом оставьте отзыв ещё кому-нибудь.
и так раз 20.
Alex11223 на форуме   Ответить с цитированием
Старый 21.05.2019, 19:36   #23
OmegaBerkut
Спокойный псих
Профессионал
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Адрес: Украина
Сообщений: 1,183
Репутация: 310
По умолчанию

Alex11223, так в том то и дело, что мне не даёт никому поставить отзыв. Вот на ваше сообщение даёт =)
__________________
Подпись ? Не, не слышал ...

Последний раз редактировалось OmegaBerkut; 21.05.2019 в 19:41.
OmegaBerkut вне форума   Ответить с цитированием
Старый 21.05.2019, 19:44   #24
Cuprum5
Участник клуба
 
Регистрация: 09.05.2017
Сообщений: 501
Репутация: 104
По умолчанию

Что-то у меня интеграл никак не может посчитать. Z1 и Z2 скачут и никак eps не зайдет вниз за порог. В чем проблема?
Программа, то автор нашел там метод трапеций, где на C# - сообщение автора №5 на 1 странице.
t = 1.
Интервал от 0 до 2.
Там же вроде функция x^2, что я не так делаю?

Последний раз редактировалось Cuprum5; 21.05.2019 в 19:46. Причина: Добавил фразу.
Cuprum5 вне форума   Ответить с цитированием
Старый 21.05.2019, 20:04   #25
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,329
Репутация: 2611
По умолчанию

Вы о чем? Какие Z1 и Z2 должны заходить за порог в трапециях?
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 21.05.2019, 20:13   #26
Cuprum5
Участник клуба
 
Регистрация: 09.05.2017
Сообщений: 501
Репутация: 104
По умолчанию

Ну в той программе, на которую автор дал ссылку в сообщении №5. Скачайте с GitHub программу и посмотрите консольную версию. Там так достигается точность в цикле do{}while() Т.е. считается Z1 - интеграл потом в цикле считается второй интеграл: Z2 и т.д. пока разность между этими интегралами будет больше заданной точности eps.
Проблема в том, что эти интегралы скачут слишком сильно и он никогда не достигает заданной точности и программа зависает.
Cuprum5 вне форума   Ответить с цитированием
Старый 21.05.2019, 21:59   #27
Вадим Мошев

Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: programmersforum
Сообщений: 8,243
Репутация: 3972
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Какие Z1 и Z2 должны заходить за порог в трапециях?
Возможно, имеется в виду вычисление интеграла с заданной точностью. То есть (Z{n} - Z{2n}) / 3 < epsilon.
Когда условие начнём выполняться, цикл остановить.
Вадим Мошев на форуме   Ответить с цитированием
Старый 22.05.2019, 08:59   #28
Cuprum5
Участник клуба
 
Регистрация: 09.05.2017
Сообщений: 501
Репутация: 104
По умолчанию

Да, только там не делится на 3.
Так вот я никак понять не могу, почему тот проект не работает - вроде все так красиво написано, а вот эти 2 интеграла мотает туда-сюда очень сильно, то -10 посчитает то +1 и т.д. Почему так происходит?
Вот сама функция интеграла на шарпе:
Код:
public override double Integral()
{
    var h = Step; // Шаг интегрирования
    // Первая и последнее значение входят в 
    // сумму один раз => надо поделить на 2

    var s = (F.F(A) + F.F(B))/2.0; // Площадь (интеграл)

    for(var j = 1; j < N; j++)
        s += F.F(A + j*h); // Остальные по одному
    return h*s; // Умножаем на шаг чтобы получить интеграл
}
Что здесь не так?

Последний раз редактировалось Cuprum5; 22.05.2019 в 10:13. Причина: Добавил фразу.
Cuprum5 вне форума   Ответить с цитированием
Старый 22.05.2019, 13:05   #29
Вадим Мошев

Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: programmersforum
Сообщений: 8,243
Репутация: 3972
По умолчанию

Цитата:
Сообщение от Cuprum5 Посмотреть сообщение
Да, только там не делится на 3.
Я говорил про оценку методов интегрирования. В случае с трапециями там делится на три, но от числителя берётся модуль, это я упустил.
Цитата:
4. Вычисление интегралов с заданной точностью и оценка методов интегрирования
Оценка погрешности усечения R в формулах численного интегрирования оказывается трудоемкой и малоэффективной из-за трудностей оценки производных высокого порядка подынтегральных функций. Поэтому в практических расчетах для достижения требуемой точности вычислений или допустимой погрешности E используют правило Рунге.

Согласно этому правилу вычисление заданного интеграла проводят для разных интервалов разбиения отрезка [A,B]. Так, если начальное число интервалов разбиения есть n и соответствующее ему приближенное значение интеграла – In, то для числа интервалов 2n получим значение интеграла I2n. Число интервалов можно увеличивать в 2, 3 и т. д. раз по сравнению с базовым значением n. При двукратном увеличении числа отрезков погрешность D приближенного значения интеграла для методов прямоугольников и трапеций оценивается как

Δ = | In – I2n | / 3.

Если Δ > E, то количество интервалов разбиения [A,B] опять увеличивают вдвое, т. е. значение I вычисляют для 4n. Такое удвоение повторяют до тех пор, пока не выполнится условие Δ < E. Необходимо помнить, что общая погрешность вычислений, равная сумме погрешностей усечения и округления, сначала с ростом интервалов разбиения уменьшается за счет уменьшения ошибки усечения до некоторого «критического» значения nкр, а затем увеличивается из-за увеличения ошибок округления.
http://moodle32.lms.tpu.ru/mod/book/...ex.php?id=1729
Вадим Мошев на форуме   Ответить с цитированием
Старый 04.06.2019, 08:18   #30
NetSpace
Профессионал
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Адрес: п.Путеец, Печорский р-н
Сообщений: 1,406
Репутация: 536
По умолчанию

попробуйте в математическом пакете Maple решить - он решает неопределённые интегралы.
__________________
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализовать класс для матриц. В этом классе реализовать интерфейс, содержащий методы для выполнения Wexley Помощь студентам 0 07.12.2016 13:13
интеграл SVing Паскаль 2 25.01.2012 23:30
Интеграл Psychoo Паскаль 2 07.11.2011 07:42
Интеграл bkm03262 Паскаль 1 09.05.2009 14:50
Интеграл StudeHt Паскаль 0 21.04.2009 14:37


15:03.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru