| 查看: 2335 | 回复: 2 | ||
gupenggogo
|
[求助]
MATLAB中输入数据的随机问题(ind命令)
|
|
%说明:代码1,输入变量随机(使用ind)。 clc;clear; NUM = xlsread('表格1'); xx=NUM(1:66,1:7);%输入数据是66行,7列。前6列为自变量x1~x6,第7列为因变量y。 ind = randperm(66); xtrain=xx(ind(1:50),1:6);%训练数据x ytrain=xx(ind(1:50),end);%训练数据y xtest=xx(ind(51:end),1:6);%测试数据x ytest=xx(ind(51:end),end);%测试数据y %说明:代码2,输入变量未随机(没有用ind)。 clc;clear; NUM = xlsread('表格1'); xx=NUM(1:66,1:7);%输入数据是66行,7列。前6列为自变量x1~x6,第7列为因变量y。 xtrain=xx(1:50,1:6);%训练数据x ytrain=xx(1:50,end);%训练数据y xtest=xx(51:end,1:6);%测试数据x ytest=xx(51:end,end);%测试数据y 问题(1): 代码2中没有使用ind,每次运算后结果恒定唯一。而代码1中使用ind命令,使得输入变量xtrain、xtrain、xtest和ytest随机从xx中提取,每次运行结果都不一样,且最后计算结果比代码2精确(例如xtrain需要50行,不是按照从第一行到第50行从xx中提取。而是随机从xx的66行中提取,不按照顺序,只要满足提取了50行就OK)。以上2个代码主要用于比较ind,ind使得输入的变量随机生成,提高了验算精度,但是我个人对于为何使用ind会提高计算精度感到困惑,搜索关于ind的资料也基本没有。有没有哪位理解的或者有相关资料可以提供的? 问题(2): ind的好处是提高了运算精度,但是使得最后生成的结果也打乱顺序了(因为一开始从xx中提取时就打乱顺序了)。有没有哪位朋友知道在MATLAB中有没有办法既能达到ind命令的这种效果,又不会打乱数据顺序的? 麻烦大家了,谢谢! ![]() ![]() |
» 猜你喜欢
假如你的研究生提出不合理要求
已经有8人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
实验室接单子
已经有4人回复
全日制(定向)博士
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
|
2楼2016-07-23 21:13:30
gupenggogo 
金虫 (小有名气)
![]() ![]() |
3楼2016-07-24 10:48:59














回复此楼
