急,急!!!Matlab高手请进

试求出使得{∫(exp(x)-cx)^2dx 在(0,1)上的积分}取得极小值的C值
老兄,matlab的编写过程!!!!!

clc;clear
y=int('(exp(x)-c*x)^2','x',0,1)
ezplot(y)
y1=diff(y)%y对c一阶导数
y2=diff(y,2)%y对c二阶导数,如果大于零,有最小值
cm=solve(y1)
ymin=subs(y,'c',cm)

结果:
y =

1/2*exp(1)^2+1/3*c^2-1/2-2*c

y1 =

2/3*c-2

y2 =

2/3

cm =

3

ymin =

1/2*exp(1)^2-7/2

【方法二】数值解法,更为简洁
function hh
[c,ymin]=fminsearch(@fun,1)
function y=fun(c)
y=eval(int('(exp(x)-c*x)^2','x',0,1));

结果:

c =

3

ymin =

0.194528049465326
温馨提示:答案为网友推荐,仅供参考