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

Ай, Карамба, у меня RuntimeWarning: invalid value encountered in sqrt

20.06.2018, 01:01. Показов 5737. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем,очень нужна помощь в устранении ошибки.
Вроде все логично,программа строит нужные графики,считает все параметры абсолютно верно,но в какой-то момент выдает ошибку в вычислении функции( значения положительной половины окружности в координатах),причем зависимость я так и не смог найти...Входные данные сугубо положительные,типа float .
Буду благодарен за помощь,ибо сам не справляюсь(
Есть подозрения,что беда в np.linspace,который является аргументом Mrc ,что приводит к RuntimeWarning: invalid value encountered in sqrt
y =np.sqrt(r * r - (x - x0) * (x - x0)),
тип данных мб не тот,но float и комплекс не решают эту проблему
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
     def Mrc(x, r, x0):
         y =np.sqrt(r * r - (x - x0) * (x - x0))
         return y
Dlunk = float(input())
     Dotv = float(input())
     a = float(input())
     b = float(input())
     Pkgs = float(input())
     S=a*b*N/100
     F=np.pi* Dlunk * Dotv/100
     Sit = float(Pkgs / (10*S)) 
     Pv = Pkgs / (10*F)
 
     Ki = Pv/Sit
TanFi0 =0.5*(Pv-Sit)/np.sqrt(Sit*Pv) 
     Fi0=np.arctan(TanFi0)*180/np.pi
     C0i = np.sqrt(Sit * Pv)  
     TanFi=(np.sqrt(Pv)-np.sqrt(Sit))*0.5/(np.sqrt(np.sqrt(Pv*Sit)))
     Fi = np.arctan(TanFi) * 180 / np.pi
     Ci=np.sqrt(np.sqrt(Pv*Sit))*(np.sqrt(Pv)+np.sqrt(Sit))*0.5
     Sis=Pv+np.sqrt(Sit*Pv)
     Sivs=2*Pkgs / (10*(S+F))
     Khr=Sis/Sivs
     KPuass=1.4/(Khr-2.05)
     Si3s=2*Pkgs
     Xc1 = (-1) * Sit
     R1 = Sit
     Xc2 = 0
     R2 = Sit * Pv * 2/ (Sit + Pv)
     Xc3 = (Pv - Sit) /2
     R3 = (Pv - Sit) /2
     Xc4 = (Pv + C0i) / 2
     R4 = (Pv + C0i) / 2
     Xc5=(Pv+2*C0i+Sit)/2
     R5=(Pv+2*C0i-Sit)/2
     Xc6=Pv+C0i
     R6=Pv
 
     Xc7=(Pv+C0i)*(2+np.sqrt(Pv/Sit))/2
     R7=(Pv+C0i)*np.sqrt(Pv/Sit)/2
     Xc8=(Pv+C0i)*(Pv/Sit+np.sqrt(Pv/Sit)-2)/4
     R8=3*C0i/2+((Pv-3*Sit)*Pv/Sit)/4
     Xc9 = (Pv + Sit) / 2
     R9 = Sit + Pv / 2
 
 
    X_l1 = np.linspace(Xc1-R1,Xc1+R1, 1000)#графика кругов 1-8
     Y1 = Mrc(X_l1, R1, Xc1)
     X_l2 = np.linspace(Xc2 - R2, Xc2 + R2, 100000)
     Y2 = Mrc(X_l2, R2, Xc2)
     X_l3 = np.linspace(Xc3 - R3, Xc3 + R3, 100000)
     Y3 = Mrc(X_l3, R3, Xc3)
     X_l4 = np.linspace(Xc4 - R4, Xc4 + R4, 100000)
     Y4 = Mrc(X_l4, R4, Xc4)
     X_l5 = np.linspace(Xc5 - R5, Xc5 + R5, 100000)
     Y5 = Mrc(X_l5, R5, Xc5)
     X_l8 = np.linspace(Xc8 - R8, Xc8 + R8, 100000)
     Y8 = Mrc(X_l8, R8, Xc8)
     X_l6 = np.linspace(Xc6 - R6, Xc6 + R6, 100000)
     Y6 = Mrc(X_l6, R6, Xc6)
     X_l9 = np.linspace(Xc9 - R9, Xc9 + R9, 100000)
     Y9 = Mrc(X_l9, R9, Xc9)
     X_l7 = np.linspace(Xc7 - R7, Xc7 + R7, 100000)
     Y7 = Mrc(X_l7, R7, Xc7)  # конец кругов
     X_l9 = np.linspace(Xc9 - R9, Xc9 + R9, 100000)
     Y9 = Mrc(X_l9, R9, Xc9)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.06.2018, 01:01
Ответы с готовыми решениями:

Как убрать ошибку RuntimeWarning: invalid value encountered in sqrt?
Графики показывает, но еще выдает ошибку RuntimeWarning: invalid value encountered in sqrt Как решить это? Код: import...

RuntimeWarning: invalid value encountered in double_scalars
При реализации связанной системы с одинаковыми параметрами х, у, z - все прекрасно работает. Но если использовать различные параметры -...

RuntimeWarning: overflow encountered in
Доброго времени суток, нужно вычислитель функцию градиентным спуском, но при компиляции возникают проблемы: ...

4
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
20.06.2018, 06:42
InsomniacG, ну поотслеживай, поставь перехват исключения или перед вычислением корня выводи в консоль r * r - (x - x0) * (x - x0) просто посмотреть не будет ли он отрицателен,
Цитата Сообщение от InsomniacG Посмотреть сообщение
Входные данные сугубо положительные,типа float .
а это вполне может быть и при положительных аргументах, если х-х0 будет больше r
0
0 / 0 / 0
Регистрация: 28.05.2018
Сообщений: 70
20.06.2018, 11:33  [ТС]
Welemir1 , я пытался через try/except (Runtime Warning), но все равно то же самое выдает. В исключении домножал на -1 подкоренное выражение.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
20.06.2018, 11:46
InsomniacG, юзай дебаггер или просто вот в лоб
Python
1
2
3
4
5
6
def Mrc(x, r, x0):
         z = r * r - (x - x0) * (x - x0)
         if z<0:
              print (z, x,r,x0)
         y =np.sqrt(x)
         return y
и в консоли потом поглядишь что там за параметры при которых падает
0
0 / 0 / 0
Регистрация: 28.05.2018
Сообщений: 70
20.06.2018, 12:50  [ТС]
К сожалению,для массивов это не работает...Traceback (most recent call last):
File "C:/project geo/MAINGT — копия.py", line 164, in <module>
Y1 = Mrc(X_l1, R1, Xc1)
File "C:/project geo/MAINGT — копия.py", line 153, in Mrc
if z < 0:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.06.2018, 12:50
Помогаю со студенческими работами здесь

Pinnacle ошибка an invalid argument was encountered
Здравствуйте! Почему программа Pinnacle Stusio 9 выдает такие ошибки (скрин), когда пытаешься запустить ее через удаленный рабочий стол?...

Дано целое положительное число n. Найти sqrt(n+ sqrt (n-1) + sqrt (n-2)+. sqrt (1)
Дано целое положительное число n. Найти sqrt(n+ sqrt ((n-1) + sqrt ((n-2)+... sqrt (1))))

Дано натуральное число n. Вычислить: sqrt(3+sqrt(6+.+sqrt(3*(n-1)+sqrt(3*n)
Что я делаю не так, подскажите пожалуйста. #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;stdlib.h&gt; int main(int argc, char...

Использование конечных циклов: вычислить sqrt(3+sqrt(6+...+sqrt(3(n-1)+sqrt(3n))))
Вычислить для заданного натурального числа n указанное выраже-ние. дано выражение sqrt{3+sqrt{6+...+sqrt{3(n-1)+sqrt{3n}}}} не...

Даны натуральные числа n и k. Вычислить: sqrt(k+sqrt(2k+...+sqrt(k(n-1)+sqrt(kn))))
Даны натуральные числа n и k. Вычислить: sqrt(k+sqrt(2k+...+sqrt(k(n-1)+sqrt(kn))))


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru