Требуется найти все корни уравнения с точностью не ниже 10⁻¹².
Уравнение имеет вид
![\displaystyle \sqrt{|x+3|}-\cos{(0.387x)}=0 \displaystyle \sqrt{|x+3|}-\cos{(0.387x)}=0](https://tex.z-dn.net/?f=%5Cdisplaystyle+%5Csqrt%7B%7Cx%2B3%7C%7D-%5Ccos%7B%280.387x%29%7D%3D0)
Вот решение на PascalABCNET 3.3, сборка 1627 от 27.01.2018:
uses NumLibABC;
begin
var f:real->real:=x->Sqrt(Abs(x+3))-Cos(0.387*x);
var oL:=new RootsIsolation(f,-10,10,0.1);
var oZ:=new Zeroin(f,1e-12);
foreach var r in oL.Value do
oZ.Value(r[0],r[1]).Println
end.
Найдены корни
-3.1250285461067
-2.77171087522778
Интересует решение другим путем (назовем его "школьным" или "студенческим") на любом из языков Pascal, C/C++/C#, Basic.
Аноним:
Полутора суток прошло, а желающих нет. Конечно, это чуть сложнее, чем находить сумму цифр в числе или заменять в массиве каждый второй элемент нулем. Но уважаемые, к чему тогда все эти олимпиады, на которые вы ходите и каких-то там высот добиваетесь, чему вас в вузах учат, если простую задачу, каких в математике сотни, вы решить не беретесь? Вот это и есть настоящий уровень ваших знаний и умений...
Ответы
Ответ дал:
19
Ну раз никто не решился, а может не захотел возиться, покажу я вам динозавра!
У меня когда-то была программа на QBASIC. (Первая личный комп вначале был без жёсткого диска. Под DOS грузили с дискеты. И там этот мелкий интерпретатор (ок 190 кБайт) был неплохим подспорьем.)
Программа сохранилась. Она изначально только график рисовала. Потом я её дополнял. В том числе и решением уравнений вилкой. Было несколько версий Функцию я по-быстрому заменил на требуемую в задаче. Перелопачивать и выяснять полностью состояние программы не стал.
За требуемую точность не поручусь. Но 4-6 знаков после запятой выдам. Это был "Полуавтоматический" вариант с прорисовкой графика. Красной линией прочерчивалась прямая y=0. График можно было перерисовывать, задавая новые пределы изменения переменной х. Глядя на график можно было определить исходные отрезки для запуска метода вилки.
На скринах, естественно, проблемы с кириллицей. (Ненастроенный DosBox) Но текст программы загнал в pdf. Там можно прочесть все надписи.
На 3-м снимке видно, что, потребовав точность
, я получил ответ, отличающийся от ответа МАСТЕРА. Я так думаю, что у меня не все переменные, требуемые для расчёта объявлены с двойной точностью. (Изначально таких там вообще не было). Но 7 знаков после запятой в ответе совпадают. :) А может это ограничение демоверсии QBASIC интерпретатора.
![x_1 \approx -3,1203 \\ \\ x_2 \approx -2,77171 x_1 \approx -3,1203 \\ \\ x_2 \approx -2,77171](https://tex.z-dn.net/?f=x_1+%5Capprox+-3%2C1203+%5C%5C++%5C%5C+x_2+%5Capprox+-2%2C77171)
У меня когда-то была программа на QBASIC. (Первая личный комп вначале был без жёсткого диска. Под DOS грузили с дискеты. И там этот мелкий интерпретатор (ок 190 кБайт) был неплохим подспорьем.)
Программа сохранилась. Она изначально только график рисовала. Потом я её дополнял. В том числе и решением уравнений вилкой. Было несколько версий Функцию я по-быстрому заменил на требуемую в задаче. Перелопачивать и выяснять полностью состояние программы не стал.
За требуемую точность не поручусь. Но 4-6 знаков после запятой выдам. Это был "Полуавтоматический" вариант с прорисовкой графика. Красной линией прочерчивалась прямая y=0. График можно было перерисовывать, задавая новые пределы изменения переменной х. Глядя на график можно было определить исходные отрезки для запуска метода вилки.
На скринах, естественно, проблемы с кириллицей. (Ненастроенный DosBox) Но текст программы загнал в pdf. Там можно прочесть все надписи.
На 3-м снимке видно, что, потребовав точность
Приложения:
![](https://st.uroker.com/files/812/8122cf39b0caf6463a5942256acf5cdc.png)
![](https://st.uroker.com/files/8aa/8aa587909044f2ce5ebb8d8682167fff.png)
![](https://st.uroker.com/files/9ea/9eaaded6257ede596ecc077510b5e77e.png)
Вас заинтересует
4 месяца назад
4 месяца назад
11 месяцев назад
11 месяцев назад
2 года назад
7 лет назад