小编MrO*_*tor的帖子

在Matlab mex文件中使用特征向量

我正在尝试将特征库用于我想在Matlab中制作成mex文件的c ++.我将代码分解为下面的基本要点.我需要制作一个返回向量,其长度对应于输入矩阵的行数.

使用下面的代码,我得到与该行对应的编译时的以下错误:

double y_OUT[nrow] = {};

  • 错误C2057:预期的常量表达式错误
  • 错误C2466:无法分配常量大小为0的数组

我无法弄清楚为什么我不能分配长度为nrow的向量.通过取消注释特定行并通过打印nrow我验证它实际上包含正确的数字.有没有人能给出任何指针(双关语)?

     void mexFunction(
             int          nlhs,
             mxArray      *plhs[],
             int          nrhs,
             const mxArray *prhs[]
             )
    {



      double *x_IN;
      int nrow,ncols;

      /* Check for proper number of arguments */
      //...

      x_IN = mxGetPr(prhs[0]);
      nrow = (int)mxGetM(prhs[0]);
      ncols = (int)mxGetN(prhs[0]);

      double y_OUT[nrow] = {};

      MatrixXd x=Map<MatrixXd>(x_IN,nrow,ncols);
      VectorXd Respons=VectorXd::Zero(nrow);

      Map<VectorXd>(y_OUT,nrow)=Respons.array();
      return;
    }
Run Code Online (Sandbox Code Playgroud)

c++ matlab mex eigen

3
推荐指数
1
解决办法
903
查看次数

使用ggplot2的箱子图

我对使用ggplot2完全不熟悉,但听说它具有很好的绘图功能.我有一个包含不同样本的列表,并根据三个仪器对每个样本进行观察.我想把它变成带有箱形图的图形.我不能包含一个数字,但下面列出了制作示例图的代码.我们的想法是为每个仪器提供每个样品的箱形图.

此外,在图表旁边,我想制作一个图例,为每个样本编号命名.我不知道如何用ggplot2开始这样做.

任何帮助将不胜感激

生成示例图像的R代码是:

#Make data example
Data<-list();
Data$Sample1<-matrix(rnorm(30),10,3);
    Data$Sample2<-matrix(rnorm(30),10,3);
Data$Sample3<-matrix(rnorm(30),10,3);
    Data$Sample4<-matrix(rnorm(30),10,3);

#Make the plots
par(mfrow=c(3,1)) ;
boxplot(data.frame(Data)[seq(1,12,by=3)],names=c(1:4),xlab="Sample number",ylab="Instrument 1");
boxplot(data.frame(Data)[seq(2,12,by=3)],names=c(1:4),xlab="Sample number",ylab="Instrument 2");
boxplot(data.frame(Data)[seq(3,12,by=3)],names=c(1:4),xlab="Sample number",ylab="Instrument 3");
Run Code Online (Sandbox Code Playgroud)

r ggplot2 boxplot

1
推荐指数
1
解决办法
6891
查看次数

标签 统计

boxplot ×1

c++ ×1

eigen ×1

ggplot2 ×1

matlab ×1

mex ×1

r ×1