アプリ版:「スタンプのみでお礼する」機能のリリースについて

matlab6.5を使用。以下はMathworks社のWebから貼り付けたサンプルです。親functionの下に平均と中央値を計算するサブfunctionがある簡単なスクリプトです。本来なら、例えば引数にA=[1,2]を入れこのM-fileを実行すると、出力には
avg = 1.5
med = 1.5
と出てくるのではないでしょうか。ところが、私のmaltabでは
ans = 1.5 と1つだけとなります。

正常なのでしょうか。エラーの場合、何が考えられるかご指摘お願いします。

function [avg, med] = newstats(u) % Primary function
% NEWSTATS Find mean and median with internal functions.
n = length(u);
avg = mean(u, n);
med = median(u, n);

function a = mean(v, n) % Subfunction
% Calculate average.
a = sum(v)/n;

function m = median(v, n) % Subfunction
% Calculate median.
w = sort(v);
if rem(n, 2) == 1
m = w((n+1) / 2);
else
m = (w(n/2) + w(n/2+1)) / 2;
end

A 回答 (1件)

[avg, med] = newstats(A)


とか戻り値を 2個付けないと,2つ出ません.

newstats(A)
だと,関数宣言の最初の戻り値のみ返します.
    • good
    • 0
この回答へのお礼

ありがとうございました。解決しました。

お礼日時:2011/04/30 19:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!