matlab在矩阵后面添加两行数据_用matlab怎么在矩阵后面加入一列自己想加的内容?...

展开全部

其实这种e68a84e8a2ad62616964757a686964616f31333337396231不好用矩阵表示,因为数据格式不一样。最好的方法是matlab中的table或cell,推荐table。第一列是券商,第二列是市盈率,第三列是排名。为了实现你说的排名方法,应该在加两列,倒腾数据用,然后删除。假设券商m个,temp = cell(m,4);

tab = cell2table(temp,'VariableNames',{'trader','earning','ranking','dummy1','dummy2'});

tab.trader = {'券商1';  '券商2’};  % 你把你提取出来的名字写成列向量。

tab.earning = 市盈率列向量;

tab.dummy1 = (1:m)'  % 其实是券商的序号

sortrows(tab,'earning','descend') ;  %按市盈率从高到低排名,你的是从低到高,那就把descend删掉。

tab.dummy2 = (1:m)' ; %排名

for ii = 1:m

tab.ranking{ii}=strcat(num2str(tab.dummy2(ii)),'/',num2str(m));

end

如果是按排名顺序,现在删掉多余的列即可;tab(:,'dummy1')=[];

tab(:,'dummy2') = [];

如果按券商开始的顺序排名,那么还要倒腾一下。sortrows(tab, 'dummy1');

然后删除多余的列。

其实更简单的是在excel中做,导入到matlab


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部