## Least squares with syntax explained.
using Plots
plot(randn(5), randn(5))
##
using Random
Random.seed!(0)
n = 5000
x = round.(range(1, 5.5, length=n) .+ 5.0*(2*rand(n).-1),digits=2)
y = round.(5*x.+1 .+ 3*(2*rand(n).-1), digits=2)
scatter(x,y, legend=false)
xlabel!("x")
ylabel!("y")
## We work out why this is the right matrix to use in the notes
A = [ones(n) x]
b = y
c = A\b # this solves a linear system or least squares problem
# it solve a linear system if A is square
# or it's least squares if A is not square
2-element Vector{Float64}:
1.0177060382730165
4.992531862834267
## Let's show an example of broad casting
function cs515fun(x)
return x^2 + 2x + 1
end
cs515fun.(x)
5000-element Vector{Float64}:
2.4025
6.150399999999999
22.467600000000004
41.0881
7.290000000000001
19.980900000000002
19.980900000000002
45.832899999999995
0.09000000000000008
13.9129
3.9601000000000006
0.47609999999999975
11.0224
⋮
15.21
69.8896
93.31559999999999
21.529600000000002
87.98440000000002
9.3636
78.8544
6.7081
40.32249999999999
20.1601
87.4225
106.09