How to generate a set of variables with increasing numbers related to the indices of another array?
1 次查看(过去 30 天)
显示 更早的评论
Given:
x=[3 1 2]
y=[1 1 1]
Is there a way to generate some code to do something like this in MatLab?
x1=y.*x(1)
x2=y.*x(2)
x3=y.*x(3)
where we generate a new variable with a numerical value that correspond to the indices of the array used in the operation?
So the answer should be:
x1=3 3 3
x2=1 1 1
x3=2 2 2
I hope it is clear enough!
Thank you!
1 个评论
madhan ravi
2019-8-22
Seba.V interesting you show the expected result as one and you acknowledge the result which is completely the other way around.
采纳的回答
Star Strider
2019-8-22
编辑:Star Strider
2019-8-22
You can do that more easily with simple matrix-vector multiplication:
z = y(:)*x
producing:
z =
1 1 1
2 2 2
3 3 3
and if you absolutely must create separate vectors for them from ‘z’ (although this is not considered to be efficient programming practice), that is straightforward:
x1 = z(1,:)
x2 = z(2,:)
x3 = z(3,:)
x1 =
1 1 1
x2 =
2 2 2
x3 =
3 3 3
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!