Предмет: Информатика, автор: zzzPhenomenalOnezzz

В чём ошибка (метод простых итераций) делает одну итерацию
import math

def fun(x):
return (2-0.4*x**2)**0.5+math.cos(x)

x1=float(input("Введите приближенное значение Х="))
e=float(input("Введите точность e="))
a=float(input("a="))
b=float(input("b="))
a=abs((fun(a+0.0001)-fun(a))/0.0001)
b=abs((fun(b+0.0001)-fun(b))/0.0001)
q=max(a,b)
q=(1-q)/q
iters=0
x0=x1
x1=fun(x0)
while abs(x1-x0) <= abs(q*e):
iters+=1
x0=x1
x1=fun(x0)
print('Точное значение корня:',2.0926)
print('Вычисленное значение корня:',x1)
print('Число итераций:',iters)


Giammy: В след. раз прикрепляйте фото или документ с кодом, на сайте сломана табуляция, код не разобрать.
Dehenerat: В смысле, мне считать одну итерацию за ошибку или найти ошибки в коде?
Dehenerat: Вот ошибочка вылетает: line 3, in fun
return (2-0.4*x**2)**0.5+math.cos(x)
ValueError: negative number cannot be raised to a fractional power
Dehenerat: "Негативные числа не могут быть возведены в дробную степень."
Dehenerat: Так, стоп.
Dehenerat: Нашел в чем была ошибка
Giammy: Ну вот)

Ответы

Автор ответа: Dehenerat
0

Где задается функция:

def fun(x):

   return ((2-0.4)*x**2**0.5)+math.cos(x)

Поставьте в скобочки.

Кстати, возможно, что вы хотели возвести (0.4*x) во вторую степень, а не 1.6:

return (2-(0.4*x)**2**0.5)+math.cos(x)

Вот так вот. Одни скобочки поворачивают ответ вспять. Если бы вы написали, что вы хотели сделать, я, может, бы "допер". А так..

Похожие вопросы
Предмет: Физика, автор: leratkachenko0252
1.Как читается закон Паскаля?
1.Давление, производимое на жидкость или газ, не зависит от расстояния.
2.Давление, производимое на жидкость или газ, не зависит от их объёма.
3.Давление, производимое на жидкость или газ, не зависит от величины внешней силы.
4.Давление, производимое на жидкость или газ, передаётся во все стороны одинаково.
5.Давление, производимое на жидкость или газ, передаётся в разные стороны по-разному.
2.В чём причина действия закона Паскаля?
1.Не сжимаемость молекул жидкости и газа
2.высокая подвижность молекул жидкости и газа
3.неподвижность молекул жидкости и газа
4.высокая плотность жидкостей и газов
3. Почему никому не удавалось надуть квадратный шар?
1.т.к. давление на воздух не зависит от расстояния.
2. т.к. давление на воздух не зависит от объёма.
3.т.к. давление на воздух передаётся во все стороны одинаково.
4.т.к. давление на воздух не зависит от величины внешней силы
4.В каких устройствах используется действие закона Паскаля?
1.Водопровод 2. газопровод 3. часы 4. насос 5. телевизор
5.Действует ли закон Паскаля в твёрдых тела?
1.Да, т.к. молекулы твёрдых тел сильно взаимодействуют
2.Нет, т.к. молекулы твёрдых тел малоподвижны.
6.Чем отличается гидростатическое давление от гидродинамического давления?
1.Гидростатическое давление - это давление покоящейся жидкости, а гидродинамическое давление - это давление движущейся жидкости.
2.Гидростатическое давление - это давление движущейся жидкости, а гидродинамическое давление - это давление покоящейся жидкости.
7.От чего зависит гидростатическое давление?
1.от высоты(глубины) столба жидкости
2.от площади опоры жидкости
3.от рода жидкости (её плотности)
4.от температуры жидкости
5.от цвета жидкости

8.Даны два сосуда "а" и "б", с одинаковой жидкостью, доверху заполненные. Выберите верные утверждения.
1.давление на дно в сосуде "б" больше, т.к. площадь дна там меньше 2.масса жидкостей в сосудах одинакова
3.давление на дно в сосуде "а" больше, т.к. площадь дна там больше 4.давление на дно в сосуде "а" и "б" одинаково, т.к. высота столба жидкости в сосудах одинакова 5.сила давления на дно одинакова, т.к. масса жидкостей одинакова
9.Как давление жидкости на дно зависит от глубины (высоты) столба жидкости?
1.давление жидкости на дно не зависит от высоты столба жидкости
2.чем больше высота (т.е. глубина), тем больше давление жидкости на дно
3.чем меньше высоты (т.е. глубина), тем больше давление жидкости на дно

10.Какое давление оказывает вода на глубине 30 м. Плотность воды 1000 кг/м3. Ответ записать в СИ. Величину "же" считать равной 10 Н/кг.
11.На какую глубину опустился человек в воду, если давление воды на него равно 100 кПа. Плотность воды 1000 кг/м3. Ответ записать в м.
12.В какую жидкость погрузился предмет, на глубину 1 м, если давление жидкости на него оказалось равной 136 кПа. Величину "же" считать равной 10 Н/кг.
Предмет: Алгебра, автор: arturzakharov