Is it possible to assign variables to a script?
15 views (last 30 days)
Show older comments
I am running a script that uses the same notation for the equations, but one script is for the month of January and the other is for the month of May. Is there a way to keep the variables seperate if i was to run the scripts together to compare one against the other?
7 Comments
Walter Roberson
on 3 Aug 2019
Edited: Walter Roberson
on 4 Aug 2019
function [hour, Pout] = MyFunction(month)
... Appropriate code that assigns to hour and Pout
Then
[h1, p1] = MyFunction('Jan');
[h2, p2] = MyFunction('May');
plot(h1, p1, h2, p2)
Accepted Answer
Raunak Gupta
on 5 Aug 2019
In my understanding, you want to assign different names to the returning variables from the scripts even if the notation is same in the equation that are mentioned in the script.
You may try to assign different names to the variables inside you script using the filename as a differentiator. For getting current filename you can use mfilename in script. Then the variable names can be dynamically assigned using eval adding the filename string to the variable. But the suggested method is to use function in both the scripts and then assign different variable names inside your current workspace for plotting those variables as mentioned in the comments. In case there are huge number of scripts to be compared based on the same variables then It is suggested to use methods mentioned in below link.
% This way you can change the name of variables based on script name
% For example creating a output from script Pout with a random vector
Pout = [1;2;3;4;5;4;3;2;1];
% Following will create a new variable based on the script's name
eval(['Pout_',mfilename,'=','Pout']);
clear Pout;
For further information about not using the dynamical naming use this:
0 Comments
More Answers (0)
See Also
Categories
Find more on Whos 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!