一句不太理解的Matlab语句,求解释
dataset(1:size(sat_trn,1),:)=sat_trn;这行代码该如何理解,求指导还有一句是dataset(size(sat_trn,1)+1:size...
dataset(1:size(sat_trn,1),:)=sat_trn;
这行代码该如何理解,求指导
还有一句是
dataset(size(sat_trn,1)+1:size(sat_trn,1)+size(sat_tst,1),:)=sat_tst; 展开
这行代码该如何理解,求指导
还有一句是
dataset(size(sat_trn,1)+1:size(sat_trn,1)+size(sat_tst,1),:)=sat_tst; 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
1个回答
展开全部
我们可以一步一步分解来看:
首先,了解size()函数的作用,size函数是求矩阵的大小,并且可以通过后面的维度选项,控制输出某一维的大小。
size(sat_trn,1) 表示取sat_trn变量的行数;
1:size(sat_trn,1) 表示取从1到sat_trn行数大小的的位置。
dataset(1:size(sat_trn,1),:)=sat_trn 表示取dataset矩阵中,前1到sat_trn行数大小的行,所有列,用sat_trn赋值。
如果上面明白了,第二句就比较好理解了。
现在dataset的前1到sat_trn行数大小的行都已经被sat_trn赋值,现在想把sat_tst的数据放到其后面,因此就有了第二句话。
size(sat_trn,1)+1 表示从第sat_trn行数+1行开始
size(sat_trn,1)+size(sat_tst,1) 表示到sat_trn行数+sat_tst行数为止
dataset(size(sat_trn,1)+1:size(sat_trn,1)+size(sat_tst,1),:)=sat_tst; 表示中间这么多的数据全部使用sat_tst进行赋值。
其实,这样写比较麻烦,可以用更加简单的方法写。
例如:
首先,dataset = sat_trn;
后面,需要把sat_tst的数据放到sat_trn数据之后,则使用 dataset = [dataset; sat_tst];
以后需要的地方都用这样的方式,就可以把dataset最后生成出来。
首先,了解size()函数的作用,size函数是求矩阵的大小,并且可以通过后面的维度选项,控制输出某一维的大小。
size(sat_trn,1) 表示取sat_trn变量的行数;
1:size(sat_trn,1) 表示取从1到sat_trn行数大小的的位置。
dataset(1:size(sat_trn,1),:)=sat_trn 表示取dataset矩阵中,前1到sat_trn行数大小的行,所有列,用sat_trn赋值。
如果上面明白了,第二句就比较好理解了。
现在dataset的前1到sat_trn行数大小的行都已经被sat_trn赋值,现在想把sat_tst的数据放到其后面,因此就有了第二句话。
size(sat_trn,1)+1 表示从第sat_trn行数+1行开始
size(sat_trn,1)+size(sat_tst,1) 表示到sat_trn行数+sat_tst行数为止
dataset(size(sat_trn,1)+1:size(sat_trn,1)+size(sat_tst,1),:)=sat_tst; 表示中间这么多的数据全部使用sat_tst进行赋值。
其实,这样写比较麻烦,可以用更加简单的方法写。
例如:
首先,dataset = sat_trn;
后面,需要把sat_tst的数据放到sat_trn数据之后,则使用 dataset = [dataset; sat_tst];
以后需要的地方都用这样的方式,就可以把dataset最后生成出来。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询