Info
此问题已关闭。 请重新打开它进行编辑或回答。
How to write a double or three number array to a .m file and then retrieve it again?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
James Garritano
2015-4-13
编辑:James Garritano
2015-4-13
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 个评论
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!