Append apostrophe as a text in a function for a searching tool
조회 수: 4 (최근 30일)
이전 댓글 표시
I want to write a function to search through a pool of data of thousands of mat files that are named in a speceific way (based on the input variables) now i want to search through those mat files that are in a folder, the search will be based on the input parameters which is the name of the file.
sample of file name is : K1 d1 D10 V10 S15 t1 C0.5 T0.8.mat
the code i wrote for this is
function [Load] =srch(Adress,Max_K,dist_step,Max_Len,Max_V,Sim_time,time_step,C0,TAU)
Name=append('K',mat2str(pMax),' ','d',mat2str(dx),' ','D',mat2str(xMax),' ','V',mat2str(vMax),' ','S',mat2str(tMax),' ','t',mat2str(dt),' ','C',mat2str(c0),' ','T',mat2str(tau),'.mat')
a="'"
b="'"
Load = load(append(a,Adress,'\',Name,b))
end
the native load function of matlab requires aphostrophe at the start and end of the filename and adress and i am not bieng able to incorporate the aphostrophe in my code.
댓글 수: 3
Fangjun Jiang
2022년 4월 1일
Good reference! I was hoping to solve the issue by providing a simple example, not to have to mention "aphostrophe".
채택된 답변
Fangjun Jiang
2022년 4월 1일
편집: Fangjun Jiang
2022년 4월 1일
Find a .mat file in your current folder and try this:
name='MyData.mat';
folder=pwd;
filename=fullfile(folder,name);
data=load(filename);
댓글 수: 2
Fangjun Jiang
2022년 4월 1일
"data=load(filename)" will put all the data contained in the .mat to the variable "data" as a structure;
You can use "load(filename)" in your m-file. It will be the same as typing "load(filename)" in the Command Window.
추가 답변 (1개)
Steven Lord
2022년 4월 1일
Instead of calling mat2str repeatedly I'd use the + operator for string arrays to build up the filename.
x = 1;
y = 2;
z = 3;
filename = "Article" + x + "_Section" + y + "_Line" + z + ".txt"
I would also recommend using fullfile to combine the directory path and file name together rather than concatenating with '\' yourself. What if you were running on a Linux machine, like the machinery used by MATLAB Answers to run code?
theFullPath = fullfile(matlabroot, "another_part_of_file_path", filename)
You could call load(theFullPath) in MATLAB (if that file existed, but this particular file does not so I won't call load.)
참고 항목
카테고리
Help Center 및 File Exchange에서 Search Path에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!