Hello
I want to create an empty matrix of unknown rows and known columns, then run a loop and assign values to it iteratively. So for example, my code should be something like-
result=zeros(10,3);
for i=1:10
num=1;file=i;
result(i,1)=strcat(num,'_',file);
result(i,2)=tp; % result of some calculation
result(i,3)=delay; % result of another calculation;
end;
Matrices in matlab cannot have both string and numeric types, so how do I proceed doing this?
Thanks in advance!

 Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 17 Juil 2016
Modifié(e) : Azzi Abdelmalek le 17 Juil 2016

1 vote

You can use cell arrays
A={1 2 'abc' 'efg' [1 2;3 4] [] ''}
Remarque: result=zeros(10,3); is not an empty matrix. With cell arrays you cen write:
result=cell(10,3)
for i=1:10
num=1;
file=i;
result{i,1}=sprintf('%d_%d',num,file);
tp=rand;
delay=rand;
result{i,2}=tp; % result of some calculation
result{i,3}=delay; % result of another calculation;
end;
result

2 commentaires

I ran the above code with one modification- result=cell(10,3); It gives me the following error-
Conversion to cell from char is not possible.
Mridul Garg
Mridul Garg le 17 Juil 2016
Sorry, my bad. I had to change the parenthesis. The problem is fixed now.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by