How to create table with existing arrays?
317 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
N=[1,3,4,7,9,12,13,16,19,21];
i=(1:10);
Q= sqrt(N(i)*3);
CI=1./(6*(Q.^-4));
CIinDB=10*log10(CI);
t=[N',Q',CI',CIinDB']
This is the code that I have written.I want the existing arrays to be made into a table where I can add column name.And the values should be converted in integers.
0 commentaires
Réponses (2)
Adam Danz
le 30 Juil 2018
Modifié(e) : Adam Danz
le 30 Juil 2018
Here's how to put your variables into a table with column names.
table(N',Q',CI',CIinDB', 'VariableNames', {'N' 'Q' 'CI' 'CIinDB'})
"Convert them to integers" - use round() for each variable above or use your 't' variable as shown below.
array2table(round(t), 'VariableNames', {'N' 'Q' 'CI' 'CIinDB'})
0 commentaires
Guillaume
le 30 Juil 2018
I don't understand the difficulty you're facing. What's wrong with just using table to create the table directly from your variables, or array2table if you really want to go through the matrix?
N = N'; Q = Q'; Cl = Cl'; ClinDB = ClinDB'; %of course if you created N as a column vector you would not need to transpose anything
yourtable = table(N, Q, Cl, ClinDB);
or
yourtable = array2table(t, 'VariableNames', {'N', 'Q', 'Cl', 'ClinDB'});
It's all very well documented.
Note that, in
%N = a_vector_with_10_elements;
i = (1:10) %parentheses completely redundant. It's the same as i = 1:10
Q = sqrt(N(i)*3)
the little trip through i is a complete waste of time.
Q = sqrt(N)*3)
does exactly the same.
0 commentaires
Voir également
Catégories
En savoir plus sur Tables dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!