Use for loop to get i:i+1 columns

Viewed 63

I want to use for loop so I can get the result for i:i+1 columns at each iteration. E.g: when i= 1, I get 1st & 2nd cols, i= 2 , 3rd and 4th cols.

m= [2 -3;4 6]
al= [1 3;-2 -4]
l=[1 0; 2 4]
Random.seed!(1234)
d= [rand(2:20, 10)  rand(-1:10, 10)]
Random.seed!(1234)
c= [rand(0:30, 10)  rand(-1:20, 10)]
n,g=size(w)
mx=zeros(n,2*g)  
for i =1:g 
 mx[ : ,i:i+1] = m[:,i]' .+ (d[:,i]' .* al[:,i])' .+  (l[:,i]' .* c[:,i]) 
end
return mx

I got the following which is wrong when I compared it with doing the process manually

julia>  mx
10×4 Array{Float64,2}:
  8.0  -6.0  10.0  0.0
 22.0   3.0  18.0  0.0
 40.0  18.0  38.0  0.0
  9.0   9.0  22.0  0.0
 51.0   3.0  18.0  0.0
 10.0  18.0  34.0  0.0
 52.0  12.0  30.0  0.0
 36.0  21.0  42.0  0.0
 44.0  24.0  42.0  0.0
 33.0  24.0  42.0  0.0

The first 2 cols and last 2 cols in mx should be matched the results here with same order

mx1_2=m[:,1]' .+ (d[:,1]' .* al[:,1])' .+  (l[:,1]' .* c[:,1])                         
mx2_4=m[:,2]' .+ (d[:,2]' .* al[:,2])' .+  (l[:,2]' .* c[:,2]) 
0 Answers
Related