0

たとえば、私が持っている場合:

Q1=4;
Q2=5;
PG=2:60

A1=Q1./sqrt(PG);
A2=Q2./sqrt(PG);

plot(PG,A1)
plot(PG,A2)

次のようにできますか?

Q=[Q1,Q2];
A=Q./sqrt(PG);
plot(PG,A(1))
plot(PG,A(2))

またはA1とA2を避けるためにsth?

4

1 に答える 1

2

A=bsxfun(@rdivide,[Q1;Q2],sqrt(PG))Q1行います(との間のコンマではなくセミコロンに注意してくださいQ2)が、質問のコードがあなたのユースケースであり、他の誰かにコードを読んで理解してもらいたい場合は、使用しないことをお勧めします.

andをA使用する行に対処する必要があります(方法に関係なく) が、おそらくとにかくしたいでしょう。A(1,:)A(2,:)Aplot(PG,A)

[最初のコメントの後に編集:] rdivideは、通常 MATLAB コードで示される関数の名前であり./、同じサイズの配列またはスカラーと配列に適用されます。bsxfun2 つの引数の関数を、それに提供された他の 2 つの引数に、最も適していると見なされる方法で単純に適用します (少し簡略化するため)。arrayfun同様のことを行います: 1 つの配列のすべての要素に関数を適用します。ここに適用するには、PG内部にハードコーディングされた関数が必要です。

于 2013-02-18T11:53:54.460 に答える