varargout-varargin commands for easy calculation
    1 Ansicht (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
Hello everyone,
I believe that my question is not hard...
I have this code
function  [varargout] = trg (varargin) 
A1=varargin(1,1)
A2=varargin(1,2)
A3=varargin(1,3)
a=input('Value= ')
varargout=[(A2{:}-A1{:})*a+A1{:},A3{:}-(A3{:}-A2{:})*a]
end
this code can provide for a=0;
[
k]=trg(1,2,3)
a=0
k=
   1 3
I want to have as inputs for example [1 2 3] [0 2.5 5] and as outputs lets say [k p] or more inputs and outputs
For example if
[k p]=tgr([1 2 3],[0 2.5 5]) and for a=0; The desirable results should be
k =
    1 3
p =
    0 5
A1 must take the first number of [1 2 3] A2 the second and A3 the third and the same to [0 2.5 5] and for more inputs.
0 Kommentare
Antworten (1)
  Geoff Hayes
      
      
 am 20 Mai 2016
        Nik - rather than using a variable number of inputs (and so outputs), why don't you just have a single input parameter that is an nx3 array. Your output would then be a nx2 array. For example,
 function  [dataOut] = trg (dataIn) 
 n = size(dataIn,1);
 dataOut = zeros(n,2);
 for k=1:n
    A1 = dataIn(k,1);
    A2 = dataIn(k,2);
    A3 = dataIn(k,3);
    a=input('Value= ');
    dataOut(k,:) = [(A2-A1)*a+A1,A3-(A3-A2)*a];
 end
If you then call the above as
 >> trg([1 2 3;0 2.5 5])
 ans =
     1     3
     0     5
you get the expected answer.
0 Kommentare
Siehe auch
Kategorien
				Mehr zu Whos finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

