how can I edit a matrix and rename it at the same time?

10 ビュー (過去 30 日間)
Matthew Perry
Matthew Perry 2019 年 11 月 25 日
コメント済み: Matthew Perry 2019 年 11 月 25 日
I start with a random matrix and edit the 8th column to new numbers and then rename it. what I thought was this:
my_matrix = rand(4,9)
my_matrix(:,8) = [2;4;6;1]
edited_matrix = my_matrix
however, I want to rename and edit the matrix in one go so at the end of the script, I have two matrices...
Almost like this (but this doesnt work)
my_matrix = rand(4,9)
edited_matrix = [my_matrix(:,8) = [2;4;6;1]]
so at the end I have two variables, my_matrix and edited_matrix that are different and can be reffered to separately


Guillaume 2019 年 11 月 25 日
編集済み: Guillaume 2019 年 11 月 25 日
Sorry, you're better off doing it in two lines. You want to copy the matrix into the new variable before changing it so:
edited_matrix = my_matrix;
edited_matrix(:, 8) = [2 4 6 1];
If you really want to do it in just one line, you could do:
edited_matrix = [my_matrix(:, 1:7), [2;4;6;1], my_matrix(:, 9:end)];
but it's actually less readable and probably slower to execute.

その他の回答 (1 件)

Thorsten 2019 年 11 月 25 日
You can do it like this:
my_matrix = rand(4,9);
edited_matrix = my_matrix;
edited_matrix(:,8) = [2;4;6;1];
  1 件のコメント
Matthew Perry
Matthew Perry 2019 年 11 月 25 日
thanks for that, really helpful!



Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by