0

私はコードを持っています:

  C(s):=E(s)*G(s);
  B(s):=C(s)*H(s);
  openLoopTransferFunction:=B(s)/E(s)

Mupad が出力 e(s) を与えるのはなぜですか? Mupad 出力:

G(s)*exp(1)(s) (または G(s)*e(s) を青色で表記)

E(s) が Mupad によって自動的に変更されないようにするにはどうすればよいですか ...正直なところ、これは遅れています... ボーナス :(

....うわあ

E(s):=R(s)-B(s) エラー: 識別子 'E' は保護されています。[_割当]

4

1 に答える 1

0

MuPAD には保護された識別子がいくつかあります。通常、大文字を使用します。たとえば、Iは虚数単位をE表し、オイラー数を表します。E(直立文字 'e') とe(斜体'e') の入力の違いを参照してください。

これらの識別子のいずれかを自分のやり方で使用したい場合は、次のことができunprotectます。

unprotect E

結果:

ProtectLevelError

これはエラー メッセージではなく、変更したばかりの保護レベルです。同じコマンドを再度入力して、変更が成功したことを確認します。今回は、以下を取得します。

ProtectLevelNone

Eこれで、他の識別子に割り当てることができます。

E(s) := R(s) - B(s);

期待される結果が得られます。

明示的に定義したくない場合はE、保護を解除した後に削除する必要があります。

delete(E)

その後、他のシンボルと同様に利用可能になります。

いずれにせよ、後でオイラー数を使用する必要がある場合は、exp(1)代わりにを使用する必要がありEます。

長さが 1 のすべての識別子のリストを取得するには、次のように入力します。

select(op(map(op(anames(All)), expr2text)), x -> bool(length(x) = 1))

与える:

"E", "I", "O", "D"

同様に、長さ 2 の場合、次のようになります。

"N_", "Re", "R_", "Si", "C_", "is", "Z_", "op", "id", "Li", "ln", "Im", "Ax",
"Q_", "fp", "Ci", "Ei"
于 2015-06-01T07:26:14.863 に答える