# 4.13.jl # created on 2020-11-22 # $Id: 4.13.jl 1.1 2020/11/22 03:44:59 s Exp $ using Printf # input s_percent = [7.67, 8.27, 8.81, 9.31, 9.75, 10.16, 10.52, 10.85] x = [ 500, 900, 600, 500, 100, 100, 100, 50] p1 = 65.95 d1 = 7.07 p2 = 101.66 d2 = 3.80 # calculating s = s_percent ./ 100 n = length(x) t = 1:n a = (1 .+ s) .^ t df = 1 ./ a a2 = (1 .+ s) .^ (t .+ 1) df2 = 1 ./ a2 dfx = df .* x pv = sum(dfx) txdf2 = t .* x .* df2 sumtxdf2 = sum(txdf2) duration = sumtxdf2 / pv A = [p1 p2; p1 * d1 p2 * d2] b = [pv, pv * duration] x1, x2 = A \ b # output println("4.13.jl") @printf("%10s%10s%10s%10s%10s%10s\n", "t", "s", "df", "x", "dfx", "txdf2") keisen = "-" ^ 60 println(keisen) for i = 1:n @printf("%10i%10.4f%10.4f%10.0f%10.2f%10.2f\n", t[i], s[i], df[i], x[i], dfx[i], txdf2[i]) end println(keisen) @printf("%40s%3s%7.2f%10.2f\n", "","PV=", pv, sumtxdf2) println(keisen) @printf("%50s%5s%5.2f\n", "", "D=", duration) println("p1= ", p1) println("p2= ", p2) println("d1= ", d1) println("d2= ", d2) println("Ax = b") println("A ", round.(A; digits = 0)) println("b ", round.(b; digits = 0)) println("x1= ", round(x1; digits = 2)) println("x2= ", round(x2; digits = 2)) # eof