MATLABでコーディングする場合は、私の提案はです。可読性のためには常にコードにしてください。一度それを働かせれば、あなたのコードの最適化がより速くなるかどうかを真に評価できたら、進んで最適化してください。しかし、私は、これらの割り当てをすべて1行のコードにまとめるだけでは、実際には何も最適化されないと主張します。
あなたはそこに何がありますか?これは完全に有効な一連のステートメントであり、1行で行う必要はありません。入力することを恐れている場合は、B
、C
、E
を常にA
に割り当ててください。この文の前にあるD
を再定義するので、D
の最後の行をE
に変更しました。私はこれがあなたの意図ではないと仮定しています。また、zeros(length(D), D)
はナンセンスであることに注意してください。D
私はいくつかのベクトルがあると仮定していますが、それをzeros
の引数として使用しています。各パラメーターがスカラーであることを確認する必要があります。
MATLABは行列のコピーを実行し、参照を提供しないことを覚えておいてください(これには例外がありますが、ここでは触れません)。このような何かに動作します:
A = zeros(10, 10);
B = A; C = A; E = A;
しかし、あなたが本当に1行でこれを行うにしたい場合、あなたは一つの引数を取るようにdeal
を使用して、指定した各出力引数の上にコピーすることができます。
[A,B,C,E] = deal(zeros(10,10));
私はそれが読みにくいと主張しますが、それはあなたが求めていることをします。
ありがとうございました。コースDはベクターです! – WA2050
それはそれを解決していない! – WA2050
はい、私はいくつかのエラーが出る前に、[A、B、C、E] = dealを使用します(0、 – WA2050