How do I make variables that I enter in a script to apply to a second script without need to run or open the second one?

조회 수: 1 (최근 30일)
Hi,
I would like to enter variables in a VARIABLE_script.m
and once I run this variable_script.m it should
a) write the values in a MAIN_script.m
b) run the MAIN_script.m automatically.
The key intention is to avoid opening the MAIN_script.m
and by entering many variables makes fatal changes in
undesired positions.
The idea with a VARIABLE_script.m should fix this problem.
Below I give a small example to illustrate the problem:
Let the MAIN_SCRIPT.m contain the following commands:
k=1;
l=1;
m=15;
alpha=2;
n=alpha*k;
o=alpha*l;
p=alpha*m;
N=[k:l:m;n:o:p];
M=N';
In the VARIABLE_script.m I would like to enter ONLY the values of
k, l, m and alpha.
Then I need to write some command lines (THIS IS THE QUESTION!!!)
indicating in which script the variable should be written and
and by running VARIABLE_script.m
the Main_script would automatically adsorb the values,
execute the functions and give the output the output (for this very
particular case):
1 2
2 4
3 6
4 8
5 10
6 12
7 14
8 16
9 18
10 20
11 22
12 24
13 26
14 28
15 30
I hope someone can help me with this issue.
Thanks a lot for your attention
Emerson

채택된 답변

Walter Roberson
Walter Roberson 2011년 4월 15일
Also, in your main script, as long as it remains a script (and not a function), you could code
if ~exist('alpha','variable'); alpha=2; end
and so on for the other variables. Then any variable that already has a value will not have that value overwritten by the main script.

추가 답변 (1개)

Friedrich
Friedrich 2011년 4월 15일
Hi Emerson,
I think the easiest way is to use a function, because they are designed to do this.
function [n, o, p, N, M] = my_func(k,l,m,alpha)
n=alpha*k;
o=alpha*l;
p=alpha*m;
N=[k:l:m;n:o:p];
M=N';
end
And you call it through
[a b c d e] = my_func(1,1,15,2)
Friedrich

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by