how to convert table to matrix?
이전 댓글 표시
for minimization process Boolean function by using binary decision diagram.
채택된 답변
추가 답변 (4개)
FAS
2018년 11월 20일
17 개 추천
Suppose your table is X.
X = X{:,:}
댓글 수: 3
JoshT_student
2022년 12월 2일
Best answer.
Walter Roberson
2022년 12월 2일
Same as the second solution that I had posted 8 months earlier...
Jacob Conrad
2023년 3월 15일
dont be a jerk walter
MathWorks Support Team
2020년 9월 2일
편집: MathWorks Support Team
2020년 9월 2일
1 개 추천
As an alternative, you can convert a table to an array by using the syntax “T{:,:}”, where “T” is the table. This syntax is the equivalent of “table2array”.
All variables in the table must have sizes and data types that allow them to be horizontally concatenated. For example, if all variables in “T” are numeric, then “table2array” returns a numeric array.
댓글 수: 2
Arsalan Aftab Sayed
2020년 12월 16일
I tried both table2array and “T{:,:}” but it changes the values inside the table from 0.7 to 1. Is there a way I can keep the original values, I tried using double datatype but it doesn't work
Walter Roberson
2020년 12월 16일
table2array() converting 0.7 to 1 could happen if the table is mixed data type including at least one integer data type such as uint8 . Please check
unique( varfun(@class, T, 'outputformat', 'cell') )
Another alternative to convert table to matrix is to use a syntax: M=T.Var, e.g.
T = table(magic(5))
M=T.Var1
댓글 수: 6
Walter Roberson
2021년 8월 4일
This depends upon there being only a single variable in the table. That is possible, but not the most common arrangement.
Yes, it works for multiple variables as well, but it becomes painstakingly heavy for such cases, e.g.:
T = array2table(magic(5), 'VariableNames', {'Var1','Var2','Var3','Var4','Var5'})
M = [T.Var1, T.Var2, T.Var3, T.Var4, T.Var5]
Walter Roberson
2021년 8월 4일
At that point, table2array() or using {:,:} indexing becomes a lot more convenient.
Sulaymon Eshkabilov
2021년 8월 4일
Yes, indeed.
David Alejandro Ramirez Cajigas
2021년 8월 18일
What can I do if I have N var, with random names, inside a table that imports from excel, this table can vary.
that is, the method of putting T. "name var" is not possible if I have N quantity of varials with N different names
Walter Roberson
2021년 8월 18일
You can use variable indexes if the indexes are constant.
If the variable order is not constant, then you can take T.Properties.VariableNames and extract whatever subset of those you want and sort them in whatever you want. Then you can loop doing dynamic field names.
Example, selecting variables that start with "run"
names = T.Properties.VariableNames;
runvars = sort(names(startsWith(names, 'run')));
nrun = length(runvars);
for varidx = 1 : nrun
thisvarname = runvars{varidx};
thiscontent = T.(thisvarname);
stuff here
end
Sulaymon Eshkabilov
2021년 8월 18일
T_mat=table2array(T);
카테고리
도움말 센터 및 File Exchange에서 Data Type Conversion에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!