关于matlab数据归一化和拟合问题

亲,向matlab高手求救:如何求出y2最大时对应x2?
x1=[4 6 8 10 12 14 16 18 20 22];%实验输入数据
y1=[-70 -67 -65 -63 -60 -59 -62 -65 -67 -70];%实验输出数据
[X1,min_x1,max_x1,Y1,min_y1,max_y1]=premnmx(x1,y1);%调用premnmx函数进行归一化
p=polyfit(x1,y1,5);%对实验数据进行5次多项式拟合
x2=4:0.1:22;
y2=polyval(p,x2);
[X2,min_x2,max_x2,Y2,min_y2,max_y2]=premnmx(x2,y2);%对拟合数据函数进行归一化
plot(X1,Y1,X2,Y2)%画出归一化图形
max_y2%输出拟合数据y2的最大值
%问:如何求出y2最大时对应x2的值?

p =[0.0001 -0.0033 0.0497 -0.2746 1.6333 -74.3818];
f=@(x) -p*[x^5;x^4;x^3;x^2;x;1];
[x,fval]=fmincon(f,10,[1;-1],[22;-4])

结果为

x =
22

fval =
-100.1684
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-02
p =[0.0001 -0.0033 0.0497 -0.2746 1.6333 -74.3818];
f=@(x) -p*[x^5;x^4;x^3;x^2;x;1];
[x,fval]=fmincon(f,10,[1;-1],[22;-4])

结果为

x =
22

fval =
-100.1684本回答被网友采纳
第2个回答  2013-06-02
可以用matlab求极值的函数fminunc试试
相似回答