一句不太理解的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;
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
yanglei5658
推荐于2016-02-02 · TA获得超过4756个赞
知道大有可为答主
回答量:835
采纳率:100%
帮助的人:524万
展开全部
我们可以一步一步分解来看:
首先,了解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最后生成出来。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式