Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 28, 2021 23:03:09

GJGUG
Зарегистрирован: 2021-02-27
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Цикл не выводит значения в нужном колличестве

Здравствуйте!

Застрял с небольшим циклом:
Питон ругается что длины списков x и y разной длины, и поэтому не строит график:
ValueError: x and y must have same first dimension, but have shapes (69,) and (1,)

Очевидно проблема в цикле, только вот не пойму никак что не так…

 import numpy as np
import matplotlib.pyplot as plt
 
Lmax = 34.367
d_2 = 80
d_1 = 44
d_0 = 20
b_2 = d_2 / 12
fi_0 = 5
F_0 = np.pi * (d_1 ** 2 - d_0 ** 2) * np.cos(np.deg2rad(fi_0)) / 4
F_2 = np.pi * d_2 * b_2
 
 
s = np.arange(0, Lmax, 0.5)
 
def F(s):
    for j in s:
        if j < 10:
            return F_0
        else:
            return (F_2 - F_0) * (j - 10) / (Lmax - 10) + F_0
 
 
fig4 = plt.figure("Изменение площади проходного сечения колеса по длине центроиды")
graph4 = plt.plot(s, F(s))
print('Plot: ', len(graph4), graph4)
grid4 = plt.grid(True)  # линии вспомогательной сетки
plt.show()

Офлайн

#2 Фев. 28, 2021 23:11:09

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Цикл не выводит значения в нужном колличестве

GJGUG
только вот не пойму никак что не так…
Чтобы понять что не так запустите отладчик и посмотрите как рабоатет функция F.
GJGUG
but have shapes (69,) and (1,)
Вы сразу убедитеть что она нписана вами так что возвращает число а не массив, о чем вам питон и толкует.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version