2016-10-03 4 views
0

これを行うには簡単な方法が必要です。最適化の方法も歓迎します。私は配列Yと、MWEで与えられているようにYがゼロ(= 'X')に近づくように調整されなければならない多くのパラメータを持っています。この違いを最小限に抑えるための方がはるかに優れていますか?これはほんの一例の式であり、6つの係数を最適化することができます。MATLABで別の配列に近い配列の要素を取得する方法は?

x = zeros(10,1) 
y = rand(10,1) 
for a=1:0.1:4 
    for b=2:0.1:5 
     for c = 3:0.1:6 
      z = (a * y .^ 3 + b * y + c) - x 
      if -1<= range(z) <= 1 
       a, b, c 
       break 
      end 
     end 

    end 
end 

答えて

1

私は

p = polyfit(y,x,2); 

は、あなたが探しているものであると信じています。 ここで、pは[a、b、c]係数の配列です。

+0

番号a、b、cは範囲内の値をとる必要があります。 –

+0

'polyfit'は最小化プログラムを解きます - モデルは' y'の多項式関数で、 '{y_i} _ {i = 1}^N'というテストデータがあります。 'polyfit'は' a、b、c'の範囲を制限しません。代わりに、最小化プログラムを 'a、b、c'の制約で書き出し、' fmincon'などのソルバーを使ってデータとモデルの距離を最小にする 'a、b、c 'を見つけることができます(' L2'ノルム)は、「a、b、c」が特定の範囲にあるという制約に従う。制限付き最小二乗に関するBoydの注記を参照してください:http://stanford.edu/class/ee103/lectures/constrained-least-squares/constrained-least-squares_slides.pdf –

関連する問題