diff options
author | priyanka | 2015-06-24 15:03:17 +0530 |
---|---|---|
committer | priyanka | 2015-06-24 15:03:17 +0530 |
commit | b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b (patch) | |
tree | ab291cffc65280e58ac82470ba63fbcca7805165 /50/DEPENDENCIES/sim_eulercauchy.sce | |
download | Scilab-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-x | 50/DEPENDENCIES/sim_eulercauchy.sce | 24 |
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
|