Построение графика нескольких функций в разных интервалах (python) в логарифмических осяхPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Построение графика нескольких функций в разных интервалах (python) в логарифмических осях

Сообщение Anonymous »

Я пытаюсь построить 3 разные функции в логарифмическом масштабе в Python для трех интервалов x-диапазона. Прикрепляю изображение того типа графика, который я хочу создать, и какие функции, y, для каких интервалов x.
Изображение

Моя попытка кода выглядит следующим образом. Возможно, я слишком усложняю ситуацию.

Код: Выделить всё

import math as m
import numpy as np
import pylab as pl
import matplotlib.pyplot as plt
x = np.arange(100)  # this gives `array([0, 1, 2, ..., 9])`
y = np.arange(100)

for i in range (-50,20):
if x[i] < -43:
y[i] = m.log10((10**x[i])/(10**-43))**(1/2)
if x[i] >  -43 and x[i] < -40:
y[i] = m.log10(np.exp((10**36)((10**x[i])-(10**-43))))
if x[i] >-40:
y[i] = m.log10((np.exp((10**36)((10**-40) - (10**-43)))(((10**x[i])/(10**-43))**(1/2)))
#i+=1

pl.plot(x,y)
#pl.xlim([-100.,100.])
#pl.ylim([-100.,100.])
pl.xlabel('log x')
pl.ylabel('log y')
pl.show()

ОБРАТИТЕ ВНИМАНИЕ:
обновлен код с помощью @Sembei, который работает, но ниже есть еще один вопрос по цветам:

Код: Выделить всё

import matplotlib.pyplot as plt
x = np.linspace(-50,23,500)
y = []

for xval in x:
if xval < -36:
y.append(m.log10(((10**xval)/(10**-36))**(1/2)))
elif -36 

Подробнее здесь: [url]https://stackoverflow.com/questions/72100790/plotting-multiple-functions-in-different-intervals-python-in-log-log-axes[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»