Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Напишите код на питоне

Татьяна Тимофеева Ученик (98), на голосовании 2 дня назад
Составить таблицу значений функции y=log_3(a/(x+b))-c на отрезке [-3, 4] с шагом h.
Голосование за лучший ответ
Станислав Мажукин Знаток (361) 1 месяц назад
 import math 

def log3(a, x, b, c, h):
"""
Вычисляет значения функции y=log_3(a/(x+b))-c на отрезке [-3, 4] с шагом h.

Args:
a: Коэффициент a в формуле.
b: Коэффициент b в формуле.
c: Коэффициент c в формуле.
h: Шаг изменения x.

Returns:
Список значений функции y.
"""

y_values = []
x = -3 # Начало отрезка
while x <= 4: # Конец отрезка
y = math.log(a / (x + b), 3) - c # Вычисление значения функции
y_values.append(y)
x += h # Изменение x на шаг h
return y_values

# Пример использования
a = 2
b = 1
c = 0.5
h = 0.5
y_values = log3(a, -3, b, c, h)

# Вывод таблицы значений
print("x\ty")
for i, y in enumerate(y_values):
x = -3 + i * h # Вычисление значения x
print("{:.1f}\t{:.3f}".format(x, y))


Объяснение кода:

1. Импорт модуля math: В модуле math находятся функции для математических операций, в том числе log(), которая вычисляет логарифм.
2. Определение функции log3():
- Принимает аргументы a, b, c и h для определения коэффициентов функции и шага изменения x.
- Создает пустой список y_values для хранения значений функции.
- Инициализирует x значением -3, началом отрезка.
- Использует цикл while, чтобы вычислить значения функции для каждого x в диапазоне от -3 до 4 с шагом h.
- Внутри цикла:
- Вычисляет значение y по формуле log_3(a/(x+b))-c.
- Добавляет значение y в список y_values.
- Увеличивает x на h.
- Возвращает список значений y_values.
3. Пример использования:
- Задает значения a, b, c и h для примера.
- Вызывает функцию log3() для вычисления значений функции.
4. Вывод таблицы:
- Выводит заголовок таблицы x\ty.
- Использует цикл for, чтобы пройти по списку значений y_values.
- Внутри цикла:
- Вычисляет значение x для текущего значения i и шага h.
- Выводит значения x и y с форматированием с помощью .format().

Запуск кода:

После сохранения этого кода в файл log3.py вы можете запустить его в командной строке


Это выведет таблицу значений функции y=log_3(a/(x+b))-c на отрезке [-3, 4] с шагом h.
Давид Дядя Мастер (1678) 1 месяц назад
Не получилось, покусал меня
Рустам Абдрашитов Мыслитель (9043) 1 месяц назад
На
 import numpy as np 
import pandas as pd
import matplotlib.pyplot as plt

a = 10
b = 2
c = 1
h = 0.5

x_values = np.arange(-3, 4 + h, h)

def calculate_y(x):
if x + b <= 0:
return None
else:
return np.log(a / (x + b)) / np.log(3) - c

y_values = [calculate_y(x) for x in x_values]
data = pd.DataFrame({'x': x_values, 'y': y_values})
data.dropna(inplace=True)

print("Таблица значений функции:")
print(data)

plt.figure(figsize=(10, 6))
plt.plot(data['x'], data['y'], marker='o', linestyle='-', color='b', label='y = log_3(a/(x+b)) - c')
plt.title('График функции y = log_3(a/(x+b)) - c')
plt.xlabel('x')
plt.ylabel('y')
plt.axhline(0, color='black', linewidth=0.5, ls='--')
plt.axvline(0, color='black', linewidth=0.5, ls='--')
plt.grid(color='gray', linestyle='--', linewidth=0.5)
plt.legend()
plt.xlim(-3, 4)
plt.ylim(min(data['y']) - 1, max(data['y']) + 1)
plt.show()
Ксения Райт Гений (96503) 1 месяц назад
Вот как это делается:
 from math import log 
a, b, c, h = map(float, input('a b c h: ').split())
for i in range(0, int(7. / h) + 1):
x = i * h - 3.
y = log(a / (x + b), 3.) - c
print('%10.7f%22.15f' % (x, y))
Естественно, что входные данные должны быть корректными! Кстати, не менее естественно всех нейроботов и прочих идиотов, которые Вам тут чушь понакалякали, в бан отправлять, просто прожав дизлайк!
Похожие вопросы