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

KSSV
KSSV 2022년 3월 16일
Convert where? You want to write it into a text file?
Mohamed Ahmed
Mohamed Ahmed 2022년 3월 16일
yes using fprintf

댓글을 달려면 로그인하십시오.

 채택된 답변

KSSV
KSSV 2022년 3월 16일

0 개 추천

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

댓글 수: 15

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 2022년 3월 16일
편집: Mohamed Ahmed 2022년 3월 16일
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 2022년 3월 16일
It will display the numbers (integers) in X.
Mohamed Ahmed
Mohamed Ahmed 2022년 3월 16일
Ok, but how can I make it display the numbers as they are not only integers ?
KSSV
KSSV 2022년 3월 16일
Repalce %d with %f.
Mohamed Ahmed
Mohamed Ahmed 2022년 3월 16일
편집: Mohamed Ahmed 2022년 3월 16일
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 2022년 3월 16일
Also consider mat2str()
Mohamed Ahmed
Mohamed Ahmed 2022년 3월 16일
It still providing the same output (values from 1 to 8)
KSSV
KSSV 2022년 3월 16일
That means you have not changed x. Show us you full code.
Mohamed Ahmed
Mohamed Ahmed 2022년 3월 16일
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 2022년 3월 16일
yess, this one worked.
Thank you!!!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Data Type Conversion에 대해 자세히 알아보기

질문:

2022년 3월 16일

댓글:

2022년 3월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by