Hello all,
I'm trying to create multiple matrices as follows possibly using linspace:
x = [111;111;111]
x = [222;222;222]
x = [333;333;333]
and so on.
I would then use these matrices as a constant in matrix multiplication in an equation.
The reason would be so I don't have to create 100 matrices manually.
Would this be possible without a loop?
Thanks in advance!

댓글 수: 2

Stephen23
Stephen23 2020년 10월 17일
편집: Stephen23 2020년 10월 17일
"Would this be possible without a loop?"
One simple and efficient MATLAB approach:
M = [111;111;111].*(1:9)
And then you can trivially access the columns using basic indexing. Hopefully you are not intending to create 100 separate variables in the workspace, which would be about the worst approach for this task: https://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval
Mike Jane
Mike Jane 2020년 10월 17일
Thank you for the reference material I will definitely look into this since I was already creating quite a few variables making the code slow. Much appreciated!

댓글을 달려면 로그인하십시오.

 채택된 답변

Ameer Hamza
Ameer Hamza 2020년 10월 17일

0 개 추천

Why do you need linspace for this? You can just create such matrices like this
a = [111; 111; 111];
for i = 1:9
x = a*i;
disp(x)
end

댓글 수: 2

Mike Jane
Mike Jane 2020년 10월 17일
편집: Mike Jane 2020년 10월 17일
Ok awesome! This did the trick. Thank you!
Ameer Hamza
Ameer Hamza 2020년 10월 18일
I am glad to be of help!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

질문:

2020년 10월 17일

댓글:

2020년 10월 18일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by