How to put these values into one array ?

I have this vector X which is equal to
X =
Columns 1 through 8
1 2 3 4 5 6 7 8
I want to convert it into this format
X =
1, 2, 3, 4, 5, 6, 7, 8
How can I achieve this ?

2 commentaires

KSSV
KSSV le 16 Mar 2022
Convert where? You want to write it into a text file?
Mohamed Ahmed
Mohamed Ahmed le 16 Mar 2022
yes using fprintf

Connectez-vous pour commenter.

 Réponse acceptée

x = 1:8 ;
f = [repmat('%d,',1,length(x)-1),'%d\n'] ;
fprintf(f,x)
1,2,3,4,5,6,7,8

15 commentaires

How can I apply it into this code below ?
X = 1:length(X);
f = [repmat('%d,',1,length(X)-1),'%d\n'] ;
fprintf(fid,'frequency points = "f"',X);
x = 1:8 ;
f = [repmat('%d,',1,length(x)-1),'%d\n'] ;
fprintf(['frequency points = ',f],x)
frequency points = 1,2,3,4,5,6,7,8
XC = 1:length(X);
f = [repmat('%d,',1,length(XC)-1),'%d'] ;
fprintf(fid, ['frequency points = "', f, '"\n'], XC);
Mohamed Ahmed
Mohamed Ahmed le 16 Mar 2022
Modifié(e) : Mohamed Ahmed le 16 Mar 2022
Does this funtion display the numbers in X or it just the values from 1 to 8 ?
X = 1:length(X);
f = [repmat('%d,',1,length(X)-1),'%d\n'] ;
fprintf(fid,['frequency points = "',f,'";'],X);
KSSV
KSSV le 16 Mar 2022
It will display the numbers (integers) in X.
Mohamed Ahmed
Mohamed Ahmed le 16 Mar 2022
Ok, but how can I make it display the numbers as they are not only integers ?
KSSV
KSSV le 16 Mar 2022
Repalce %d with %f.
Mohamed Ahmed
Mohamed Ahmed le 16 Mar 2022
Modifié(e) : Mohamed Ahmed le 16 Mar 2022
when I tried it the output was just the numbers from 1 to 8, and it doesn't if I change X values.
These are the X values I want:
1.0000 1.0608 1.1253 1.1938 1.2664 1.3434 1.4251 1.5118 1.6037 1.7013
f = [repmat('%.4f,',1,length(X)-1),'%d'] ;
fprintf(fid, ['frequency points = "', f, '"\n'], X);
Walter Roberson
Walter Roberson le 16 Mar 2022
Also consider mat2str()
Mohamed Ahmed
Mohamed Ahmed le 16 Mar 2022
It still providing the same output (values from 1 to 8)
KSSV
KSSV le 16 Mar 2022
That means you have not changed x. Show us you full code.
Mohamed Ahmed
Mohamed Ahmed le 16 Mar 2022
x = logspace(log10(1),log10(10),10);
x = 1:length(x);
f = [repmat('%.4f,',1,length(x)-1),'%.4f'] ;
fprintf(fid,['frequency points = "', f,'";'],x);
x = logspace(log10(1),log10(10),10);
f = [repmat('%.4f,',1,length(x)-1),'%.4f'] ;
fprintf(fid,['frequency points = "', f,'";'],x);
Mohamed Ahmed
Mohamed Ahmed le 16 Mar 2022
yess, this one worked.
Thank you!!!

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