Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database Matlab:脚本对以前的数据求和_Database_Matlab_Sum - Fatal编程技术网

Database Matlab:脚本对以前的数据求和

Database Matlab:脚本对以前的数据求和,database,matlab,sum,Database,Matlab,Sum,我有一个数据库,每一排都是一场网球比赛,你可以阅读ID_锦标赛,ID_回合,日期_比赛,ID1球员1,ID2球员2,第一发球球员1,双失误球员1,第一发球球员2,双失误球员2。我已经在mathlab中导入了该文件,现在我想在最后一列(列I)旁边创建新列 (excel制作的打印屏幕) 新列应该是该玩家以前的比赛统计的总和。我会给你一个参考图片的例子。我想知道有多少FS player1之前在第11排(ID1488)。所以在J11中,我将阅读47(在第11行出现之前只有一个匹配)。相反,在J16的第

我有一个数据库,每一排都是一场网球比赛,你可以阅读ID_锦标赛,ID_回合,日期_比赛,ID1球员1,ID2球员2,第一发球球员1,双失误球员1,第一发球球员2,双失误球员2。我已经在mathlab中导入了该文件,现在我想在最后一列(列I)旁边创建新列

(excel制作的打印屏幕)

新列应该是该玩家以前的比赛统计的总和。我会给你一个参考图片的例子。我想知道有多少FS player1之前在第11排(ID1488)。所以在J11中,我将阅读47(在第11行出现之前只有一个匹配)。相反,在J16的第16行中,播放器ID1 488之前有2个匹配项,因此正确的数据应该是47+52=99。 在每一行中,我都要读取有关以前匹配的新数据。 怎么可能是脚本呢?如何设置一个参数来指示应该回顾多少天

在这里,您可以找到包含数据库的工作区。

在matlab answer中,一位用户给了我这个脚本,它实际上可以工作,但不正常,但我认为这是一个好的开始:

load('demo.mat');
d = demoS1{:,[4,6]};
[a,ii] = sortrows(d,1);
[~,~,c] = unique(a(:,1));
d1 = accumarray(c,a(:,2),[],@(x){cumsum(x(:))});
d1 = cat(1,d1{:});
[~,i1] = sort(ii);
demoS1.last_column = d1(i1);
上面的脚本在上一个匹配的总和中使用的也是我们正在分析的匹配,当然是不正确的。此外,我无法设置(或我不知道如何设置)脚本需要花费多少天(或上一场比赛)并计入总和


需要你们的帮助。Thanx Previous

为帮助获得答案,这里有一些建议:1)清理问题和问题文本。它应该尽可能简短和简洁2)记录您的代码,即用%描述您在该行中所做的事情。一般来说,像a、b、c这样的变量不是很有用的代码可读性(因为您正在共享它,所以您希望这样做)来帮助获得答案。这里有一些建议:1)清理问题和问题文本。它应该尽可能简短和简洁2)记录您的代码,即用%描述您在该行中所做的事情。一般来说,像a、b、c这样的变量不是很有用的代码可读性(因为您正在共享它)