请问下图怎么用matlab敲出代码呀?

我需要知道f(x)的最小值,正常的应该出来折线会有最小值的,但是我做的是两条直线,无论x带入什么数,y都一样,不对哎,球球大佬相助啊

如何用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)

【运行结果及代码】

来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜