Defining vectors in MATLAB

6 views (last 30 days)
Annalise
Annalise on 28 Feb 2015
Commented: Star Strider on 28 Feb 2015
Hopefully this is understandable...
I'm writing a function that requires two variables to be entered, M1 and M2. And defined it in a way such that M = [M1 M2] within the function. The equation required requires the use of M1 and M2.
So on my m-file page, is it possible to say that M = [3 4], such that the program can use M1 = 3, M2 = 4. I want to make it so that I don't have to enter the variables into my function file, but into the m-file instead, so that any value can be used for M1 and M2.
Is this possible?
Thank you.

Accepted Answer

Star Strider
Star Strider on 28 Feb 2015
It is not only possible, it is the correct way to design your code, if I understand correctly what you want to do.
You would reference ‘M’ differently, though:
M1 = 3;
M2 = 4;
M = [M1, M2];
then to refer to the elements of ‘M’:
M1 = M(1);
M2 = M(2);
I’m not certain what you want to do, so if you’re asking something different than what I wrote, please clarify.
  2 Comments
Annalise
Annalise on 28 Feb 2015
Oh that's perfect! Thank you ^^

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 28 Feb 2015
You say "so that I don't have to enter the variables into my function file, but into the m-file instead" so I take it that you have two m-files , one is a "function file" and the other "m-file" is your script. So in your script I'd define the two variables
M1 = 3;
M2 = 4;
output = MyFunction(M1, M2);
Then in your "function file" "function that requires two variables to be entered, M1 and M2" , I'd have this where you list the two variables in the input argument list:
function output = MyFunction(M1, M2)
M = [M1, M2];
% more code that uses M....

Tags

Community Treasure Hunt

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

Start Hunting!