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

1 visualizzazione (ultimi 30 giorni)
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 Commento
Walter Roberson
Walter Roberson il 15 Mar 2014
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!

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 15 Mar 2014
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 Commenti
Bob
Bob il 15 Mar 2014
Modificato: Walter Roberson il 15 Mar 2014
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 il 15 Mar 2014
Oh, I made a mistake in the other section, it works now. Thank you.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by