![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Второй день бьюсь, никак не могу понять, что я делаю не так.
Есть формулы и программа на Бейсике. Есть в описании контрольный пример. Но, беда втом, что результаты выдаваемые программами на Бейсике и С++, не совпадают с контрольным примером. Вот условие: Я знаю, ошибка в представлении данных, но не погу понять, где именно.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
![]() |
![]() |
![]() |
#2 |
Заблокирован
Регистрация: 24.11.2014
Сообщений: 721
|
![]()
Так совпадают же. Просто во втором случае идёт округление до 6 символов после запятой, а в первом до 7.
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Совпадают на консоли у разных программ. Не совпадение с контрольными примерами (подчёркнуто красным).
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Так может везде двойную точность для констант поставить? Все таки 7 значащих
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Да при чём тут точность? Тьфу на неё. 0,6087558 много больше чем 0,4204928.
В кубической интерполяции, округление результата, на сам расчёт не влияет. И ещё не понятно. В программах выводится один результат - Y, а в примерах даны результаты двух расчётов Y(0,9) и Y(1,1) с какого марса они упали? Формулы на этот счёт вооще молчат. Догадался. Y(0,9) это X = 0.9 но результат всё равно не совпадает с примером.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 26.01.2015 в 15:11. |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Называли бы переменные нормально, то и проблем бы не было
Например 1-ое присвоение игрека заменить на: y:=(1-p)*c+p*d;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
С переменными у меня всё ОК
![]() Код:
Исходная прога, на бейсике:
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Нет, не порядок. Почему у меня y:=(1-p)*c+p*d; дает 0,6087558. Дальше формулы не смотрел
смотрим что такое c и d, и что такое a и b как в вашей формуле. И что такое y0 и y1. В исходной проге чепуха
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 26.01.2015 в 16:11. |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Может я Р не правильно вычисляю т.к. ошибка во всех формулах? И почему у вас c+p*d если даже в формуле Y0 и Y1, а вводится A , B?
P = (X - X0) / H = (1 - 1.1) / 0.2 = 0.5 Y = (1 - P) * Y0 + P * Y1 = (1 - 0.5) * 0.36699114 + 0.5 * 0.4739944 = 0,42049277. Посчитал вручную на калькуляторе
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 26.01.2015 в 16:32. |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
В примере y(0)=0.5686566
С какого перепугу вместо него a подставлять? а=y(-2); b=y(-1); c=y(0) и т.д. Я про код в #1
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 26.01.2015 в 16:49. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Интерполяция полиномом Лагранжа(DELPHI) | VENOMIK | Помощь студентам | 3 | 01.03.2013 14:38 |
На C++ Разработать программу “Кусочно-линейная и квадратичная интерполяция. Глобальная интерполяция”. | KennyMc | Помощь студентам | 0 | 26.02.2012 12:08 |
Интерполяция табличных данных полиномом Лагранжа | VENOMIK | Помощь студентам | 3 | 06.11.2011 14:04 |
Интерполяция лагранжа | Styks | Общие вопросы C/C++ | 4 | 14.12.2009 18:47 |
интерполяция методом Лагранжа (синус) | сон | Общие вопросы C/C++ | 6 | 09.11.2009 11:02 |