diff options
author | Nicolas Tobler <nicolas.tobler@ost.ch> | 2022-05-30 00:06:46 +0200 |
---|---|---|
committer | Nicolas Tobler <nicolas.tobler@ost.ch> | 2022-05-30 00:06:46 +0200 |
commit | 65a3fc106c36dfd1750f8caf8b3d1b5fb0fe71f9 (patch) | |
tree | 30791dc17973690a6d761589de357c452ba9fa29 /buch/papers/dreieck/images/betadist.m | |
parent | Added content, presentation (diff) | |
parent | beispiel korrektur (diff) | |
download | SeminarSpezielleFunktionen-65a3fc106c36dfd1750f8caf8b3d1b5fb0fe71f9.tar.gz SeminarSpezielleFunktionen-65a3fc106c36dfd1750f8caf8b3d1b5fb0fe71f9.zip |
Merge branch 'master' of https://github.com/AndreasFMueller/SeminarSpezielleFunktionen
Diffstat (limited to '')
-rw-r--r-- | buch/papers/dreieck/images/betadist.m | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/buch/papers/dreieck/images/betadist.m b/buch/papers/dreieck/images/betadist.m new file mode 100644 index 0000000..5b466a6 --- /dev/null +++ b/buch/papers/dreieck/images/betadist.m @@ -0,0 +1,58 @@ +# +# betadist.m +# +# (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +global N; +N = 201; +global nmin; +global nmax; +nmin = -4; +nmax = 7; +n = nmax - nmin + 1 +A = 3; + +t = (nmin:nmax) / nmax; +alpha = 1 + A * t .* abs(t) +#alpha(1) = 0.01; + +#alpha = [ 1, 1.03, 1.05, 1.1, 1.25, 1.5, 2, 2.5, 3, 4, 5 ]; +beta = alpha; +names = [ "one"; "two"; "three"; "four"; "five"; "six"; "seven"; "eight"; + "nine"; "ten"; "eleven"; "twelve" ] + +function retval = Beta(a, b, x) + retval = x^(a-1) * (1-x)^(b-1) / beta(a, b); + if (retval > 100) + retval = 100 + end +end + +function plotbeta(fn, a, b, name) + global N; + fprintf(fn, "\\def\\beta%s{\n", strtrim(name)); + fprintf(fn, "\t({%.4f*\\dx},{%.4f*\\dy})", 0, Beta(a, b, 0)); + for x = (1:N-1)/(N-1) + X = (1-cos(pi * x))/2; + fprintf(fn, "\n\t--({%.4f*\\dx},{%.4f*\\dy})", + X, Beta(a, b, X)); + end + fprintf(fn, "\n}\n"); +end + +fn = fopen("betapaths.tex", "w"); + +for i = (1:n) + fprintf(fn, "\\def\\alpha%s{%f}\n", strtrim(names(i,:)), alpha(i)); + fprintf(fn, "\\def\\beta%s{%f}\n", strtrim(names(i,:)), beta(i)); +end + +for i = (1:n) + for j = (1:n) + printf("working on %d,%d:\n", i, j); + plotbeta(fn, alpha(i), beta(j), + char(['a' + i - 1, 'a' + j - 1])); + end +end + +fclose(fn); |