summaryrefslogtreecommitdiff
path: root/50/DEPENDENCIES/sim_eulercauchy.sce
diff options
context:
space:
mode:
authorpriyanka2015-06-24 15:03:17 +0530
committerpriyanka2015-06-24 15:03:17 +0530
commitb1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b (patch)
treeab291cffc65280e58ac82470ba63fbcca7805165 /50/DEPENDENCIES/sim_eulercauchy.sce
downloadScilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.tar.gz
Scilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.tar.bz2
Scilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.zip
initial commit / add all books
Diffstat (limited to '50/DEPENDENCIES/sim_eulercauchy.sce')
-rwxr-xr-x50/DEPENDENCIES/sim_eulercauchy.sce24
1 files changed, 24 insertions, 0 deletions
diff --git a/50/DEPENDENCIES/sim_eulercauchy.sce b/50/DEPENDENCIES/sim_eulercauchy.sce
new file mode 100755
index 000000000..b16af4509
--- /dev/null
+++ b/50/DEPENDENCIES/sim_eulercauchy.sce
@@ -0,0 +1,24 @@
+function [u,v,t] = simeulercauchy(u0,v0,t0,tn,h,f1,f2)
+
+
+// du/dt = f1(t,u,v), dv/dt = f2(t,u,v) with initial
+//conditions u=u0,v=v0 at t=t0. The
+//solution is obtained for t = [t0:h:tn]
+//and returned in u,v
+
+
+umaxAllowed = 1e+100;
+
+t = [t0:h:tn]; u = zeros(t); n = length(u); u(1) = u0;
+
+for j = 1:n-1
+ k11=h*f1(t(j),u(j),v(j));
+ k21=h*f2(t(j),u(j),v(j));
+ k12=h*f1(t(j)+h,u(j)+k11,v(j)+k21);
+ k22=h*f2(t(j)+h,u(j)+k11,v(j)+k21);
+ u(j+1) = u(j) + (k11+k12)/2;
+ v(j+1) = v(j) + (k21+k22)/2;
+
+end;
+
+endfunction