Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 20.12.2023
Сообщений: 1

Протабулировать функцию с тангенсом и котангенсом

20.12.2023, 16:33. Показов 822. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составьте программу табулирования функции y = tgx + ctgx на отрезке [0.1,1.1] с шагом 0.1.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.12.2023, 16:33
Ответы с готовыми решениями:

Протабулировать функцию y(x) и функцию g(x) на отрезке [a;b] с шагом h=(b-a)/n. Вычисление y(x) оформить в виде процедур
Протабулировать функцию y(x) и функцию g(x) на отрезке с шагом h=(b-a)/n. Вычисление y(x) оформить в виде процедуры, вычисление g(x) - в...

Протабулировать функцию на интервале, указав значения аргумента, при которых функцию нельзя вычислить
Протабулировать функцию f(x)= (a*x*x+3)/(sin (pi*x/6) на интервале x= с шагом х=3, указав значения аргумента при которых функцию нельзя...

Протабулировать функцию
Протабулировать функцию на С++.

9
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.12.2023, 16:43
Python
1
2
3
4
import numpy as np
 
m = np.arange(.1, 1.2, .1)
print(np.tan(m) + 1 / np.tan(m))
2
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
20.12.2023, 17:56

Не по теме:

iSmokeJC, тру пацаны через linspace делают




Добавлено через 27 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from sys import getsizeof
import numpy as np
 
arr_arange = np.arange(1, 10**6+1, 1)
arr_lnspc = np.linspace(1, 10**6, 10**6)
 
 
print(f'lnspc   ==============')
print(f'Len: {len(arr_lnspc)}')
print(f'Type: {type(arr_lnspc)}')
print(f'Size: {getsizeof(arr_lnspc)} Bytes \n')
 
 
print(f'arange  ==============')
print(f'Len: {len(arr_arange)}')
print(f'Type: {type(arr_arange)}')
print(f'Size: {getsizeof(arr_arange)} Bytes \n')
Code
1
2
3
4
5
6
7
8
9
lnspc   ==============
Len: 1000000
Type: <class 'numpy.ndarray'>
Size: 112 Bytes 
 
arange  ==============
Len: 1000000
Type: <class 'numpy.ndarray'>
Size: 4000112 Bytes
3
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
20.12.2023, 18:33
Python
1
2
3
4
5
6
from math import tan
x = 0.1
while x <= 1.1:
    y = tan(x) + 1/tan(x)
    print(f'x = {x:.1f}\t\ty = {y:.2f}')
    x += 0.1
0
20.12.2023, 19:10

Не по теме:

Red white socks, linspace ещё очень хорошо работает с matplotlib)

0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38177 / 21112 / 4307
Регистрация: 12.02.2012
Сообщений: 34,716
Записей в блоге: 14
20.12.2023, 19:50
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
from math import tan
 
global formula # делаем переменную глобальной
 
# Создание виртуального экрана
 
def make_scr(rows,cols):
    vscr=[[' ' for _ in range(cols)] for _ in range(rows)]
    return vscr
 
# Рисование
 
def draw(f,a,b,cols,rows):
    
    fmax,fmin=f(a),f(a)
    dx=(b-a)/cols       # шаг по оси OX
    x=a
    while x<=b:
        fx=f(x)    # значение функции в текущей точке
        if fx>fmax:
            fmax=fx
        if fx<fmin:
            fmin=fx
        x=x+dx
 
    scr=make_scr(rows,cols) # создали виртуальный экран
 
    df=fmax-fmin  # "размах" функции по оси OY
    
    for i in range(cols):
        
        x=a+i*dx # текущая абсцисса
        y=f(x)   # текущая ордината
        
        p=(y-fmin)/df # доля текущей ординаты в размахе функции    
 
        j=rows-int(rows*p)
 
        if j>=rows:
            j=rows-1
        
        scr[j][i]='*'
 
    for row in scr:
        print(*row)
 
 
def f(arg):
    
    global formula
    
    return eval(macro(formula,str(arg)))
 
# Парсер
 
def parse(formula):
    res=[]
    acc=''
    for a in formula:
        if a != ' ':
            if a in "+-*/(),": # разделитель
                # сбрасываем акк. в res (но только если акк непуст!)
                if len(acc)>0:
                    res.append(acc)
                    acc=""
                res.append(a)
            else: # обычный символ 
                acc=acc+a
                
    if len(acc)>0: # сбросим последний атом, если он есть
        res.append(acc)
    return res
 
# Подстановщик
 
def macro(formula,x):
    tmp=parse(formula)
    sx=str(x)
    res=""
    for a in tmp:
        if a=="x":
            res=res+sx
        else:
            res=res+a
    # Проблема -- !!!
    res=res.replace("--","")
    return res        
 
 
def start():
    
    global formula
    
    formula=input("Введите функцию в виде f(x)=")
    a=float(input("левая граница="))
    b=float(input("правая граница="))
    r=int(input("к-во строк="))
    c=int(input("к-во столбцов="))
    
    draw(f,a,b,c,r)
 
# Запуск
 
start()
Диалог и результат:

Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Введите функцию в виде f(x)=tan(x)+1/tan(x)
левая граница=0.1
правая граница=1.1
к-во строк=40
к-во столбцов=50
*                                                                                                  
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
  *                                                                                                
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
    *                                                                                              
                                                                                                   
                                                                                                   
                                                                                                   
      *                                                                                            
                                                                                                   
                                                                                                   
        *                                                                                          
                                                                                                   
                                                                                                   
          *                                                                                        
                                                                                                   
            *                                                                                      
                                                                                                   
              *                                                                                    
                *                                                                                  
                                                                                                   
                  *                                                                                
                    *                                                                              
                      *                                                                            
                        * *                                                                        
                            *                                                                      
                              * *                                                                  
                                  * * *                                                               *
                                        * * * * * * * * * * * * * * * * * * * * * * *   
 
 
...Program finished with exit code 0
Press ENTER to exit console.
1
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
20.12.2023, 20:30
Ну или так:
Python
1
2
3
4
5
6
7
8
9
from math import tan
beg = 0.1
end = 1.1
step = 0.1
step_count = round((end - beg)/step)
for i in range(step_count+1):
    x = beg + i*step
    y = tan(x) + 1/tan(x)
    print(f'x = {x:.1f}\t\ty = {y:.2f}')
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6221 / 2917 / 1046
Регистрация: 01.06.2021
Сообщений: 10,794
21.12.2023, 13:26
Python
1
2
3
4
5
from mpmath import csc
i = 0.2
while i <= 2.2:
    print(2*csc(i))
    i += 0.2
1
 Аватар для Aviz__
2748 / 2056 / 508
Регистрация: 17.02.2014
Сообщений: 9,483
21.12.2023, 17:26
Python
1
2
3
4
5
6
from math import tan
x = 0.1
while (t := tan(x)) <= tan(1.1):
    y = t + 1/t
    print(f'x = {x:.1f}\t\ty = {y:.2f}')
    x += 0.1
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6221 / 2917 / 1046
Регистрация: 01.06.2021
Сообщений: 10,794
21.12.2023, 17:36
Python
1
2
3
4
5
from math import sin
i = 0.2
while i <= 2.2:
    print(2/sin(i))
    i += 0.2
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.12.2023, 17:36
Помогаю со студенческими работами здесь

Протабулировать функцию
Функция f(x)=sqrt(arctan (4*ln*(x))); интервал ; количество точек n=15. С помощью операторов for, while,repeat

Протабулировать функцию
Вывести на экран в виде таблицы значения x и функции y y=\begin{cases}\frac{1}{2x-4} &amp; \text{, npu } x\leq 10 \\\\\cos...

Протабулировать функцию
Табулирование. Определить a+(a+h)+(a+2h)+(a+3h)+...+b, где a,b,h - вещественные числа. Ребят, нужна простая, но рабочая программка к...

Протабулировать функцию
Разработать программу табулирования (вычисления таблицы значений) функции для произвольного диапазона изменения независимого параметра или...

Протабулировать функцию
Задание:Необходимо решить задачу вычисления N значений функции y = f(x) для ряда равноотстоящих значений аргумента x, начиная от значения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru