查找表中相同输入的最小输出值

조회수:5(최근30일)
我是一个matlab的新用户,有一个关于表格的问题。
因此,我有一个名为myTable的表,有三个不同的输入(x,y,z)和一个输出(fct_total),对于一些输入,我有时有不同的输出(见截图中突出显示的行)
我想知道是否有任何方法使用例如逻辑索引,以选择最小的输出(fct_total)的情况下,输入是相同的,然后把输入和最小的输出值在一个单独的表?

채택된답변

斯科特·麦肯齐
斯科特·麦肯齐 2022년3월28일
您的表是否像图中一样组织一致;即36行重复,除了最后一列( fct_tota l) ?如果是,此代码将创建一个列向量,其中包含 fct_total 每个x-y-z组合的列:
d =重塑(myTable。36岁的fct_total []);
Min_d = min(d, [], 2);
方法创建一个新表 min_d 值和x-y-z组合。
댓글수:1
antje668
antje668 2022년3월28일
你好,斯科特,
谢谢你的回复,我意识到我应该更具体,还有其他的输出,但这些我想保持原样(见截图1)。
所以:我想找到fct_total的最小值在x, y和z有相同的值的点上,同时保持其他输出在fct_total最小化的点上。
这并不总是像我之前的文章中所显示的那样一致。在一次迭代之后,一个表看起来像截图2(共6行),其中我突出显示了具有相同x y z值的行。

댓글을달려면로그,하십시오。

추가답변(1개)

大卫。马塞罗说道
大卫。马塞罗说道 2022년3월28일
편집:大卫。马塞罗说道 2022년3월28일
清楚,clc
下面的矩阵有两行x-y-z相同但不同
%输出(即第一行和最后一行)
一个=兰德(9,4);
A = [; (: 1)];
(结束,结束)= (1)* 2
一个= 10×4
0.9887 0.6494 0.1059 0.8865 0.0213 0.2678 0.9163 0.4090 0.4932 0.3351 0.9426 0.5517 0.7167 0.2276 0.1898 0.4653 0.0329 0.9692 0.2633 0.0325 0.0697 0.7364 0.4317 0.2285 0.7808 0.2586 0.4510 0.7312 0.0857 0.6937 0.1473 0.2083 0.2359 0.9424 0.9887 0.6494 0.1059 1.7730
提取两个值中最小的
xyz = (1:3);这个输入有两个可能的输出。
输出= min ((((: 1:3) = = xyz, 2)))%至少要输出
输出= 0.9887

社区寻宝

在MATLAB中央找到宝藏,并发现社区可以如何帮助你!

开始狩猎!

翻译的