Using Eval function with string inside it?
27 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Jonathan
am 9 Okt. 2011
Bearbeitet: Stephen23
am 19 Jun. 2019
Hi,
I use a lot of eval functions to run the same calculation on multiple files with similarly formatted names, and come across the following problem frequently:
for ii=1:4
var1=char(GLOBALS.Meta{ii,1});
eval([var1 '.APO_detr_Grid=griddata(' var1 '.SO_APO_detr(:,1),' var1 '.SO_APO_detr(:,2),' var1 '.SO_APO_detr(:,3),GLOBALS.XI,GLOBALS.YI, 'cubic');']);
end
clear ii var1;
Here, I'm trying to run multiple instances of the griddata function with a cubic interpolation, but because 'cubic' needs to be in quotes, it messes up the formatting of the eval function which used quotes to distinguish variables from the strings it's concatenating.
Is there such a thing as a character that suppresses the meaning of formatting symbols in this sort of case? Something like a & or $ or #? Or is there another way to do this? Or do I just have to work around the issue? For quick iterations this isn't a problem, but for larger datasets this becomes tedious writing every instance out individually.
Thanks!
Jonathan
1 Kommentar
Akzeptierte Antwort
Walter Roberson
am 9 Okt. 2011
But to answer your question: to get a ' in a string, code two of them in a row, such as
',''cubic'');'
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Variables finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!