作业帮 > 综合 > 作业

matlab可以完成统计某一个数出现了几次么

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/18 21:16:31
matlab可以完成统计某一个数出现了几次么
有一张num,里面有数据如下:
0\x090\x094\x094\x094\x094\x090\x090\x094\x094\x094\x094
4\x094\x090\x090\x090\x090\x090\x090\x090\x094\x090\x090
4\x094\x090\x090\x090\x090\x090\x090\x090\x094\x090\x090
4\x094\x090\x094\x094\x094\x094\x094\x090\x094\x090\x090
4\x094\x090\x090\x090\x090\x094\x090\x090\x094\x090\x094
4\x090\x090\x094\x094\x094\x094\x094\x090\x094\x090\x090
4\x090\x090\x090\x090\x090\x094\x090\x090\x094\x090\x090
4\x090\x090\x090\x094\x094\x094\x094\x094\x094\x090\x090
1\x091\x091\x092\x092\x092\x093\x093\x093\x094\x094\x094
其中每一行代表一个股票的成交量.最后一行代表月份.
我要求出每一个月中,每一只股票有成交记录的有几天.‘
就是说要求出:如第一行一月份有成交记录是1,二月份有成交记录是3,以此类推.
我要做出一个循环,写一个程序,使每个股票的答案都能一次性出现.
谢谢
clear;
A = [004444004444;...
440000000400;...
440000000400;...
440444440400;...
440000400404;...
400444440400;...
400000400400;...
400044444400;...
111222333444];
[h, w] = size(A);
R = zeros(h-1, max(A(h, :)));
for month = 1:max(A(h, :))
B = repmat(A(h,:) == month, h, 1);
C = (A.*B > 0)';
D = sum(C)';
R(:, month) = D(1:h-1);
end
R
结果中从列看代表月份,从行看代表股票成交记录数
结果如下:
R =
1 3 1 3
2 0 0 1
2 0 0 1
2 3 2 1
2 0 1 2
1 3 2 1
1 0 1 1
1 2 3 1
望采纳,谢谢!
再问: 谢谢您的的回答。
另外我想问,要是我的要求变为
我要求出每一只股票的每一个月中总共的成交量为多少?应该怎么算呢?
就是说第一只股票的第一个月的成交量为4,第二个月为16,要求它们按月份分别叠加。
另外,我有点matlab白痴。能不能麻烦大神你稍微讲解一下?
再答: 这样的话只需要稍微修改一下程序就好了:
clear;
A = [0\x090\x094\x094\x094\x094\x090\x090\x094\x094\x094\x094;...
4\x094\x090\x090\x090\x090\x090\x090\x090\x094\x090\x090;...
4\x094\x090\x090\x090\x090\x090\x090\x090\x094\x090\x090;...
4\x094\x090\x094\x094\x094\x094\x094\x090\x094\x090\x090;...
4\x094\x090\x090\x090\x090\x094\x090\x090\x094\x090\x094;...
4\x090\x090\x094\x094\x094\x094\x094\x090\x094\x090\x090;...
4\x090\x090\x090\x090\x090\x094\x090\x090\x094\x090\x090;...
4\x090\x090\x090\x094\x094\x094\x094\x094\x094\x090\x090;...
1\x091\x091\x092\x092\x092\x093\x093\x093\x094\x094\x094];
[h, w] = size(A);
R = zeros(h-1, max(A(h, :)));
for month = 1:max(A(h, :))
B = repmat(A(h,:)