これはそれほど難しいことではないように思われるので、私は本当に単純なものを見逃しているに違いありません。
このコードは正しいです:
clear all
whatever = @(x) deal(max(x), size(x));
input = randn(1,1000);
[a b] = whatever(input)
しかし、私が本当にやりたいのは次のようなものです。
clear all
whatever = @(x) deal(q = 3; q*max(x), size(x));
input = randn(1,1000);
[a b] = whatever(input)
なぜこれが壊れますか?関数内でqを定義できませんか?私が無名関数を使用したい理由は、実際にその中で複数行のコードを実行して、答えを返すことができるようにするためです。匿名関数の最後のステートメントが返されるものだと思いますが、それらの中で変数を定義するにはどうすればよいですか?無名関数を定義する前にqを定義したくありません。
ありがとう。