Помогите c системой дифуров
Добавлено: 02 янв 2010, 14:03
Есть задание - решить систему методом Эйлера.
Система задана следующим образом:
A=
4 -1 -1 0
-1 4 0 -2
-1 0 4 -1
0 -1 -1 4
начальное условие X(t=0)=(1, 0, 0, 0)
интервал 0<t<5уравнение вида dX/dt + AX = 01) Самое главное - объясните как это выглядит если записать систему в нормальном виде, по-человечески? 80% на то что дальше я как-нибудь соображу как писать код.У меня вот закралась мысль, что это что-то вида:a11*x1 + a12*x2 + a13*x3 + a14*x4 = C1a21*x1 + a22*x2 + a23*x3 + a24*x4 = C2a31*x1 + a32*x2 + a33*x3 + a34*x4 = C3a41*x1 + a42*x2 + a43*x3 + a44*x4 = C4где C1..4 - условие, хотя наверняка я ошибаюсь.2) Если не затруднит - объясните что делать дальше c системой (ибо ещё остаётся 20% на то, что до меня не дойдёт) B смысле - метод Эйлера это же тупо итерация вида:while (условие){new_X=old_X+step_X; //step_X - приращение по оси Хnew_Y=nextE(old_Y,old_X,new_X);old_X=new_X; old_Y=new_Y;}, где nextE(old_Y,old_X,new_X) это функция возвращающая new_Y=old_Y+(new_X-old_X)*F(old_X,old_Y)откуда добыть результат F(X,Y)? и что эта функция есть такое? строка из решаемой системы?3) Если кто-то может кинуть ссылку на реализацию кода на паскале/бейсике/си/си++ - пожалуйста киньте. Лучше конечно без этого, ибо всё одно необходимо будет пояснить суть программы, но если кинуть линк проще чем объяснить - тоже помощь. B крайнем случае - в коде покопаюсь.Спааaасибо всем огромное!
Система задана следующим образом:
A=
4 -1 -1 0
-1 4 0 -2
-1 0 4 -1
0 -1 -1 4
начальное условие X(t=0)=(1, 0, 0, 0)
интервал 0<t<5уравнение вида dX/dt + AX = 01) Самое главное - объясните как это выглядит если записать систему в нормальном виде, по-человечески? 80% на то что дальше я как-нибудь соображу как писать код.У меня вот закралась мысль, что это что-то вида:a11*x1 + a12*x2 + a13*x3 + a14*x4 = C1a21*x1 + a22*x2 + a23*x3 + a24*x4 = C2a31*x1 + a32*x2 + a33*x3 + a34*x4 = C3a41*x1 + a42*x2 + a43*x3 + a44*x4 = C4где C1..4 - условие, хотя наверняка я ошибаюсь.2) Если не затруднит - объясните что делать дальше c системой (ибо ещё остаётся 20% на то, что до меня не дойдёт) B смысле - метод Эйлера это же тупо итерация вида:while (условие){new_X=old_X+step_X; //step_X - приращение по оси Хnew_Y=nextE(old_Y,old_X,new_X);old_X=new_X; old_Y=new_Y;}, где nextE(old_Y,old_X,new_X) это функция возвращающая new_Y=old_Y+(new_X-old_X)*F(old_X,old_Y)откуда добыть результат F(X,Y)? и что эта функция есть такое? строка из решаемой системы?3) Если кто-то может кинуть ссылку на реализацию кода на паскале/бейсике/си/си++ - пожалуйста киньте. Лучше конечно без этого, ибо всё одно необходимо будет пояснить суть программы, но если кинуть линк проще чем объяснить - тоже помощь. B крайнем случае - в коде покопаюсь.Спааaасибо всем огромное!
M | Для написания формул используйте , разбором каракуль мы не занимаемся. |
A | Для написания формул используйте , разбором каракуль мы не занимаемся. |