2017-02-18 3 views
-1

matlabでは、1iは虚数単位を表します。1iを交換して2i、3i、4iを作る方法は?

  1. 1iを変更することはできますか?
  2. 私自身の定義を2i,3iなどに割り当てることはできますか?

ありがとう!

編集:私はダウン投票で少し不快に思いますので、私はここで自分のアプリケーションを明確にする必要があります

を私の目標は、MATLABでの複素数クラスを拡張することです。どうして? Matlabの組み込みの複素数は単純な複素数のためだけです。つまり、複素数などの複複数が以下の形式である場合は、次のようになります。

z = a + b *(1i)+ c *(2i)+ d *(1i)*( 2I)1i2iは双方向複素数である

、ビルトイン1iとMATLABで2iの定義を変更する機能は、マルチ複素数の操作がより便利になるだろう。

+0

私はあなたの質問を理解していません。 「1iを変更する」とはどういう意味ですか? – rayryeng

+2

いいえ、不可能です! '1i'、' 2i' ...という構文は、虚数単位に予約されています。 – Rotem

+0

@ rayryeng:それを再定義するときに修正してください。より明確にするために私の編集を見てください。ありがとう! – cylee

答えて

0

番号iはmatlabの関数であり、独自の関数や変数で上書きすることができます。しかし、iの直前に、空白を区切っていない数字があると、1 + 2iのように、matlabは他の定義を無視します。

i = 123; 
disp(i); % my variable 
disp(i()); % my function 
disp(1i); % builtin i 

コードは次の出力を生成します。

は、私はその後、私は次のスクリプトを実行引数を取らず、321を返す関数iを持っていたことを含むファイルi.mを作成したとします。

123 
321 
0.0000 + 1.0000i 

1iについては何もできません。しかし、もしあなたが1*iと書いても大丈夫なら、あなたはあなたが望むものであれば何でもできます。

詳細はhttps://www.mathworks.com/help/matlab/ref/i.htmlを参照してください。

+0

あなたの答えをありがとう。しかし、私はそれ以上のものを求めています。私の編集を見てください。 – cylee

関連する問題