Making a filename into a variable
이전 댓글 표시
I have a script where I load in some data with a function. "function MyScript('file1.dat','file2.dat','file3.dat')"
I do some calculations so I have the two numbers I want in a vector X. Now I want Matlab to write:
"Calculated file2 = X(1)"
"Calculated file3 = X(2)"
with the filename as text, and showing the value of X.
댓글 수: 3
Jan
2016년 11월 15일
The question is not clear: "function MyScript(file1.dat,file2.dat,file3.dat)" is not valid Matlab-syntax. Do you mean
function MyScript(file1, file2, file3)
which is called as:
MyScript('file1.dat', 'file2.dat', 'file3.dat')
? Where should "Calculated file2 = X(1)" appear, when you want to "write" it? and which filename should appear as "text"?
Please edit your question and do not post the important details as a comment. Thanks.
Alexander Kjærsgaard
2016년 11월 15일
편집: Alexander Kjærsgaard
2016년 11월 15일
Adam
2016년 11월 15일
You can't have spaces in variable names and it is not advisable to name variables sequentially after files or other numbered inputs.
An array works far better.
doc sprintf
should be used to print things out to the screen too. Variable names are internal to a function, they should certainly have names that make sense to the programmer, but they shouldn't ever require to be exposed to an external user of the function. Using sprintf you can put together text on the screen saying whatever you want, without being constrained trying to name variables to achieve it.
답변 (1개)
Image Analyst
2016년 11월 15일
You cannot have the function declaration line be this:
function MyScript(file1.dat,file2.dat,file3.dat)
The .dats are not allowed. And MyScript is a bad name for a function since it's a function and not a script. You can do this
function MyFunction(file1, file2, file3)
Inside that function you can compute X and print it out to the command window like this:
fprintf('Calculated %s = %f\n', file2, X(1));
fprintf('Calculated %s = %f\n', file3, X(2));
카테고리
도움말 센터 및 File Exchange에서 Whos에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!