Я хочу выполнить операцию только для некоторых элементов массива в Julia. Новое на языке и не уверен, что делать. Это мой маленький тест игрушка:Измените некоторые элементы массива с помощью маски в Julia
myarray = ones(5)
mymask = [true; false; false; false; true;]
myarray = myarray[mymask] * 2
Третья строка не является правильным, выход:
2-element Array{Float64,1}:
2.0
2.0
То, что я хочу, чтобы это:
5-element Array{Float64,1}:
2.0
1.0
1.0
1.0
2.0
Я особенно заинтересованы в наиболее эффективном способе сделать это, потому что фактические массивы, с которыми я работаю, могут быть довольно большими. Благодаря!
О, хорошо. Так что я хочу сделать в этом примере: 'myarray [mymask] = myarray [mymask] * 2'. Благодаря! –
@BenS: вам не нужно повторять 'myarray [mymask]', поэтому я дал пример '* = 3'. – DSM