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

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

14.10.2020, 14:42. Показов 700. Ответов 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 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru