Append apostrophe as a text in a function for a searching tool
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Fangjun Jiang
le 1 Avr 2022
Good reference! I was hoping to solve the issue by providing a simple example, not to have to mention "aphostrophe".
Réponse acceptée
Fangjun Jiang
le 1 Avr 2022
Modifié(e) : Fangjun Jiang
le 1 Avr 2022
Find a .mat file in your current folder and try this:
name='MyData.mat';
folder=pwd;
filename=fullfile(folder,name);
data=load(filename);
2 commentaires
Fangjun Jiang
le 1 Avr 2022
"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.
Plus de réponses (1)
Steven Lord
le 1 Avr 2022
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.)
Voir également
Catégories
En savoir plus sur Search Path dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!