⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 是“MATLAB混合编程与工程应用”一书的源码
💻 CPP
字号:
#include "StdAfx.h"
#include "mex.h"
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
    double *dataA, *dataB, *Max, *Min;
    int m1, n1, m2,n2,s, i;
	/* 输入的必须是两个矩阵*/
    if(nlhs!=2) 
	{
      mexErrMsgTxt("Must be two matrixs");
	}
    /* 获得输入矩阵 */
    dataA = mxGetPr(prhs[0]);
    dataB = mxGetPr(prhs[1]);
    m1 = mxGetM(prhs[0]);
    n1 = mxGetN(prhs[0]);

    m2 = mxGetM(prhs[1]);
    n2 = mxGetN(prhs[1]);

	if((m1!=m2)||(n1!=n2))
	{
       mexErrMsgTxt("Two matrix must be same");    
	}
    /* 创建输出矩阵*/
    plhs[0] = mxCreateDoubleMatrix(m1, n1, mxREAL);
    Max= mxGetPr(plhs[0]);
    plhs[1] = mxCreateDoubleMatrix(m1, n1, mxREAL);
    Min=mxGetPr(plhs[1]);

    /* 计算最大最小矩阵 */
      s = m1*n1;
      for(i=0; i<s; i++) 
	  {
        if(dataA[i]>=dataB[i])
		{ Max[i] =dataA[i];
		  Min[i]=dataB[i];
		}
        else 
		{
			Max[i] = dataB[i];
			Min[i]=dataB[i];
		}
      }   
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -