Мне нужно решить это дифференциальное уравнение, используя Runge-Kytta 4 (5) на Scilab:
Начальные условия выше.Интервал и h-шаг:
Мне не нужно реализовывать Рунге-Кутта.Мне просто нужно решить эту проблему и отобразить результат на плоскости:
Я пытался следовать этим инструкциям на официальной «Справке Scilab»:
https://x -engineer.org / аспирантура / языки программирования / scilab / решение второго порядка обыкновенное-дифференциальное уравнение-од-scilab /
Предлагаемый код:
// Import the diagram and set the ending time
loadScicos();
loadXcosLibs();
importXcosDiagram("SCI/modules/xcos/examples/solvers/ODE_Example.zcos");
scs_m.props.tf = 5000;
// Select the solver Runge-Kutta and set the precision
scs_m.props.tol(6) = 6;
scs_m.props.tol(7) = 10^-2;
// Start the timer, launch the simulation and display time
tic();
try xcos_simulate(scs_m, 4); catch disp(lasterror()); end
t = toc();
disp(t, "Time for Runge-Kutta:");
Однако мне не ясно, как я могу изменить это для конкретного дифференциального уравнения, которое я показал выше.У меня есть базовые знания о Scilab.
Финальный сюжет должен выглядеть примерно так, как показано на рисунке ниже, эллипс:
Просто чтобы дать некоторый математический контекст, это дифференциальное уравнение, которое описывает проблему маятника.
Может кто-нибудь помочь мне, пожалуйста?
=========
ОБНОВЛЕНИЕ
Основываясь на комментариях @luizpauloml, я обновляю этот пост.Мне нужно преобразовать ODE второго порядка в систему ODE первого порядка, а затем мне нужно написать функцию для представления такой системы.
Итак, я знаю, как это сделать на ручке и бумаге.Следовательно, используя z в качестве переменной:
ОК, но как мне написать обычный скрипт?
Xcos вполнеодноразовые.Я сохранил его только потому, что пытался подражать примеру на официальной странице Scilab.