作业帮 > 数学 > 作业

mathematica的计算问题

来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/05/01 07:17:04
mathematica的计算问题
假如有一些点比如:
...{1,1},{1,2},{1,3},{2,3},{3,4}...
把第一个坐标相同的点横坐标不变,纵坐标相加,经过处理变成:
...{1,6},{2,3},{3,4}...
这里是1是横坐标不变,纵坐标有三个为1、2、3,他们相加为6,则横坐标为1的纵坐标则为6,即:{1,6}了.
这种算法怎样才能实现?
(*下面的代码产生一个随机的表:list,你也可以直接手动输入list*)
list = Table[{Random[Integer,10],Random[Integer,10]},{j,1,20}];
(*下面的代码对list2中第一个元素相同的表中的的第二个元素求和得到list4*)
list2 = Sort[list]
list3 = SplitBy[list2,First];
len = Length@list3;
list4 = Table[{list3[[j,1,1]],Total[list3[[j]]][[2]]},{j,1,len}]