[已答复] 关于randi的问题

[复制链接]
胡武的 发表于 2018-5-2 13:47:12
  NoPoint=round(D*Pc);
    PoPoint=randi(NoPoint,NP/2,[1 D]);
其中D=10;NP=100;我想知道第二句话是什么意思?我在编辑的时候出现“错误使用 randi       Size 输入必须为标量。”我查看randi,上面也没有我这种用法,有人知道吗?

5 条回复


TCCMATLAB 发表于 2018-5-2 14:07:15
MATLAB及你自己都知道这样用不对。
首先这句代码是哪来的? 如果是书上写的,那么书上有没有写明MATLAB的版本,因为不同版本会有一些函数变动。
根据这句的写法,感觉应该是代码写反了。
更多是如下形式:
PoPoint = randi([1 D], NoPoint, NP/2);

表示创建一个随机矩阵,矩阵的size为NoPoint * NP/2 ,矩阵中值的大小在1~D之间。

胡武的 发表于 2018-5-2 14:11:49
未定义函数或变量 'SortMSLL1'。

出错 liti (line 51)
    Sortf=SortMSLL1(1:NP);
如果按您说的修改的话,会出现上面的错误。
我是看书在学习的,这是一段关于遗传算法的一段,这句话是要交叉基因的位子

夏杪123 发表于 2020-3-23 00:56:19
胡武的 发表于 2018-5-2 14:11
未定义函数或变量 'SortMSLL1'。

出错 liti (line 51)

博主,最后你解决这个问题了?

yangqihang 发表于 2021-3-8 19:39:21
新版本已经把randint删除了,在这不过多解释下面是怎么变化的了,一个例子大家就明白了。
randint(1,1,[1,5])  改为
randi([1,5],1,1)

danaodai 发表于 2022-9-20 17:46:41
yangqihang 发表于 2021-3-8 19:39
新版本已经把randint删除了,在这不过多解释下面是怎么变化的了,一个例子大家就明白了。
randint(1,1,[ ...

感谢大佬
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表