【发布时间】:2023-03-31 17:58:01
【问题描述】:
假设我们有下一系列数组:
A = [1, 2, -2, -24];
B = [1, 4, -7, -2];
C = [3, 1, -7, -14];
D = [11, 4, -7, -1];
E = [1, 2, -3, -4];
F = [5, 14, -17, -12];
我想创建两个数组, 第一个将是所有数组每列的最大值, 即
Maxi = [11,14,-2 -1];
第二个将是所有数组每列的最小值 即
Mini= [1,1,-17 -24];
我整天都在尝试,使用循环,最大和 abs,但我无法让它工作
在我的问题中有一个矩阵 (100,200),所以通过上面的示例,我试图轻松解决问题。最终目标是获得 200 个 x_points 的 100 个 y_lines 的拟合。这个想法是计算两条线(即最大值,最小值),这将是所有线的“视觉”边界(每个 x 的最大值和最小值)。下一步将计算这两个数组的平均值的数组,所以最后将是所有行之间的一条线。
欢迎任何帮助!
【问题讨论】:
-
100 y_lines 和 200 x_pts,你的意思是你有一个 100x200 列的数组,你想要一个行向量 Maxi,它是 1x200 并且每列的最大值? (类似于 Mini..)
-
是的,但问题是我有负值(海平面以上和以下的海拔高度)。因此,对于最大的第一个数组:我需要最大的正值和最小的负值,它们是最大值。对于第二个最小 1x200 数组,当我只有负数时,我想要最小正值和最大负值(如 A-F 数组的最后两列。
-
那么为什么不使用 abs() 函数。对于 Maxi max(abs([A;B;C;D;E;F])) 和 Mini min(abs([A;B;C;D;E;F]))。您在问题中的示例也没有反映这一点。按照你的逻辑,Maxi 不应该是 [11, 14, -17, -24] 吗?
-
如果你尝试你就会明白为什么我不能使用它! max(abs([A;B;C;D;E;F])) 给出 [11 14 17 24] 不是我的 Maxi,而 min(abs([A;B;C;D;E;F])) , 给出 [1 1[2 1]。关于您的第二条评论,不是因为您需要将这些数据视为海平面以上和以下的海拔高度。最大负数是最小值。
标签: matlab matrix max min data-fitting