MATLAB Answers

0

create a new matrix from a vector

Elysi Cochin さんによって質問されました 2019 年 3 月 13 日
最新アクティビティ madhan ravi
さんによって コメントされました 2019 年 3 月 13 日
create a new matrix from
v = [1 1 1 2 2 2 3 3 4];
u=unique(v);
R=arrayfun(@(x)v==u(x),1:numel(u),'un',0);
M=+vertcat(R{:})
what if my matrix is
newV = [1; 1; 1; 2; 2; 2; 3; 3; 4];
what is the change i need to make without transposing the vector newv, to get the output M with newV
i used horzcat, but still without transposing, i'm not able to get result as M

  3 件のコメント

madhan ravi
2019 年 3 月 13 日
Why do you think transpose() should not be used?
Elysi Cochin 2019 年 3 月 13 日
My data was in that form, so, i was asking if i could do it directly.
KSSV
2019 年 3 月 13 日
It works with newV also....you need not to change any part of code.

サインイン to comment.

タグ

1 件の回答

madhan ravi
回答者: madhan ravi
2019 年 3 月 13 日
 採用された回答

R=arrayfun(@(x)reshape(newV,1,[])==u(x),1:numel(u),'un',0);

  1 件のコメント

madhan ravi
2019 年 3 月 13 日
Alternative:
+(reshape(newV,1,[])==unique(newV))

サインイン to comment.



Translated by