0 / 0 / 0
Регистрация: 14.10.2020
Сообщений: 10

Ошибка в алгоритме

14.10.2020, 14:42. Показов 702. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Я недавно начал изучать питон и написал следующую программу. РАсчет y и x основывается на предыдущих значениях этих величин. Нулевые значения x,y,z указаны в программе. Но почему то значение z в перой итерации ровняется 1.43, хотя на калькуляторе получается 1.4. Подскажите пожалуйста, в чем проблема алгоритма?
Python
1
2
3
4
5
6
7
8
9
10
11
12
 
def Eiler(n = 10, h = 0.1, x = 0, y = 2,z=1):
    for i in range(n):
        y += h * z
        print(str(y)+' ИГРЕК')
        z+=h*gun(x,y,z)
        print(z)
        x += h
    return round(x,1), round(y,5), gun(x,y,z)
def gun(x,y,z):
    return ((3-x)*y-x*z-2)
print(Eiler())
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.10.2020, 14:42
Ответы с готовыми решениями:

Ошибка в алгоритме
В метании молота состязается n спортcменов. Каждый из них сделал m бросков. Побеждает спортсмен, у которого максимален наилучший бросок....

Ошибка в алгоритме бинарного поиска на python 3.7 в sublime text 3
В редакторе sumlime text 3 ввел данный код, и пишет что ошибка в 18 строчке, как я понял 18 и 19 почти одинаковые в обоих значит ошибка не...

Ошибка в алгоритме
Алгоритм не всегда выполняется правильно( первый элемент не сортируется). В чем ошибка? 95 procedure SortShell(a:arr); 96 var 97 ...

10
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
14.10.2020, 14:53
Цитата Сообщение от zm127 Посмотреть сообщение
gun(x,y,z)
На самом деле у вас получается
n=x, h=y,x=z,x=0,y=2,z=1

Добавлено через 43 секунды
Так правильно
Python
1
2
3
def Eiler(x = 0, y = 2,z=1):
    n = 10
    h = 0.1
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
14.10.2020, 14:58
Значит, на калькуляторе Вы делаете не совсем то, что написали на Питоне.
Проверить, какой из ответов правильный, невозможно, не зная условия задачи
0
0 / 0 / 0
Регистрация: 14.10.2020
Сообщений: 10
14.10.2020, 15:03  [ТС]
ну если подставить в функцию gun значения x=0, y=2, z=1 должно получиться 1.4, а в питоне получается 1.43. А вообще я пытался написать программу, которая бы решала системы дифф. уравнений методом Эйлера
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
14.10.2020, 15:05
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Так правильно
А в чём разница, простите? Не соображу спросонья..

Добавлено через 1 минуту
Цитата Сообщение от zm127 Посмотреть сообщение
значения x=0, y=2, z=1
А у в Питоне уже не 2
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
14.10.2020, 15:12
Цитата Сообщение от Black Fregat Посмотреть сообщение
А в чём разница, простите?
В количестве аргументов функции и их порядке следования.
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
14.10.2020, 15:18
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
В количестве аргументов функции и их порядке следования.
Если ТС вызывает функцию вообще без аргументов, какая разница?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
14.10.2020, 15:31
Black Fregat, а здесь?

Цитата Сообщение от zm127 Посмотреть сообщение
z+=h*gun(x,y,z)
и здесь?
Цитата Сообщение от zm127 Посмотреть сообщение
return round(x,1), round(y,5), gun(x,y,z)
0
14.10.2020, 15:47

Не по теме:

Ладно, так ничего и не понял, пойду посплю.. Через несколько часов перечитаю на свежую голову

0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
14.10.2020, 15:52
Python
1
2
3
4
5
6
7
8
>>> def Eiler(n = 10, h = 0.1, x = 0, y = 2,z=1):
...     print('n={}; h={}; x={}; y={}; z={}'.format(n,h,x,y,z))
... 
>>> Eiler()
n=10; h=0.1; x=0; y=2; z=1
>>> x=0.1;y=1;z=1.1
>>> Eiler(x,y,z)
n=0.1; h=1; x=1.1; y=2; z=1
0
0 / 0 / 0
Регистрация: 14.10.2020
Сообщений: 10
14.10.2020, 16:20  [ТС]
Всем спасибо, но спустя пару часов я все же сам нашел ошибку Она заключалась в том, что внутри цикла в функции Eiler x+=h нужно было вставить вначале, иначе брался y1, а x был нулевым.
Python
1
2
3
4
5
6
7
8
9
10
11
def Eiler(x = 0, y = 2, z=1):
    n=10
    h=0.1
    for i in range(n):
        x += h
        y += h * z
        z+=h*((3-x)*y-x*z-2)
        print(str(x)+' xx')
        print(round(x,1),round(y,5), round(z,5))
        print(' ')
    return round(x,1), round(y,5)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.10.2020, 16:20
Помогаю со студенческими работами здесь

Ошибка в алгоритме
import java.util.Scanner; public class twenty_seven { public static void main(String args) { float sum,k=2,h,sum1=1; ...

Ошибка в алгоритме
Есть такое задание: Напишите алгоритм, который для одномерного массива с четным количеством элементов, определяет первый индекс подмассива...

Ошибка в алгоритме
Помогите найти ошибку в алгоритме. Алгоритм должен сортировать строки. void SortArrayString(string *&arr, int n, char arr2) /* ...

Ошибка в алгоритме
double x1 = 31/12; double x2 = -316/127; double x3 = 152/175; double x4 = 43/59; ...

Ошибка в алгоритме
В общем есть две меняющиеся величины одна постоянно растущая - аа, а другая - с имеет два значения либо 0, либо 1. Я пытаюсь отследить...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru