matlab一组数据里面最小值,有没有函数可以直接找出来?

比如i=1:100; a=f(i);b=g(i);c=p(i)
当a-b的差值最小时,disp(c),请问怎么做?

1、首先在电脑中打开matlab,利用内联函数建立函数表达式,如下图所示。

2、然后求解区间内最小值,返回最小值横坐标,如下图所示。

3、接着返回横坐标和最小值,如下图缩小。

4、然后建立函数表达式,求解,返回横坐标,如下图所示。

5、最后返回横坐标和最小值,如下图所示,就完成了。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-09
如果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可以是函数,也可以是一组数组本回答被提问者和网友采纳
第2个回答  推荐于2017-09-12
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一下,看看它的功能与要求……
第3个回答  2012-10-21
[D,I] = min(a-b);

disp(c(I));

第一个返回值是最小值本身,第二个返回的就是那个index。。。。。没必要find。。。
第4个回答  2012-10-14
d=a-b;
min_index=find(d==min(d));
min_index就是最小值对应的下标,min(d)是最小值。

matlab一组数据里面最小值,有没有函数可以直接找出来?
1、首先在电脑中打开matlab,利用内联函数建立函数表达式,如下图所示。2、然后求解区间内最小值,返回最小值横坐标,如下图所示。3、接着返回横坐标和最小值,如下图缩小。4、然后建立函数表达式,求解,返回横坐标,如下图所示。5、最后返回横坐标和最小值,如下图所示,就完成了。

matlab中如何求一组数据中的最小的两个数据,比如1 2 3 4 5.最后求的...
S(1) 就是最小值1;S(2) 就是第二小的数2;位置的话是 find(A==S(1)) 返回值就是最小值在原数组中的位置

Matlab 编写函数,找出 n个数中的最大值和最小值及其所在位置
clc clear A=[4 8 3 9 7 1 6 5 2];min=min(A);max=max(A);m为所在行 n为所在列 [m1,n1]=find(A==min);[m2,n2]=find(A==max);=== 附赠:在MATLAB中输入符号向量或者矩阵的方法和输入数值类型的向量或者矩阵在形式上很相像,只不过要用到符号矩阵定义函数sym,或者是用到符号...

matlab最小值算法问题
给出的matlab最小值问题,可以用 fmincon()函数来求得。首先,建立目标函数 function f =fmincon_fun(x)f=。。。end 其二,建立约束函数 function [c,ceq] = fmincon_con(x)c(1)=[2*x(1)+x(3)+2*x(4)+x(5)+x(6)+2*x(9)-8];c(2)=[2*x(2)+x(3)+2*x(4)+2*x(6)...

matlab 输入一组整数 要求返回最小的正整数 如果最小的出现多次还有写出...
用循环当然很容易解决,不过用MATLAB就要尽量不用循环。实现的方法也有很多的,可以用sort函数排序,再寻找最小数的个数。也可以用unique函数,给出其代码:clear A=[2,3,5,6,5,8,9,4,5,8,3,2];[a,b,c]=unique(A); %a为A的不重复升序排列的结果 disp(['最小的正整数为:',num2st...

matlab如何不用max和min找出矩阵内的最大值和最小值
在Matlab中,你可以使用内置函数" max "和" min "来查找矩阵中的最大和最小值。如果不想使用这些函数,也可以使用排序函数 "sort" 来查找矩阵中的最大和最小值。

matlab,一维数组,用min函数找最小值
怀疑你很可能之前把min当变量使用了,例如下面的代码会出错:min=3;A=[1 2 3 4];min(A)‍解决也很简单,清除一下min即可,例如:clear minA=[1 2 3 4];min(A)

matlab中怎么从数组中选出最小的10个数,并显示位置。
先排序,sort,可以自定义升序ascend还是降序descend,然后去后10个或者前10个数。获取下标也不难,help下这些函数的用法就得到了。

请教高手:matlab中如何求一个数组的最小值的下标?
假设你要求的数组是A [A1,row1]=min(A);row=min(row1);[minV,column]=min(A1);这样你得到的row和column就是这个数组A的最小值的下标,而minV则是这个最小值

matlab 一组数(有正有负)中寻找最接近0 的数
先取绝对值 函数:abs(array)然后找最小值 函数:min(array)确定最小值所在的位置,也就是下标 [i,j]=find(array=min(abs(array)))然后从原数组输出array(i,j)相关命令自己查一下

相似回答