Определите координату точки,которая ближе расположена к началу координат
Имеется код
from math import *
print("Введите исходные данные")
print("x0 = ", end='')
x0 = float(input())
print("xs = ", end='')
xs = float(input())
print("x2 = ", end='')
x2 = float(input())
print("Вы ввели:")
print("x0 = %.1f xs = %.1f x2 = %.31f" % (x0, xs, x2))
x = x0
y = 0
while x <= x2 + xs / 2:
y = 2*sin((3/4) * x)
else:
y = ("error")
print("x = ", x, "y = ", y)
x += xs
Задача: Определить координаты точки (x, f(x), которая ближе всего расположена к началу координат, т.е. к точке (0, 0).
Проблема: У меня не вычисляются значения функции 2*sin((3/4)*x), но пишет error, в случае несоблюдения заданных условий. +Я не понимаю как определить координаты этой точки. Помогите пожалуйста :)
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
x = x0
y = 2 * sin(0.75 * x)
d2 = x**2 + y**2
xmin = x
ymin = y
while x <= x2 + xs / 2:
y = 2 * sin(0.75 * x)
if (x**2 + y**2) < d2:
d2 = x**2 + y**2
xmin = x
ymin = y
x += xs
print("x = ", xmin, "y = ", ymin)