2016-12-02 4 views
0

電動モーターの速度に関して異なるトルク値のベクトルを取得しようとしています。これを行うために、私はある速度でいくつかのトルク値を使用し、それらに曲線をフィットさせようとしました。ベクトルにカーブフィッティング多項式値を代入する

tpdata=[0 10 20 30 40 50 60 65 70 75 80 85 90 93.3 95.8 98 99 100]; 
pdata=[3.3 3.05 2.81 2.79 2.80 2.88 3.02 3.12 3.20 3.28 3.13 2.75 2.10 1.5 1 0.5 0.25 0]; 

私は定数を得るためにカーブフィッティングツールを使用し、私の必要性

u=2880/690 

ydata=pdata*3.65*u 
tsdata=tpdata*30/u 

に応じて、それを修正。私はyと名付けベクター(トルク値)(1つの回転から720回転まで)当てはめた多項式の溶液を割り当てる

p1 = -2.4592e-20 
    p2 = 1.51e-16 
    p3 = -2.7946e-13 
    p4 = 2.3662e-10 
    p5 = -1.0391e-07 
    p6 = 2.3887e-05 
    p7 = -0.0024883 
    p8 = 0.035497 
    p9 = 50.272 

Iは、溶液プロットを得ることができるが、私はできませんそれらを参照するか、ベクトルとして割り当てます。

y = 0(1,720)を追加してyをy(1、i)に変更すると、スクリプトは失敗します。

この理由は何ですか?

答えて

0

次のループで上書きされているyにソリューションを保存しています。おそらく次のようにするべきです:

for i=1:720 
     y(i) = p1*i^8 + p2*i^7 + p3*i^6 + p4*i^5 + p5*i^4 + p6*i^3 + p7*i^2 + p8*i + p9;  
end 

plot(y,'d'); 
hold on 
grid on 

これでベクトルy(1x720)が得られます。あなたはy = 0(1,720)をする必要はありません...