如何用matlab求分段函数的最小值,我们可以使用fmincon函数求其极值。求解步骤:
第一步、创建一个自定义带条件的分段函数,即y=myfun(x)
y=(100+x/2)./(100+x).*(x>0 & x<=100)+(100+x-50)./(100+x).*(x>100 & x<=200);
第二步、用随机数作为x的初值,x0=rand(1)
第三步、使用fmincon函数求最小值,即
[x,fval]=fmincon(@myfun,x0)
这里,[x,fval]是函数的极值点
执行结果,x =100,y=0.75
第四步、生成x的序列,x=0:1:200;
第五步、计算x对应于y的数值,即
y=myfun(x);
第六步、用plot函数绘制函数的图形,即
plot(x,y)
【运行结果及代码】
来自:求助得到的回答