-2

ファイル名をabc.mファイルからxyz.mファイルに渡したい...返品なし。両方のファイルに書かれている構文を教えてください.私は次のようなことを試しました:

xyz(filename);

xyz.m ファイル内:

xyz(filename);
4

2 に答える 2

1

MATLAB関数は次のように定義されます。

function y = MyAddFunction(x, n)
   y = x + n;
end

そしていつものように呼ばれます:

foo = MyAddFunction(10, 5);

複数の出力値が必要な場合は、次のように出力を定義できます。

function [y1 y2] = MyOtherFunction(x)
   y1 = x + 3;
   y2 = y1 + 5;
end
于 2013-03-16T10:20:42.090 に答える
0

私が正しく理解している場合、あなたが求めているのは、戻り値がないようにxyz.mで関数をどのように記述し、abc.mの関数から渡したファイル名で動作するかです。 。

これが正しければ、答えは、次のように、戻り変数をまったく使用せずに関数xyzを定義することです。

function xyz(filename)
    %code goes here
end

そして、abc.mでは、単にそれをと呼びますxyz(filename)。matlabがそれらを見ることができるように両方のmファイルが適切な場所にある限り、それは機能します。

ファイル名は文字列である必要があります。fopenからファイルIDを渡すことができるとは思いませんが、それが必要な場合は、どの関数からでも開いているファイルにアクセスできる可能性があります(実際にはテストしていません)。

于 2013-03-17T03:39:06.660 に答える