Matlab中已知函数值的最小值求对应的自变量值...
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab中已知函数值的最小值求对应的自变量值...相关的知识,希望对你有一定的参考价值。
就是说我画出了这个函数的图形,也用min函数求得了它的最小值,可是要求对应的横坐标的值...怎么办...
思路是这样的:你得到最小的函数值后,把它带入你作图的方程反解自变量的值。我不知道你画的这个函数图像的方程什么,我用一个二次方程y=x.^2+x给你做示范:
先做图:
x=-10:0.1:10;
y=x.^2+x;
plot(x,y);
m_y=min(y)
得到最小的值为:-0.25
在反解对应的自变量的值:
syms x;
f=sym('x^2+x+0.25=0');
m_x=solve(f,x)
看到没有,最小值对应的自变量的值为-0.5. 参考技术A [m,n]=min(your_function);
m返回最小值,n返回的是索引值
假设你横坐标的函数是x
那么x(n)就是对应的横坐标值
最小(x,y)对值的Matlab矩阵索引
【中文标题】最小(x,y)对值的Matlab矩阵索引【英文标题】:Matlab matrice index of min (x,y) pair values 【发布时间】:2012-10-16 19:31:15 【问题描述】:我得到了一个 5 * 5 的矩阵。 我想找到 (i,j) 的最小值,它对应于距网格固定点的最小距离。
我用过:
MATRICE(find(MATRICE(1,:))== min(MATRICE(1,:)),:)
和:
[minVal, minInd] = min(MATRICE(:,1));
MATRICE(minInd,1);
[~,MATRICE_2] = min(MATRICE(:,:));
disp(MATRICE_2)
让我得到 MATRICE 的正确 row(i)
,但根本不显示 column(j)
。
【问题讨论】:
我不清楚你想做什么。你能给出一些更清晰的例子来说明你的输入和预期输出吗? 我有一个网格,其轴点上的固定点由 meshgrid 'x,y = meshgrid(1:1:5)' 配置。随机用户生成并均匀分布到网格中。定点距离和随机用户距离用欧几里得公式测量。还测量了固定点和随机用户之间的距离,结果形成矩阵。所以这个 MATRICE 由 5 * 5 个坐标距离向量组成。现在为了将每个随机用户与其最近的固定点相关联,我想在每次模拟迭代中找到 MATRICE 的 min x,y 好的,感谢您的更新,听起来 angainor 的答案就是您所需要的。 【参考方案1】:我不确定我是否理解正确,但如果你想找到数组中最小条目的(row,col)
索引,你可以使用这个
[i,j] = ind2sub(size(MATRICE), find(MATRICE==min(MATRICE(:))))
A
是您的矩阵。这可以通过将矩阵更改为 25 个元素的向量,查找最小值的位置,然后使用 ind2sub
将该位置转换为 (row,col)
对来实现。
您所写的内容会在矩阵的每一列中找到最少的条目。因此,MATRICE_2
中的每个i
条目都显示了i
列中最小值的行索引。换句话说,列和行索引是
cols = 1:numel(MATRICE_2);
rows = MATRICE_2;
【讨论】:
【参考方案2】:好吧,我想通了:
[MinValue, MinIndex] = min(MATRICE(:));
MinSub =ind2sub(size(MATRICE), MinIndex);
MinValue 是 MATRICE 的最小值,MinIndex 是它的索引加上直接指向固定点。
【讨论】:
以上是关于Matlab中已知函数值的最小值求对应的自变量值...的主要内容,如果未能解决你的问题,请参考以下文章