How to run m-files(main function is variable) with Matlab code?
12 views (last 30 days)
Show older comments
The values of variable have been got by excel file. And also known the name of m-file for the main function. I want to call this main function with variable or others instead of type the function name directly.
for example
below inputs already defined.
a1=1;
a2=2;
a3=5;
b1=6;
b2=9;
...
Question is how to run the m-file with above inputs value? i try to use
run myfun
but error happen due to variable a1, a2, ...b2 don't be assigned with above values.
I know we can use below comen code. but it is not what I want because there are many different m-file. I want to make a general coe to replace below code. I don't want to copy below code flow and past it every time for too many m-file.
[x1,x2,x3]=myfun(a1 a2 a3 b1 b2 )
below function is defined in myfun.m
function [x1,x2,x3]=myfun(a1 a2 a3 b1 b2 )
x1=a1+a2,
x2=a3+a2;
x3=b1+b2+b3;
end
3 Comments
Rik
on 19 May 2020
It looks to me like your numbered variables should be arrays instead. Otherwise you would have to do something useful with 30k input variables. That isn't impossible, but it is not likely to be what you need.
Accepted Answer
Ameer Hamza
on 19 May 2020
Edited: Ameer Hamza
on 19 May 2020
You can use the cell array to expand the input arguments automatically. For example
argument_input1=5;
argument_input2=6;
...
argument_input30003=9;
Input_parameter={5 6 .. 9} % cell array
Call the function like this
S=myfun(Input_parameter{:})
0 Comments
More Answers (0)
See Also
Categories
Find more on Language Fundamentals 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!