1
4
好的,现在我已经按照最初的要求修改了处理输入的方法。 从示例数据集开始:
接受转置:
接下来是一个仅对Y值操作的函数:
撤消换位:
现在输出是
我还没有测试这个解决方案的性能。 编辑: 好吧,这是解决问题的基础,我把剩下的工作留给你@dreeves。这个版本的单调化只对一个数字列表起作用,我还没有把它集成到我之前的建议中,来处理你的输入。
编辑2: 另一个作用于数字列表的函数。这比我以前的尝试快得多。
|
2
3
下面是另一个解决方案:
它计算校正矢量,然后将其添加到给定数据点的y值。 |
3
2
一旦挑战结束,我就无法尝试,但我觉得For loop版本更简单:
其思想是编写一个helper函数,该函数只对y值的一个简单列表执行此操作,然后使用双转置习惯用法对数据的第二列执行操作。 双转置习语的方便参考用于转换矩阵中的特定列,例如,用transformElement[x]替换4列矩阵第2列中的每个值x:
如果需要使用将整列作为列表的函数转换列,请使用以下习惯用法:
|
4
2
我用了很多
我认为
|
5
1
从根本上说,Mathematica中的大多数函数运算符一次只能操作列表中的一个元素。这不是唯一的选项,但是这些函数可以设置为一次获取列表中的两个相邻元素,这个假设函数将使获得所需结果变得很简单。 不用转换函数,我们可以使用分区轻松地转换数据。
我对这个版本进行了重构,添加了一个helper函数,以明确该函数是如何折叠的,但是mathematica并没有对其进行优化。
编辑:忘记一些{} |
danial · 如何在多个字符串的每个位置找到最频繁的字符 2 年前 |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
The Great · 拆分并存储数据帧,但名称基于特定列中的唯一值 2 年前 |
Klimt865 · Python中的列表列表 2 年前 |
Klimt865 · 在Python中将数组列表转换为列表列表 2 年前 |