查看: 675|回复: 6|关注: 0

[已解决] 使用错误randperm size必须为标量,如何解决,新手一枚

[复制链接]

新手

13 麦片

财富积分


050


6

主题

17

帖子

0

最佳答案
在matlabR2016a下执行,目的是为了生成4个随机不重复的随机数,存入x(i,:)
代码如下:
for i = 1:3
     Xmax=999;
     Xmin = 1;
     a = randperm(Xmax-Xmin);
     x(i,:) = Xmin + a(1:4);
end

可是报错:
错误使用 randperm
Size 输入必须为标量。

出错 main (line 21)
a = randperm(Xmax-Xmin);


新手一枚,没搜到类似问题的解决方法,希望前辈们可以帮帮忙,Thanks♪(・ω・)ノ




新手

9 麦片

财富积分


050


0

主题

6

帖子

1

最佳答案
发表于 2018-1-11 21:58:03 | 显示全部楼层
R2017b运行没有问题,要不你传一个全程序?

论坛优秀回答者

权威

7284 麦片

财富积分



5

主题

8687

帖子

1666

最佳答案
  • 关注者: 376
发表于 2018-1-11 22:22:57 | 显示全部楼层
本帖最后由 jingzhaos 于 2018-1-11 22:28 编辑

代码确实没有问题,可以执行。
  1. cell2mat(arrayfun(@(k) randsample(999,4),1:3,'un',0))'
复制代码

新手

13 麦片

财富积分


050


6

主题

17

帖子

0

最佳答案
 楼主| 发表于 2018-1-11 22:32:14 | 显示全部楼层
LeoJoshua 发表于 2018-1-11 21:58
R2017b运行没有问题,要不你传一个全程序?

我发帖的时候,发的简易版本,发现问题其实是出现在上面,我能重发一个您帮我看看怎么改么?谢谢
D = 6;
lie = 1000;
Xmax = lie*ones(1,D);
Xmin = ones(1,D);
N = 50;
M = 1000;

for i = 1:N
        a = randperm(Xmax-Xmin);
        x(i,:) = Xmin + a(1:D);
        V(i,:) = rand(1,D).*Xmax;
end

报的错同上

新手

13 麦片

财富积分


050


6

主题

17

帖子

0

最佳答案
 楼主| 发表于 2018-1-11 22:37:14 | 显示全部楼层
jingzhaos 发表于 2018-1-11 22:22
代码确实没有问题,可以执行。

我发帖的时候,发的简易版本,发现问题其实是出现在上面,我能重发一个您帮我看看怎么改么?谢谢
D = 6;
lie = 1000;
Xmax = lie*ones(1,D);
Xmin = ones(1,D);
N = 50;
M = 1000;

for i = 1:N
        a = randperm(Xmax-Xmin);
        x(i,:) = Xmin + a(1:D);
        V(i,:) = rand(1,D).*Xmax;
end

报的错同上

论坛优秀回答者

权威

7284 麦片

财富积分



5

主题

8687

帖子

1666

最佳答案
  • 关注者: 376
发表于 2018-1-11 22:41:08 | 显示全部楼层 |此回复为最佳答案
本帖最后由 jingzhaos 于 2018-1-11 22:48 编辑
咖喱17 发表于 2018-1-11 22:37
我发帖的时候,发的简易版本,发现问题其实是出现在上面,我能重发一个您帮我看看怎么改么?谢谢
D = 6;
...

问题就出在你的Xmax、Xmin是向量。randperm(Xmax-Xmin)无法执行。你需要的实际上就是:
  1. V=rand(50,6).*cell2mat(arrayfun(@(k) randsample(999,6),1:50,'un',0))'
复制代码


新手

13 麦片

财富积分


050


6

主题

17

帖子

0

最佳答案
 楼主| 发表于 2018-1-12 09:26:40 | 显示全部楼层
jingzhaos 发表于 2018-1-11 22:41
问题就出在你的Xmax、Xmin是向量。randperm(Xmax-Xmin)无法执行。你需要的实际上就是:

...

原来如此,Thanks♪(・ω・)ノ~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表