rusyska55011, слеши говорят о том, что вы учитесь программировать под Windows. А в совокупности со странными конструкциями это говорит о том, что опыта мало и вы используете IDE, не понимая что у неё под капотом и какие настройки надо смотреть. Покажите как у вас устроен проект.
vadimzelin0, можно попробовать такой подход. Создай в Пайнте два png размерами 512 * 272. Один закрась чёрным, второй белым. Сопоставляя их поймёшь, где собственно хранится изображение. Один из файлов используй в качестве шаблона, замещая байты исходного изображения байтами твоего. Если не сработает, вспомни анекдот про Горбачёва и кур.
Hemul GM, ну всё-таки используют не то, что Гвидо называл Питоном тогда. А ещё люди нос воротят, когда слышат о Фортране, как от чего-то ископаемого, хотя Фортран моложе Питона :-)
Алгоритмы существуют вне какого-то конкретного языка. Имеет смысл изучать алгоритмы параллельно. Кроме того, Python не самое удобное средство для их изучения, поскольку многие алгоритмы уже реализованы на уровне языка либо распространённых библиотек, под капотом которых находится С-шный код. Попробуйте создать интерпретатор, реализующий виртуальную RAM-машину и работайте с ним, с помощью того же Питона, например (последнее шутка, а может и нет).
Сергей Хлопов, в теории да, если правильно подобраны коэффициенты. На практике различие будет, и отличие суммы решений от 1 можно использовать для проверки корректности выбора шага h.
у вас игрики -- это p, икс это t. t у вас пробегает значения на сетке t0, t1=t0+h, t2=t1+h=t0+2*h, ...
если нужна вся история эволюции вероятностей, то храним её в массивах p1[N], p2[N], p3[N], p4[N], N = [T/h].
поскольку y теперь вектор из 4-х элементов, а время явно в уравнения не входит, делаем так:
k11 = h*(-.04*p1[i]+.04*p2[i])
k12 = h*(.01*p1[i] + .02*p3[i]+....)
k13 = ...
k14 = ...
k21 = h*(-.04*(p1[i]+k11/2) + .04*(p2[i]+k12/2))
....
p1[i+1] = p1[i] + 1/6*(k11+k21*2+k31*2+k41)
p2[i+1] = p2[i] + 1/6*(k12+k22*2+k32*2+k42)
....
alloooooo, аналогия с записью числа в позиционной системе счисления. Например: в 10 системе 4621=4*1000 + 6*100+ 2*10 +1 = ((4*10 + 6)*10 + 2)*10 + 1. Посмотрим теперь на нашу строку, как на число, закодированное в системе счисления, основание которой равно размеру кодовой таблице. Рассчитать число можно по той же формуле, которую я привёл выше.
В С используется ASCII кодировка, реализованная так, что в номер символа и содержимое ячейки памяти, в которой он хранится тождественны, т.е. ord(c) == c, и смысла в отдельной функции "ord" нет, размер таблицы символов равен числу значений, которые может принимать однобайтовая переменная ct_size=256=2**8. Если вы читали про сдвиги, то должно быть понятно, что a*256 == a<<8. Остаётся побитовое ИЛИ "|". Оно работает так, пусть у вас есть два двоичных числа и вы их складываете в столбик. Побитовое или будет соответствовать сложению, но без переноса разряда. Сами можете убедиться, что такого сложения достаточно в данном случае.