Info
Cette question est clôturée. Rouvrir pour modifier ou répondre.
How to write a double or three number array to a .m file and then retrieve it again?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am currently working on a simulator and i need to be able to change an array like the one shown.
=[80.0081 79.6250 79.6392]; %Ampere*hours
I will be changing this number from a GUI executing a .dll(simulator realtime)
the array resides in a .m file so i guess i have to use to/from workspace or something like that but i am strugling to get it right. I have tried to figure it out from the learning pages but something isnt right.
Does anyone have enough knowledge to tell me how i am supposed to do this in a step by step easy way?
The original file i am working with is the lithium battery demo here at matlab.
0 commentaires
Réponses (1)
James Garritano
le 13 Avr 2015
Modifié(e) : James Garritano
le 13 Avr 2015
You should use save.
To save the array:
fileName = 'CurrentConstants';
dataLocation = 'C:\Projects'
filePath = fullfile(dataLocation,fileName);
currentVals=[80.0081 79.6250 79.6392];
save(filePath,'currentVals')
To use the array
fileName = 'CurrentConstants';
dataLocation = 'C:\Projects'
filePath = fullfile(dataLocation,fileName);
loadedVal=load(filePath);
currentVals = loadedVal.currentVals;
Change "fileName" to the name of the file you'd like to save. Change "dataLocation" to the directory you'd like to save your array.
Explanation:
save let's you save variables in your workspace to a file. If you call save without any arguments, it'll save your entire workspace to a fill named "matlab.mat." If you call it with one argument (a string), it'll save your workspace to a file with that string's name (along with ".mat"). If you call it with two arguments (like in the example above), it'll use the first argument as the output file's name, and put into that file variable specified by the second argument.
fullfile is a way of building a file's path that works regardless of the operating system you're using. You could have hard coded the entire path (e.g., "C:\Projects\CurrentConstants") and that would have worked.
load imports the data into the workspace if you don't have a right hand side equals. (e.g., "load('example.mat')" loads all the data from example into the workspace). This would be dangerous as it could overwrite variables. loadedVal = load('Example') puts the data inside "loadedVal," which is safer.
1 commentaire
Cette question est clôturée.
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!