@Denys1203

Правильно идет вывод y=ln(x)?

Вычислить значения функции на отрезке например x0, xk с шагом h
y=ln(x) вводные данные: h= 0.1, a= 1, b=1.5

Что я делаю не так? Все?
import math
test = True

while test <= True:
    x0 = float(input('a = '))
    xk = float(input('h = '))
    h = float(input('b = '))
    if x0 <= 0:
        print('x0<=0.')
        valid = False
    else:
        x = math.log(x0, xk)
        print('log', x)
        x += h
        break

x = math.log(x0, xk)
ZeroDivisionError: float division by zero
  • Вопрос задан
  • 826 просмотров
Решения вопроса 1
@res2001
Developer, ex-admin
В подобных заданиях у тебя будет несколько ответов.
Тебе надо найти несколько значений логарифма.
Начальное значение x = a, конечное значение x = b, промежуточные значения x вычисляются как Xn = Xn-1 + h, т.е. просто прибавлением шага к предыдущему значению. Вычисляешь для каждого x значение логарифма. Выводишь все значения на экран.

В общем случае функция логарифма принимает 1 аргумент (x). В случае с питоном есть и второй аргумент - это основание логарифма. У тебя основание это всегда число e, т.к. логарифм натуральный (ln).
В других ЯПах, обычно имена функций логарифмов по разному основанию различаются, например log - натуральный логарифм, log10 - десятичный, log2 - двоичный. Это из стандартной библиотеки Си.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы