Is it possible to return a Matrix from a single Set in Matlab?

1 次查看(过去 30 天)
Hi, I recently wrote a code that looks like this:
function DataSet = Project(SetA, SetB, SetC)
DataSet = find(SetA, SetB, SetC);
function DataSet = find(SetA, SetB, SetC)
Data1 = SetA - SetB;
Data2 = SetB - SetC;
Data3 = SetC - SetA;
DataSet = [Data1, Data2, Data3];
end
end
The output looks like this when I input in the command:
DataSet = find(1,2,3)
DataSet = -1
If I insert 3 variables such as [Data1, Data2, Data3] = find(1,2,3)
I would get
Data1 = -1
Data2 = -1
Data3 = -2
which is correct. Is it possible, if so how could I change the code so that it output DataSet as a Matrix instead of just 1 value, because if there's suppose 100 variables, I would not want to manually insert 100 variables.
  1 个评论
Walter Roberson
Walter Roberson 2014-3-15
Yikes! Do not name your own routine "find" ! That is going to confuse the heck out of programmers who are going to think of the MATLAB find() call!

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2014-3-15
The routine "find" that you define is contained within "Project" and is not available from the command line unless you are at a breakpoint within "Project". Instead you would get MATLAB's find() routine.
  7 个评论
Bob
Bob 2014-3-15
编辑:Walter Roberson 2014-3-15
Yes, I fixed it, its still output the incorrect version:
function [Force, Motion] = setVar(Mass, Acceleration, Radius, time)
Force = Mass * Acceleration;
Motion = speedData(Force, time, Radius, Mass)
function Motion = speedData(Force, time, Radius, Mass)
Velocity = 2 * Force * time / Mass;
AngularV = Velocity / Radius
Motion = [Velocity, AngularV];
end
end
Bob
Bob 2014-3-15
Oh, I made a mistake in the other section, it works now. Thank you.

请先登录,再进行评论。

更多回答(0 个)

类别

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