Write the function `periodic`

which takes as its input the vector `t`

, vector `c`

which contains the vector of coefficents ccc in the order as above, the integers `d_poly`

and `d_periodic`

corresponding to the order of the polynomial and periodic expansions, and the period `T`

, and returns the following:

I simply want to create a period function ( polynomial plus cosine and sine function ).

function poly_periodic(

t::AbstractVector,

c::AbstractVector,

d_poly::Integer,

d_periodic::Integer,

T::Number

)

```
m = length(t)
y = zeros(m)
# Step 1: Extact polynomial and periodic coefficients
c_poly = c[1:d_poly]
c_periodic = c[length(c_poly+1):end]
@assert length(c_periodic) == 2 * d_periodic "Number of periodic coeffs does not match 2 * d_periodic"
# Step 2: Compute the polynomial part
for i in 0:d_poly
y .+= c_poly[i+1]*t.^i
end
# Step 3: Compute the periodic part
for i in 1:d_periodic
y .+= c_periodic[2*i-1]*cos.(2*i*pi*t/T) # cosine term
y .+= c_periodic[2*i]*sin.(2*i*pi*t/T ) # sine term
end
return y
```

end

The error message is belowERROR: LoadError: MethodError: no method matching +(::Array{Float64,1}, ::Int64)

For element-wise addition, use broadcasting with dot syntax: array .+ scalar

Closest candidates are:

+(::Any, ::Any, !Matched::Any, !Matched::Any…) at operators.jl:538

+(!Matched::Complex{Bool}, ::Real) at complex.jl:301

+(!Matched::BigFloat, ::Union{Int16, Int32, Int64, Int8}) at mpfr.jl:378

…