How do I create a varying number of outputs from a function file?

how to create a varying number of outputs from a function file. I have a text file with groups of x,y,z coords but the number of groups can change depending on the file. So I need to output matrices of the coords in groups: stripe1, stripe2... stripeN, where N is the number of groups (which can be set before hand).
here is an idea of what the my code looks like but as you can see I don't know what to write in the function output bracket
function [] = extract_data (VSPARS, NoS)
A = importfile (VSPARS);
A.data;
B = ans;
n = 1;
while n < NoS + 1
if n == 1
e = 1;
f = 20;
stripe1 = B(e:f, :);
n = n + 1;
elseif n > 1 & n <= NoS
e = f + 2;
f = f + 21 + 10*(n - 1);
stripe'n' = B(e:f, :);
n = n + 1;
end
end
Thanks

1 件のコメント

Walter Roberson
Walter Roberson 2011 年 2 月 23 日
Please see also
http://matlab.wikia.com/wiki/FAQ?cb=8329#How_can_I_create_variables_A1.2C_A2.2C....2CA10_in_a_loop.3F

サインインしてコメントする。

回答 (1 件)

Matt Tearle
Matt Tearle 2011 年 2 月 22 日

0 投票

Sounds like you're looking for varargout. It's a cell array, with each cell holding one of the outputs. To see how many outputs were requested when the function was called, use nargout.
Alternatively, just use a single cell array output. Or even a 3-D array, if the matrices are all the same size.
It depends on how you want the function called.

カテゴリ

ヘルプ センター および File ExchangeCode Generation and Deployment についてさらに検索

製品

タグ

質問済み:

2011 年 2 月 22 日

Community Treasure Hunt

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

Start Hunting!

Translated by