你能解释一下以下的Octave / MatLab代码吗?

时间:2016-10-27 09:48:17

标签: matlab matrix octave

load train.txt train(186,:)=[]; 
train = train(:,[1 2 4]); 
load test.txt test = test(:,[1 2 4]); 
p1 = clrscr(test(:,1), bayes_cls(train, test(:,2:end), @classpdf_indep, 0.1)); 
p1 = [p1 clserr(test(:,1), bayes_cls(train, test(:,2:end), @classpdf_dep, 0.1))]; 
p1 = [p1 clserr(test(:,1), bayes_cls(train, test(:,2:end), @classpdf_parzen, 0.1))] 
  1. 将名为train.txt的文本文件作为矩阵加载到八度音程中。而且,我们从该矩阵中选择了186行。那么=[]发生了什么?

  2. 我们只选择矩阵train中的所有行,仅列1,2和4,并将其分配给旧矩阵。实质上我们正在清除一些数据。我是对的吗?

  3. 我们正在将test.txt加载到八度音阶并选择第1,2和4列的所有行。我是对的吗?

  4. 那么,#4,5和6行是怎么回事?

1 个答案:

答案 0 :(得分:1)

也许你应该问你的编写代码的指导者?尽管如此:

  1. 文件train.txt中保存了矩阵“train”。它已加载,并且删除了186.行。
  2. 你是对的
  3. 你说得对,但我认为你已经复制并粘贴了错误而错过了“;”和换行
  4. 很难说不知道clscr,clserr,bayes_cls是函数还是数组(我猜它们是函数,在这种情况下,它是通过第一列测试调用clrscr,调用bayes等等)和结果填入p1
  5. 我现在正在救助。这些都是基本的功能/方法,你应该学习matlab语言的基本概念。这就像问“请解释y = f(x)= sin(x)+ x ^ 3”