Also I was wondering if there was a way to get the script to run operations in batches for example I need to use my fucntion on various files and run it through the night so I want to write a macro that can tell me prgram to switch files after the results have been obtained.
Macros in Matlab - repeating simple instructions
90 views (last 30 days)
Show older comments
Hi there,
I have read on some websites that writing macros for Matlab is not advisable? I am trying to write several as I am about to be embarking on the same process for a number of different data sets. twenty five to be exact. I would like to do simple things like write macro to call my data set put it through two or three functions that I have written and then save the results in a particular place. Is that possible? Is there any good literature I can get on the topic?
2 Comments
Iain
on 18 Feb 2014
It kinda depends what you mean by "macro". VB macros can be functions or subs, but you can access them like shortcuts.
Accepted Answer
Iain
on 18 Feb 2014
Step 1: Write a "function" that takes as input, an argument for filename in, and filename out, opens & reads your input file, does the operations to it, and saves the output in the desired output filename.
Step 2: Write a script that feeds the appropriate input & output filenames to that function.
Step 3: Run the script.
Eg, file1, called "fred.m"
function fred(in,out)
x = load(in); % or importdata or csvread or xlsread or whatever your reading function is.
y = sin(x);
save(out,'y')
file 2: called "process_it_all"
in = {'file1.mat','file2.mat'};
out = {'wibble','wobble'};
for i = 1:numel(in)
fred(in{i},out{i})
end
More Answers (2)
Walter Roberson
on 18 Feb 2014
For something like that you would likely be better off writing functions.
But yes, you can write scripts. scripts run in the context of the current workspace.
1 Comment
covariant_cat
on 6 Jun 2018
How do you deal with import? Neither another function nor another script can import packages for a function.
See Also
Categories
Find more on File Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!