Function returning two vectors

21 Ansichten (letzte 30 Tage)
TheFarmer
TheFarmer am 5 Jun. 2011
Couldn't really find anything on google by searching for 'functions' and 'vectors' etc, so I'll try here.
If I needed a function returning two vectors (of different size), like this:
[vec1, vec2] = functionname(variables,...)
what is the best approach? If I try to transpose them I get an error since the dimensions don't agree, and if I return them as a vector that would make it difficult to get all the elements (unless there is some trick I have not thought about). Both vectors are about 50 elements long.
Thanks.

Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 5 Jun. 2011
People do that everyday using Matlab. Copy the following into a file called MyFun.m
function [y1,y2]=MyFun(x1,x2)
% input argument x1 and x2 are not used in this example
y1=rand(1,50);
y2=1:100;
Then, in Matlab command window, type
[z1,z2]=MyFun(1.1,2.2)
You get two return vectors in different size.
  1 Kommentar
Matt Fig
Matt Fig am 5 Jun. 2011
Even MATLAB functions do this sometimes:
[K,H,J] = unique(round(rand(1,6))) % Compare lengths of H and J.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

TheFarmer
TheFarmer am 5 Jun. 2011
That was far more simple than I thought it would be! Thank you! :)

Kategorien

Mehr zu Language Fundamentals 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!

Translated by