Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

9.0 KiB

Индивидуальное контрольное задание по теме 7

Соловьёва Екатерина, А-01-23

Задание

Разработайте функцию с 3 аргументами: x, А и В, реализующую преобразование входного сигнала x по формуле: y=B, если x>A; y= 2Bx/A-Bx^2/A^2 , если 0≤ x ≤ А; y= 2B * x/A +B*x^2 /A^2 , если -A≤ x <0; y=-B, если x< -A. Создайте список со 100 значениями входного сигнала х – случайными, равномерно распределенными числами в диапазоне значений от -5 до 12. Для элементов списка с помощью функции рассчитайте список со значениями выходного сигнала y при трех разных парах значений А и В. Записать результаты в текстовый файл в виде двух столбцов: хi, yi.

Решение

import random

def func(x, A, B):
    if x > A:
        return B
    elif 0 <= x <= A:
        return (2 * B * x / A) - (B * x**2 / A**2)
    elif -A <= x < 0:
        return (2 * B * x / A) + (B * x**2 / A**2)
    else:
        return -B

x_values = [random.uniform(-5, 12) for _ in range(100)]

params = [(5, 7), (3, 4), (8, 12)]

with open('test.txt', 'w', encoding='utf-8') as f:
    for A, B in params:
        f.write(f'\nПараметры: A = {A}, B = {B}\n')
        f.write('xi           yi\n')
        f.write('----------------\n')
        
        for x in x_values:
            y = func(x, A, B)
            f.write(f'{x:10.5f}   {y:10.5f}\n')

Вывод

Параметры: A = 5, B = 7
xi           yi
----------------
   5.86982      7.00000
  10.60889      7.00000
   4.06461      6.75501
   5.29288      7.00000
  10.15479      7.00000
   3.86484      6.63920
   0.47680      1.27140
  -1.27013     -3.10467
  -1.24129     -3.04419
  -1.03170     -2.59073
  -1.50325     -3.57637
   6.95909      7.00000
   1.03174      2.59082
   1.91432      4.33400
   6.86539      7.00000
  10.89394      7.00000
   3.61242      6.46090
   7.85303      7.00000
  -4.35477     -6.88343
  -1.10787     -2.75836
   8.88241      7.00000
  -3.41076     -6.29281
   2.60220      5.39016
   5.28102      7.00000
  -4.78747     -6.98735
  -1.71943     -3.98660
   6.26656      7.00000
  10.65755      7.00000
  -2.27517     -4.92108
   9.47499      7.00000
  -0.31369     -0.85077
   7.62057      7.00000
   6.96683      7.00000
   8.14176      7.00000
  11.97237      7.00000
  10.89297      7.00000
   2.48892      5.23446
   6.69740      7.00000
  -4.11167     -6.77904
   4.94378      6.99912
  -4.48180     -6.92481
   7.27224      7.00000
  -0.83065     -2.13263
   1.01590      2.55555
   6.91175      7.00000
  10.08303      7.00000
   3.60696      6.45664
   0.72761      1.88906
   2.82893      5.68021
   7.15816      7.00000
   6.46978      7.00000
   3.33574      6.22447
   7.04571      7.00000
   2.60493      5.39382
   6.93663      7.00000
   2.92556      5.79507
  10.45675      7.00000
   9.22932      7.00000
   7.40673      7.00000
   1.40836      3.38804
  11.95106      7.00000
  -3.11935     -6.00968
   6.61976      7.00000
  -1.59679     -3.75709
   2.39406      5.09855
   8.98971      7.00000
   2.01005      4.49685
  -1.42513     -3.42169
   1.91515      4.33544
   4.75207      6.98279
  -3.22786     -6.12067
   2.18031      4.77382
   6.95316      7.00000
  -3.92956     -6.67917
  -1.97791     -4.44276
   7.95253      7.00000
   9.86943      7.00000
  -3.45314     -6.33002
   2.13008      4.69379
  -1.21212     -2.98255
   8.50756      7.00000
   1.85195      4.22513
   3.75620      6.56683
   4.47003      6.92136
  11.09999      7.00000
  -1.70654     -3.96287
  11.73001      7.00000
   1.90609      4.31977
  -2.36144     -5.05063
   0.04914      0.13690
   3.82695      6.61471
   6.12422      7.00000
   2.32662      4.99884
   9.35261      7.00000
   8.06504      7.00000
   2.97498      5.85181
   4.38768      6.89502
   4.20153      6.82148
   4.19242      6.81739
  -4.63619     -6.96294

Параметры: A = 3, B = 4
xi           yi
----------------
   5.86982      4.00000
  10.60889      4.00000
   4.06461      4.00000
   5.29288      4.00000
  10.15479      4.00000
   3.86484      4.00000
   0.47680      1.17044
  -1.27013     -2.67003
  -1.24129     -2.62531
  -1.03170     -2.27813
  -1.50325     -3.00433
   6.95909      4.00000
   1.03174      2.27821
   1.91432      3.47613
   6.86539      4.00000
  10.89394      4.00000
   3.61242      4.00000
   7.85303      4.00000
  -4.35477     -4.00000
  -1.10787     -2.40881
   8.88241      4.00000
  -3.41076     -4.00000
   2.60220      3.92967
   5.28102      4.00000
  -4.78747     -4.00000
  -1.71943     -3.27117
   6.26656      4.00000
  10.65755      4.00000
  -2.27517     -3.76650
   9.47499      4.00000
  -0.31369     -0.79276
   7.62057      4.00000
   6.96683      4.00000
   8.14176      4.00000
  11.97237      4.00000
  10.89297      4.00000
   2.48892      3.88391
   6.69740      4.00000
  -4.11167     -4.00000
   4.94378      4.00000
  -4.48180     -4.00000
   7.27224      4.00000
  -0.83065     -1.90841
   1.01590      2.25038
   6.91175      4.00000
  10.08303      4.00000
   3.60696      4.00000
   0.72761      1.70499
   2.82893      3.98699
   7.15816      4.00000
   6.46978      4.00000
   3.33574      4.00000
   7.04571      4.00000
   2.60493      3.93063
   6.93663      4.00000
   2.92556      3.99754
  10.45675      4.00000
   9.22932      4.00000
   7.40673      4.00000
   1.40836      2.87409
  11.95106      4.00000
  -3.11935     -4.00000
   6.61976      4.00000
  -1.59679     -3.12489
   2.39406      3.83682
   8.98971      4.00000
   2.01005      3.56444
  -1.42513     -2.89769
   1.91515      3.47693
   4.75207      4.00000
  -3.22786     -4.00000
   2.18031      3.70138
   6.95316      4.00000
  -3.92956     -4.00000
  -1.97791     -3.53571
   7.95253      4.00000
   9.86943      4.00000
  -3.45314     -4.00000
   2.13008      3.66366
  -1.21212     -2.57933
   8.50756      4.00000
   1.85195      3.41421
   3.75620      4.00000
   4.47003      4.00000
  11.09999      4.00000
  -1.70654     -3.25642
  11.73001      4.00000
   1.90609      3.46816
  -2.36144     -3.81877
   0.04914      0.12996
   3.82695      4.00000
   6.12422      4.00000
   2.32662      3.79847
   9.35261      4.00000
   8.06504      4.00000
   2.97498      3.99972
   4.38768      4.00000
   4.20153      4.00000
   4.19242      4.00000
  -4.63619     -4.00000

Параметры: A = 8, B = 12
xi           yi
----------------
   5.86982     11.14919
  10.60889     12.00000
   4.06461      9.09613
   5.29288     10.62591
  10.15479     12.00000
   3.86484      8.79384
   0.47680      1.38779
  -1.27013     -3.50792
  -1.24129     -3.43498
  -1.03170     -2.89553
  -1.50325     -4.08605
   6.95909     11.79685
   1.03174      2.89564
   1.91432      5.05583
   6.86539     11.75862
  10.89394     12.00000
   3.61242      8.39047
   7.85303     11.99595
  -4.35477     -9.50856
  -1.10787     -3.09347
   8.88241     12.00000
  -3.41076     -8.05104
   2.60220      6.53696
   5.28102     10.61384
  -4.78747    -10.06493
  -1.71943     -4.60396
   6.26656     11.43660
  10.65755     12.00000
  -2.27517     -5.85493
   9.47499     12.00000
  -0.31369     -0.92261
   7.62057     11.97301
   6.96683     11.79985
   8.14176     12.00000
  11.97237     12.00000
  10.89297     12.00000
   2.48892      6.30526
   6.69740     11.68186
  -4.11167     -9.16516
   4.94378     10.24866
  -4.48180     -9.67917
   7.27224     11.90069
  -0.83065     -2.36258
   1.01590      2.85420
   6.91175     11.77795
  10.08303     12.00000
   3.60696      8.38148
   0.72761      2.08355
   2.82893      6.98626
   7.15816     11.86712
   6.46978     11.56096
   3.33574      7.92088
   7.04571     11.82925
   2.60493      6.54247
   6.93663     11.78798
   2.92556      7.17188
  10.45675     12.00000
   9.22932     12.00000
   7.40673     11.93401
   1.40836      3.85319
  11.95106     12.00000
  -3.11935     -7.53361
   6.61976     11.64280
  -1.59679     -4.31230
   2.39406      6.10753
   8.98971     12.00000
   2.01005      5.27259
  -1.42513     -3.89459
   1.91515      5.05774
   4.75207     10.02206
  -3.22786     -7.73000
   2.18031      5.64961
   6.95316     11.79452
  -3.92956     -8.89341
  -1.97791     -5.20021
   7.95253     11.99958
   9.86943     12.00000
  -3.45314     -8.12363
   2.13008      5.53950
  -1.21212     -3.36088
   8.50756     12.00000
   1.85195      4.91277
   3.75620      8.62315
   4.47003      9.66362
  11.09999     12.00000
  -1.70654     -4.57356
  11.73001     12.00000
   1.90609      5.03706
  -2.36144     -6.03873
   0.04914      0.14695
   3.82695      8.73482
   6.12422     11.34027
   2.32662      5.96488
   9.35261     12.00000
   8.06504     12.00000
   2.97498      7.26547
   4.38768      9.55333
   4.20153      9.29468
   4.19242      9.28168
  -4.63619     -9.87840