楼主: dqianli
7185 2

[问答] 求高人赐教,Matlab如何重复向量元素 [推广有奖]

  • 0关注
  • 0粉丝

已卖:149份资源

硕士生

95%

还不是VIP/贵宾

-

威望
0
论坛币
74 个
通用积分
0.1800
学术水平
1 点
热心指数
2 点
信用等级
0 点
经验
10485 点
帖子
132
精华
0
在线时间
226 小时
注册时间
2008-12-14
最后登录
2018-1-23

楼主
dqianli 发表于 2012-11-19 01:05:17 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我有两个向量a1=[1;2;3];b1=[4;5;6],不用loop,怎么生成一个[4;5;5;6;6;6]这样的向量?

有谁知道什么好点的方法吗?数据量大的时候,用loop太慢了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB matla atlab Lab Atl 如何 元素

沙发
moocow 发表于 2012-11-19 14:51:41
tic;
b1 = [4;5;6];
tmp = tril(repmat(b1, 1, numel(b1)))';
tmp = tmp(tmp~=0);
toc;

tic;
b1 = [1:1000]';
tmp = tril(repmat(b1, 1, numel(b1)))';
tmp = tmp(tmp~=0);
toc;

我的机器,生成一个b=[1:1000]'的向量,需要时间0.02秒。
已有 1 人评分论坛币 收起 理由
admin_kefu + 100 热心帮助其他会员

总评分: 论坛币 + 100   查看全部评分

藤椅
dqianli 发表于 2012-11-20 06:11:49
moocow 发表于 2012-11-19 14:51
tic;
b1 = [4;5;6];
tmp = tril(repmat(b1, 1, numel(b1)))';
真不好意思,我没讲清楚。
我想生成的向量是向量a1代表次数,b1代表元素,比如a1=[3;2;1],b1=[2;3;4],那么生成的c=[2;2;2;3;3;4]这样子。
要是能不需要for语句就好了。:)

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-20 10:58