当前位置: 首页 > news >正文

百度公司网站建设百度人工服务电话

百度公司网站建设,百度人工服务电话,做网站首选智投未来1,张家港做网站广告公司在利用MATLAB进行封装函数之后,最主要的目的是对函数进行调用,能够对矩阵运算和其他算法的运行进行快捷处理。 在有了MATLAB函数之后封装成DLL文件之后,在QT中添加动态链接库,就可以实现函数的调用过程,这个过程相对简…

在利用MATLAB进行封装函数之后,最主要的目的是对函数进行调用,能够对矩阵运算和其他算法的运行进行快捷处理。

在有了MATLAB函数之后封装成DLL文件之后,在QT中添加动态链接库,就可以实现函数的调用过程,这个过程相对简单,这里重点说明如何使用生成的DLL。

以一个MATLAB函数为例,

function y = int2bin(source,N)
%简单的将10进制整数转化为N位2进制
%正负均用原码表示
len = length(source);
y = zeros(len,N);
if nargin~=2error('You have to input two arguments.')
end
if N<0error('You have to input a positive number of digits.')
end
if N~=fix(N)error('You have to input a integer for N')
end
for i = 1:lenif (source(i)>= 0) % 判断是否为正数y(i,1) = 0; % 正数第一位0temp=source(i);for j= 2 : Ny(i,N-j+2)=mod(temp, 2);temp = floor(temp/2);endelsey(i,1) = 1; % 负数第一位1temp=abs(source(i));for j= 2: Ny(i,N-j+2)=mod(temp, 2);temp = floor(temp/2);endend
end

这个函数的功能为把输入的10进制数据转换为N位的1进制数据,这个函数有有个输入参数,一个输出参数,通过deploytool指令对其进行封装,生成对应的三个文件,
在这里插入图片描述
打开.h文件,其中需要使用的函数有两个,
一个为,这个是函数的初始化函数,调用该函数看是否能够初始化成功。

extern LIB_int2bin_C_API 
bool MW_CALL_CONV int2binInitialize(void);

另一个为功能函数,

extern LIB_int2bin_CPP_API void MW_CALL_CONV int2bin(int nargout, mwArray& y, const mwArray& source, const mwArray& N);

该功能函数中含有四个参量,第一个参量int nargout 这个参数是一个int型参数,注意这个参数表示的是输出参数的个数,对应该int2bin函数,输出只有一个y,那么在进行函数调用的时候需要在此处填入1,如果MATLAB编写的函数有个两个输出参量,那么对应QT函数调用时候,这个第一个输入参量int nargout需要输入2,如果多个输出参量没有注意设定这个int值,将只有第一个输出量有结果。

函数中后面的三个参量正好对应着输出变量和两个输入变量,名称是和MATLAB函数一一对应的。注意变量类型为mwArray,所以对应输出的变量都需要按照该类型进行声明和定义。

下面给出qt中调用的完整过程。

// 把数据转换成16进制数据
if(!int2binInitialize())
{qDebug() << "Could not initialize int2bin!" ;
}
qDebug() << "int2binInitialize!" ; // 查看函数是否初始化成功mwArray output(mxDOUBLE_CLASS,mxREAL);
mwArray input1(360, 1, mxDOUBLE_CLASS);
mwArray input2(1, 1, mxDOUBLE_CLASS);
double input2Data[1] = {8};
input2.SetData(input2Data, 1);
int2bin(1, output, input1, input2);

这个过程就完成了函数的调用的过程,注意对于传入的函数的值必须为mwArray类型,对于该类型的赋值可以使用方法setData,其中的第二个参数为赋值的个数,因为数据类型表示的是矩阵,所以不一定是一个,对应的传入的量可以用一个数组类型,注意输入数据的维度要和MATLAB中定义的保持一直,如第一个input1表示的输入的是一个360*1的向量,共360个元素,这时候如果利用数组赋值需要input1.SetData(input1Data, 360)对该变量进行赋值。

而对于从变量中取数值使用的过程可以直接使用角标来提取,也可以使用Get方法来提取。

http://www.wangmingla.cn/news/86549.html

相关文章:

  • 做手机网站的重要性怎么建网站详细步骤
  • 一级a做爰片免费网站无毒网站建设公司排行榜
  • 设计公司网站什么重要seo推广费用
  • 66郑州网站建设电商营销推广方案
  • 网站带后台北京网站seo公司
  • 怎样做公司的网站首页免费注册个人网站
  • wordpress表单附件上传图片seo计费系统源码
  • 福州建设网站公司如何做好一个网站
  • 安徽六安什么时候解封淄博seo公司
  • 做整形网站多少钱合肥品牌seo
  • 网络推广营销工具北京seo优化费用
  • 分类信息网站如何做排名怎么制作个人网站
  • 湖北标书设计制作优化英文
  • 衡阳网站建设公司天津百度推广公司
  • 河源网站开发推广联系方式
  • 手机什么网站可以设计楼房市场宣传推广方案
  • 最干净在线网页代理seo型网站
  • 深圳市住建局网站关键词优化营销
  • 凡科怎样免费做网站网推是什么意思
  • 网站建设jutuibao西安seo推广
  • 网站制作什么语言最好站长工具seo综合查询烟雨楼
  • 凡科网做网站好吗百度推广客户端下载安装
  • 用虚拟机做网站服务器竞价培训
  • 郑州市网站建设seo常用优化技巧
  • 网站哪些数据免费seo软件
  • 花都网站设计都百度关键词快速优化
  • 门户网站开发报价单广告投放数据分析
  • 温州网站建设哪家好无锡百度推广代理公司
  • 新建网站二级网页怎么做app推广文案
  • 做企业网站的步骤网站的设计流程