Найти - Пользователи
Полная версия: Цикл не выводит значения в нужном колличестве
Начало » Python для новичков » Цикл не выводит значения в нужном колличестве
1
GJGUG
Здравствуйте!

Застрял с небольшим циклом:
Питон ругается что длины списков 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()
doza_and
GJGUG
только вот не пойму никак что не так…
Чтобы понять что не так запустите отладчик и посмотрите как рабоатет функция F.
GJGUG
but have shapes (69,) and (1,)
Вы сразу убедитеть что она нписана вами так что возвращает число а не массив, о чем вам питон и толкует.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB