2016-10-07 16 views
-1

学校プロジェクトの一環として、区間0(<)t1 + t2 + t3(< = 0)の3つの変数t1、t2、t3のかなり複雑な関数Fを最大化したいと思います。 )120。機能の複雑さに起因して、私は、T1、T2、T3の点CとT1、T2、T3の点でも、3つの他のパラメータX1、X2、X3の点で、パラメータを、Bを定義したいと思い。関数Fは、x1、x2、x3、a、b、c、t1、t2、t3の形で記述する必要があります。これを行う簡単な方法はありますか?私は代数のすべてを行っていませんが、完全な形の関数が次の多項式~15であると想像します。私はMatlabを初めて使っていますので、明確にしてください。私は大いに助けていただければ幸いです。いくつかの変数の関数の最大化

コードは、次の形式を有する。

x1=f(t1) 

x2=f(t2) 

x3=f(t3) 

[コードFの数式のように書かれています。関数は宣言されません。また、これらの各形態は同じであるが、異なる定数を含む]

再び
a=g(x1) 

b=h(x2,a) 

c=i(x3,b,a) 

、G、H、Iはコードに書かれた数学的表現を指します。関数は宣言されていません。

今は最適化したい機能は、このフォームを有する:

F本当にFである(T1、T2、T3、A、B、C、)、(T1、T2、T3)ので( a、b、c)はそれ自身t1、t2、t3の関数である。私は区間0(<)t1 + t2 + t3(< =)120の関数を最適化したいと思います。

答えて

0

I'dのような例を参照していますが、3つの配列を使用することができます。 t、a、xはあなたの関数の引数に似ています。

+0

コード全体を投稿する必要がありますか?それはむしろ関与しており、注釈も付けられていません。また、bはaで定義され、cはaとbで定義されます。 x1、x2、およびx3はそれぞれt1、t2、およびt3に関してのみ定義されます。 –

+0

変数とあなたの関数の宣言だけ投稿する –

+0

私はちょうど質問を編集しました。どうもありがとう。 –

0

いくつかの注意:

  1. ちょうどあなたの評価関数内のローカル変数を使用します。
  2. サプライ勾配ソルバがそれらを使用することができます。
  3. は、多くの場合、多くの周りの高いスイングで多項式。彼らはソルバーに多くの問題を引き起こす可能性があります。