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

有一张num,里面有数据如下:0044440044444400000004004400000004004404444404004400004004044004444404... 有一张num,里面有数据如下:
0 0 4 4 4 4 0 0 4 4 4 4
4 4 0 0 0 0 0 0 0 4 0 0
4 4 0 0 0 0 0 0 0 4 0 0
4 4 0 4 4 4 4 4 0 4 0 0
4 4 0 0 0 0 4 0 0 4 0 4
4 0 0 4 4 4 4 4 0 4 0 0
4 0 0 0 0 0 4 0 0 4 0 0
4 0 0 0 4 4 4 4 4 4 0 0
1 1 1 2 2 2 3 3 3 4 4 4
其中每一行代表一个股票的成交量。最后一行代表月份。

我要求出每一个月中,每一只股票有成交记录的有几天。‘
就是说要求出:如第一行一月份有成交记录是1,二月份有成交记录是3,以此类推。
我要做出一个循环,写一个程序,使每个股票的答案都能一次性出现。
谢谢
展开
 我来答
thu_yang
2014-08-08 · TA获得超过223个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:153万
展开全部
clear;
A = [0 0 4 4 4 4 0 0 4 4 4 4;...
4 4 0 0 0 0 0 0 0 4 0 0;...
4 4 0 0 0 0 0 0 0 4 0 0;...
4 4 0 4 4 4 4 4 0 4 0 0;...
4 4 0 0 0 0 4 0 0 4 0 4;...
4 0 0 4 4 4 4 4 0 4 0 0;...
4 0 0 0 0 0 4 0 0 4 0 0;...
4 0 0 0 4 4 4 4 4 4 0 0;...
1 1 1 2 2 2 3 3 3 4 4 4];
[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 0 4 4 4 4 0 0 4 4 4 4;...
4 4 0 0 0 0 0 0 0 4 0 0;...
4 4 0 0 0 0 0 0 0 4 0 0;...
4 4 0 4 4 4 4 4 0 4 0 0;...
4 4 0 0 0 0 4 0 0 4 0 4;...
4 0 0 4 4 4 4 4 0 4 0 0;...
4 0 0 0 0 0 4 0 0 4 0 0;...
4 0 0 0 4 4 4 4 4 4 0 0;...
1 1 1 2 2 2 3 3 3 4 4 4];
[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)';
D = sum(C)';
R(:, month) = D(1:h-1);
end
R

从上到下分别代表:

%输入数据
%获得数据大小
%初始化结果
%按月份循环
%将当前月份以及之前月份的所有数据记为1,之后月份的数据记为0
%AB相乘后得到当前月份以及之前月份的所有数据
%对成交量求和
%赋值给结果矩阵R

结果为:
R =

4 16 20 32
8 8 8 12
8 8 8 12
8 20 28 32
8 8 12 20
4 16 24 28
4 4 8 12
4 12 24 28
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式