Defining vectors in MATLAB

7 次查看(过去 30 天)
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.

采纳的回答

Star Strider
Star Strider 2015-2-28
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.

更多回答(1 个)

Image Analyst
Image Analyst 2015-2-28
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....

类别

Help CenterFile Exchange 中查找有关 Adding custom doc 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by