1、首先在电脑中打开matlab,利用内联函数建立函数表达式,如下图所示。
2、然后求解区间内最小值,返回最小值横坐标,如下图所示。
3、接着返回横坐标和最小值,如下图缩小。
4、然后建立函数表达式,求解,返回横坐标,如下图所示。
5、最后返回横坐标和最小值,如下图所示,就完成了。
如果f(i),g(i),是数组的话,就可以直接运算。如果是一个函数的话,可以先把f,g算出来然后运算。假设f,g是f(i),g(i),运算后的数组。
t = f-g;%%计算a-b的差值
indexi= find(t==min(t));%%找出差值最小时i值的位置
i = i(indexi);%%差值最小时,i的取值。如果i=1:100,i就等于indexi了
c = p(i);%%计算c值,p可以是函数,也可以是一组数组
x=[0 18.4523 30.5655 36.9628 75.9276 81.6088 96.0469 78.6924];
[min_of_x i]=min(x)
这两个语句就可以了
输出参数中,min_of_x记录最小值
i记录最小值的下标。
p.s.看到一个matlab的函数,先help一下,看看它的功能与要求……
[D,I] = min(a-b);
disp(c(I));
第一个返回值是最小值本身,第二个返回的就是那个index。。。。。没必要find。。。
d=a-b;
min_index=find(d==min(d));
min_index就是最小值对应的下标,min(d)是最小值。