How to assign values to an array with broadcasting
85 次查看(过去 30 天)
显示 更早的评论
Is there any way to do broadcasting while assigning values to an array?
I know how to broadcast a computation:
G = zeros(3)
G + [1 2 3]
ans =
1 2 3
1 2 3
1 2 3
But I want to assign the above values to G directly:
G(:,:) = [1 2 3]
Unable to perform assignment because the size of the left side is 3-by-3 and the size of the right side is 1-by-3.
I know how to broadcast a simple scalar value:
G(:) = 1
G =
1 1 1
1 1 1
1 1 1
And I realise I could do this instead:
G(:,:) = repmat([1 2 3], 3, 1)
G =
1 2 3
1 2 3
1 2 3
But I wondered if there is a simpler way to assign a vector of values to all the rows using automatic broadcasting.
0 个评论
采纳的回答
madhan ravi
2020-7-28
编辑:madhan ravi
2020-7-28
Your way of using repmat() is the easiest way.
9 个评论
AB WAHEED LONE
2021-3-8
For any dimension matrix,you can do
X=repmat(fading,20,1)
where fading is a matrix of any size. For me it was fading coefficient matrix
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!