aboutsummaryrefslogtreecommitdiffstats
path: root/vorlesungen/slides/fresnel/eulerspirale.m
diff options
context:
space:
mode:
authorJoshua Baer <joshua.baer@ost.ch>2022-05-15 15:38:30 +0200
committerJoshua Baer <joshua.baer@ost.ch>2022-05-15 15:38:30 +0200
commit4cb01cee1798e8c8cd3af006fe99fbfb9ce93248 (patch)
tree529c5491dbea9ed7d43caf084649f68cf40c9bb9 /vorlesungen/slides/fresnel/eulerspirale.m
parenta few animations (diff)
parentMerge branch 'AndreasFMueller:master' into master (diff)
downloadSeminarSpezielleFunktionen-4cb01cee1798e8c8cd3af006fe99fbfb9ce93248.tar.gz
SeminarSpezielleFunktionen-4cb01cee1798e8c8cd3af006fe99fbfb9ce93248.zip
Merge remote-tracking branch 'origin/master'
Diffstat (limited to '')
-rw-r--r--vorlesungen/slides/fresnel/eulerspirale.m61
1 files changed, 61 insertions, 0 deletions
diff --git a/vorlesungen/slides/fresnel/eulerspirale.m b/vorlesungen/slides/fresnel/eulerspirale.m
new file mode 100644
index 0000000..84e3696
--- /dev/null
+++ b/vorlesungen/slides/fresnel/eulerspirale.m
@@ -0,0 +1,61 @@
+#
+# eulerspirale.m
+#
+# (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschlue
+#
+global n;
+n = 1000;
+global tmax;
+tmax = 10;
+global N;
+N = round(n*5/tmax);
+
+function retval = f(x, t)
+ x = pi * t^2 / 2;
+ retval = [ cos(x); sin(x) ];
+endfunction
+
+x0 = [ 0; 0 ];
+t = tmax * (0:n) / n;
+
+c = lsode(@f, x0, t);
+
+fn = fopen("eulerpath.tex", "w");
+
+fprintf(fn, "\\def\\fresnela{ (0,0)");
+for i = (2:n)
+ fprintf(fn, "\n\t-- (%.4f,%.4f)", c(i,1), c(i,2));
+end
+fprintf(fn, "\n}\n\n");
+
+fprintf(fn, "\\def\\fresnelb{ (0,0)");
+for i = (2:n)
+ fprintf(fn, "\n\t-- (%.4f,%.4f)", -c(i,1), -c(i,2));
+end
+fprintf(fn, "\n}\n\n");
+
+fprintf(fn, "\\def\\Cplotright{ (0,0)");
+for i = (2:N)
+ fprintf(fn, "\n\t-- ({%.4f*\\dx},{%.4f*\\dy})", t(i), c(i,1));
+end
+fprintf(fn, "\n}\n\n");
+
+fprintf(fn, "\\def\\Cplotleft{ (0,0)");
+for i = (2:N)
+ fprintf(fn, "\n\t-- ({%.4f*\\dx},{%.4f*\\dy})", -t(i), -c(i,1));
+end
+fprintf(fn, "\n}\n\n");
+
+fprintf(fn, "\\def\\Splotright{ (0,0)");
+for i = (2:N)
+ fprintf(fn, "\n\t-- ({%.4f*\\dx},{%.4f*\\dy})", t(i), c(i,2));
+end
+fprintf(fn, "\n}\n\n");
+
+fprintf(fn, "\\def\\Splotleft{ (0,0)");
+for i = (2:N)
+ fprintf(fn, "\n\t-- ({%.4f*\\dx},{%.4f*\\dy})", -t(i), -c(i,2));
+end
+fprintf(fn, "\n}\n\n");
+
+fclose(fn);