Страницы: 1 2 3 След.
RSS
Шаблон для нахождения вещественного корня кубического уравнения, решение уравнения вида: AX^3+BX^2+CX+D=0
 
Здравствуйте уважаемые участники форума. Прошу Вас оказать помощь или предложить готовое решение. Нужен шаблон для нахождения вещественного корня (комплексные не интересуют) в уравнении вида: AX^3+BX^2+CX+D=0 коэффициенты A, B, C, D известные величины. В результате должно получится: после подстановки значений A, B, C, D в выбранные для них ячейки в соответствующей ячейке должно появиться значение "Х", ну если возможно, можно еще и графиком украсить решение данного вопроса, для наглядного понимания распределения функции. Например зависимость частоты от температуры у кварцевого преобразователя температуры имеет вид: t=A0+A1*ΔF+A2*(ΔF^2)+A3*(ΔF^3), коэффициенты датчика следующие: А0=-369,105290542234; А1=1,18802441203752; А2=-0,00106081756060917; А3=5,22937693483128E-07. Постановка задачи: Получить значение ΔF при подстановке значения t, то есть вычислить какая теоретически должна быть частота на выходе преобразователя при каком то значении температуры. Прошу Вас помогите с составлением "программы".
 
Файл-пример?
 
ту же закономерность мы наблюдали у нас в лаборатории с квантовыми синхрофазотронами, на больших амплитудах у нас sin(fi) бывало до 7 доходил!!!
коллега, а Вы поправку Глоуди-Брадкова учитывали или нет?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Был бы у меня пример я бы наверное сюда не обратился, а то по ходу не пойму как реализовать обратную функцию. В примере от "Ігор Гончаренко" вычисляется значение f(x) то есть чему равен "У" при подстановке значения "х". В моем же случае все наоборот. У меня "у" и коэффициенты известны, нужно вычислить чему будет равен "х" при подставляемых значениях у, а0, а1, а2, а3.
 
а подбор параметра не поможет?
 
С графиком.
Изменено: Маугли - 27.09.2017 11:53:25 (так лучше)
 
ruslik-haker,
в предыдущем примере можно было подставить ЛЮБЫЕ значения коэффициентов А0, А1, А2 и А3 и получить для них Х, при котором У = 0
теперь можно дополнительно в первой колонке написать желаемое У и получить Х при котором
А0 + А1х+ А2х^2 + A3x^3 = Y (не обязательно 0)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Вот два последних примера самое то, особенно последний, СПАСИБО ОГРОМНОЕ. Но для перспективы, хотелось бы разобраться в алгоритме решения, а не просто тупо скопировать готовый результат, конечноже ОГРОМНОЕ СПАСИБО ВСЕМ ОТКЛИКНУВШИМСЯ,  а то ведь к этой теме придется вернуться еще не раз, в перспективе опыты еще с датчиками давления, влажности, может еще чего нибудь позже потребуется..., а то жму в клетку в которой отображается результат (значение "Х") а там вместо формулы число написано, сначала подумал что константа, а потом поменял коэффициенты, потом значение "у", увидел что цифра справа от клетки с "Х=" тоже меняется. Раскройте пожалуйста секрет, объясните пожалуйста начинающему, откуда там берется результат, если в той ячейке при втыкании в неё курсора нет выражения типа = а+б-в*г....?
 
см. сообщение #5 "подбор параметра" есть такое инструмент у Excel
только стандартный подбор параметра не пересчитывается каждый раз, когда изменились данные, от которых он фактически зависит и его нужно пнуть ногой чтобы пересчитался, а у  меня в файле это происходит автоматически - любое изменение коэфф. полинома или значения функции, которое следует подобрать тут же включает подбор соотв. Х
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
в предыдущем примере можно было подставить ЛЮБЫЕ значения коэффициентов А0, А1, А2 и А3 и получить для них Х, при котором У = 0
а в строке f(x) почему то не нуль.( в предпоследнем примере). Откройте пожалуйста тайну алгоритма хочу на его основе (методом переноса и перестановок) создать другой, для подбора коэффициентов А0 и А1. Понимаю, что это называется плагиат, но все же, если не жалко, поделитесь секретом. Случается иногда паспортные данные предоставленные продавцом датчиков чуть требуется подкорректировать для уменьшения погрешности показаний прибора, так например изменение значения свободного члена А0 может сдвигать характеристику влево, вправо применяется если погрешность во всем диапазоне измерений +/- одинакова и например с одним знаком, а коэфф А1 влияет на наклон характеристики. К примеру прибор врет на 1,5 градуса во всем диапазоне, подбираем (пока еще методом тыка, для этого и нужна эта программа) коэфф А0 и сдвигаем показания в право или влево, и добиваемся нужного результата. Вторым (самостоятельным) этапом станет "автоматизация" выделения требуемого значения А0, для подстановки под "требуемые" значения температуры и вычисленное значение частоты для этой t по предыдущему примеру. А третьим этапом будет более сложная задача, составление формулы для выведения требуемого значения козфф А1 (множитель при Х^1) влияющий на наклон характеристики, необходимо при неравномерно распределенной погрешности, когда сдвиг характеристики приводит к уменьшению погрешности на одних контрольных точках и к ее увеличению на других точках.
 
Кнопка цитирования не для ответа [МОДЕРАТОР]

Ігор Гончаренко, вот и хотелось бы разобраться как это происходит, ну не в смысле как реализована автоматизация, а в смысле алгоритма решения где дано: коэффициенты, найти: значение Х припри котором выполняется равенство.
 
Примерно так..
Скрытый текст
 
Доброе время суток.
Цитата
ruslik-haker написал:
а в смысле алгоритма решения где дано: коэффициенты, найти: значение Х припри котором выполняется равенство.
А в чём проблема? Тут хорошо алгоритм решения изложен, как прямого, так и приближениями.
Версия для одного корня, для случая ваших коэффициентов.
Успехов.
P. S. Как это в случае выключенного прибора получается такой свободный член? Он же даже в Фаренгейтах - сомнителен.
 
Цитата
Андрей VG написал:
P. S. Как это в случае выключенного прибора получается такой свободный член? Он же даже в Фаренгейтах - сомнителен.
Включен прибор или выключен значения не имеет, после проверки, посчитали, на всех точках отняли от образцового поверяемый, получили разницу превышающую допуск..... далее математика и прибор можно выключать, пока не будет вычислено требуемое значение А0. Может я некорректно выразился, фаренгейты и пр. ед. физ. величины тут не причем, я имел ввиду слогаемое не умножаемое на "Х", т.е. тут: А0+А1Х+А2X^2+A3X^3=0 например я подразумевал что А0 сдвигает, а А1 изменяет наклон. Не знаю почему, но говоря о "свободном члене" я имел ввиду (из этого выр-я) А0, а для того чтобы увидеть его паспортное значение прибор не обязательно должен быть включен., ..я в школе плохо наверное учился, да и память уже не соотв. "системным требованиям", ааа, вспомнил, в 7-м классе 2 по контрольной получил... За примеры спасибо, буду вникать. Кажись начинаю догадываться, что это что то из VBA или макросов, в общем придется с нуля осваивать. СПАСИБО всем откликнувшимся!
Изменено: ruslik-haker - 27.09.2017 20:52:14
 
Цитата
ruslik-haker написал:
я имел ввиду (из этого выр-я) А0,
Я его и имел в виду. Величина слагаемого не зависит от Х - поэтому и свободный :)
Цитата
ruslik-haker написал:
что это что то из VBA или макросов
И коллег, да, я делал сугубо на формулах.
 
Цитата
Андрей VG написал:
А в чём проблема?  Тут  хорошо алгоритм решения изложен
С примером с использованием формул похожих на Кордано Виета ознакомился, ход мысли понятен и доходчив с первого раза, а вот... .Как внедрить"ТУТ" в excel? Красиво блин получаются макросы поглядел примеры изложенные выше, но как уже писал самому хочица научица писать в икселе правильно. Теоритически примерно представляю, но на 90% где то ошибаюсь. для начала синтаксис конечно нужно было бы выучить, но... .Методом тыка скопировал программу из ссылки предложенной Вами http://algolist.manual.ru/maths/findroot/cubic.php по пути: разработчик/ макросы/создать/ вставляю скопированную программу из ссылки указанной выше, и что с этим дальше делать не пойму. Все равно спасибо за помощь, буду разбираться, (с нуля все таки с VBA придется сталкиваться). Буду очень признателен если кто то откликнится и упростит этот процесс самообучения указав куда нужно жать и что делать потом, что бы минимизировать количество прочитанной теории. стал разбираться и заметил, что в примере из ссылки выше коэффициент при X^3 всегда равен "1" и соответственно его величина далее в теории не учтена, хотя в идеале должно былобы быть не X^3 a Ax^3, а уже коэффициент b должен быть при X^2... Там написано: Кубическое уравнение записывается в виде: x3+a*x2+b*x+c=0. хотя мне кажется должно быть ax^3+bx^2+cx+d=0. если только теоретически выражение не упрощено делением всех слагаемых на "а".
Изменено: ruslik-haker - 27.09.2017 22:08:28
 
однако...
а где же проблема? в чем она???
имеем 4 коэфф. кубуческого полинома А0 + А1х +А2х^2 + A3x^3 = 0 (1)
имеем механизм получения значения Х, при котором выраженеи (1) стоновится равным любому наперед заданному значению.
что не так??? что еще нужно?
Изменено: Ігор Гончаренко - 27.09.2017 22:15:34
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал: что еще нужно?
Вот недогадливый! Готовое решение нужно :)
 
Витя, а в #7 что тогда?
полный автомат, который находит Х при заданных А... и У
в #3 было аналогичное решение только для У = 0, а в #7 для любого У...
кто-то из нас двоих: или я, или автор темы - не понмает того, что нужно автору темы.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ни чего больше не нужно, буду книжку читать про вижл бейсик и макросы, спасибо большое всем откликнувшимся. Просто хотел спросить что делать с программой из примера: http://algolist.manual.ru/maths/findroot/cubic.php, и попутно подчеркнул, что там не четыре коэффициента а три. а четвертый не изменяемый а всегда равен 1, и далее в вычислениях нигде не фигурирует "буква умножаемая на X^3" а если там вместо 1 будет например 500 то на дальнейшую роспись теории это не влияет, да? и всего то.
 
Цитата
ruslik-haker написал:
а если там вместо 1 будет например 500
Просто разделить всё уравнение на коэффициент при X^3, это же очевидно и в файле у меня сделано  :D  Можно посмотреть. я не запрещаю.
 
Андрей VG,во, я на правильном пути, сомневался только, но предположил верно см. последнюю строчку моего поста в #16
 
А3 = 1 - это частный случай, или выполненео тождественное преобразование выражения, при котором А3=1
но оба эти выражения описывают ОДНУ И ТУ ЖЕ кривую.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал: в #7 что тогда? в #3 было аналогичное решение только для У = 0, а в #7 для любого У...
это я видел и отметил кстати благодарностью, первая строчка #8, просто ну не знаю как сформулировать мысль, ладно по научному не получается, попробую по колхозному: За готовые примеры огромное спасибо!!! Очень хотел понять где именно в готовом примере спрятан фокус и как реализован подсчет "Х", ну типа вижу клетку рядом с клеткой "Х=" в которой изменяется результат при изменении А..., У. Понимая что результат там прописывается какой то функцией или подпрограммой, ну типа отображать "результат" в ячейке (Х;У). А вот где спрятана эта программа.., ну хочецца глазами ее увидеть, не стороннюю программу с другого сайта, а именно секрет из автоматизированных примеров, чтоб увидеть как взаимодействуют между собой операнды, по какой команде результат прописывается именно там где он отображен, ну и т.д. Ну не обессудьте безграмотного недотепу, я не претендую на готовое 100% решение, я хочу в теории разобраться, ведь результат в клетке сам по себе не появляется, значит где то есть "алгоритм". Не ну если это коммерческая тайна, то никаких вопросов, буду сочинять из того что есть, просто уверен что например при копировании чего нибудь, обязательно утратятся связи с подпрограммой, вот для чего хотел узнать, где спрятан секрет, чтоб видеть и исправлять при необходимости ссылки на ячейки с операндами, и связи между ними.
Изменено: ruslik-haker - 27.09.2017 23:03:27
 
Цитата
ruslik-haker написал:
я хочу в теории разобраться, ведь результат в клетке сам по себе не появляется
Увы, тогда надо начинать с исправления
Цитата
ruslik-haker написал:
ааа, вспомнил, в 7-м классе 2 по контрольной получил...
:)
 
Цитата
За готовые примеры огромное спасибо
это не готовый пример, это готовый инструмент, который решает Вашу задачу!
в математике известно много методов приближенных вычислений корней нелинейных алгебрагических уравнений. КАКОЙ из этих методов используется инструментом Excel "подбор параметра" мне лично не известно и более того мне это по-барабану - главное, что он работает.
но Вам, вижу нет! пишите Биллу Гейтсу, он перекинет Ваше письмо на программистов, писавших "подбор параметра", они Вам расскажут и будете спать спокойнее вооруженный знаниями об используемом методе.
во вложении нарисован график куб.параболы у = x^3 + 2x^2 - 64x + 3
из рисунка видно что парабола 3 раза пересекает ось Х: около -9, около 0 и около 8.
во вложении корень в районе 0 найден 2-мя разными способами: методом половинного деления и методом хорд или по другому секущих.
суть методов:
определяется точки Х1 и Х2, так, что бы f(x1) и f(x2) имели разные знаки.
затем в каждом методе своим способом между Х1 и Х2 вычисляется след.Х, в методе деления пополам определяется кого из Х1 и Х2 должен заменить Х.
вычисления повторяются, Х все плотнее приближается к искомому значению
как видите, методом деления пополам элементарно определяется каждое следующее значение Х, но потребовалось 20 итераций чтобы приблизиться к решению
а методом хорд уже на 5-й итерации был найден корень уравнения.

для примера, полагаю, достаточно)))
удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
....используется инструментом Excel "подбор параметра" мне лично не известно....
Так вот оказывается в чем дело, а я то не допер сразу, что во всех примерах с "автоматическим" вычислением используется "подбор параметров"?! В одном посте видел эту фразу но почему то подумал, что это относилось только к одному примеру, описываемому в том посте, а оно оказывается все проще пареной репы, что и требовалось узнать. Не я реально думал что в остальных автопримерах написана огромная бейсик книга, а теперь все встало на свои места, СПАСИБО ОГРОМНОЕ за намек! С формулами пример тоже не хуже, там хоть видно откуда "цифры" растут. Остался один вопрос, в последнем примере обратил внимание на распределение ветвей кубической параболы и сразу осенило: бывает что прибор в середине диапазона (-20.....+20) укладывается в допуск, а на краях (-50...-20 ; +20...+50) чем ближе к краю тем больше погрешность и с противоположными знаками на противоположных концах, как раз как на графике. Вопрос: Какой из коэффициентов влияет на "длину прямолинейного участка характеристики" ?
Изменено: ruslik-haker - 28.09.2017 07:24:23
 
у кубической параболы нет прямолинейных участков (зависимость между Х и У не линейная а кубическая)
у параболы есть цетр симметрии, так вот чем дальше Х от центра, тем более прямолинейным выглядит график.
чем больше коэфф. у Х в кубе - тем более резкий перегиб будет в цетре и тем стремительнее и прямолинейнее будут увеличиваться У-и при увеличении Х
и в конце концов
1. Вы можете почитать что-то о куб. параболах в инете
2. Вы можете поэкспериментировать с графиком нарисованным в Полином3(1):
поставьте все коэфф. 1
последовательно каждый их них сделайте 100, 50, -50, -100 (а остальные в это время = 1) и смотрите как это влияет на форму графика.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Понял, спасибо, с коэффициентами уже экспериментировал, разницу заметил не сразу, т.к. визуально график почти не менялся, а приглядевшись заметил изменение шага координатной сетки.Спасибо за ответы.
 
Андрей VG,  Здравствуйте. В примере X^3.xlsx   #13 в столбце Н в формуле возможно недочет, может я не прав, поправьте   меня: во второй строке в начале формулы в первом сравнении  сравнивается  значение величины R^2 со значением в ячейке В5, в  последующих строках  Значение В5 заменяется приращенным на +1 к  предыдущему имени ячейки (В6,  В7...и т.д.).Получается сравнение с пустыми ячейками. Возможно такое произошло при копировании и вставке формулы из одной ячейки в остальные и комп сделал автоприращение адреса, может просто там "доллара" не хватает, для обозначения неизменяемой связи с одной ячейкой, или в столбце В ниже пятой строки не хватает данных. Научите как правильно должно быть. С более "навороченными примерами с автоматизацией" пробовал разбираться, но видимо пока еще чуть недорос, спотыкаюсь на копировании, теряются связи при копировании в другой документ и при переносе на другой комп. Подробно не вникал, но заметил в некоторых (не во всех!) ячейках ссылку на место хранения файла откуда копировал, типа : C:\Users\1\Desktop\ПОДБОР КОЭФФИЦИЭНТОВ ДАТЧИКОВ\Полином3.xlsm, хотя делал как учили в "школе", выделял от левого верхнего угла, до правого нижнего все что было "видимым" + еще 3 строки ниже и 3 столбца правее, жал правую кн, выбирал "копировать"..... "вставить".p.s. копировать ссылку и вставить ссылку точно не выбирал и не нажимал.
Изменено: ruslik-haker - 30.09.2017 22:07:29
Страницы: 1 2 3 След.
Читают тему
Наверх