MET混合编程(VC6).ppt

  1. 1、本文档共117页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MET混合编程(VC6)

上述代码片段创建的稀疏矩阵如下:见data10.c ans = (1,1) 3 (2,2) 1 (3,3) 10 (4,4) -7 whos Name Size Bytes Class ans 4x4 68 double array (sparse) Grand total is 4 elements using 68 bytes 与之对应的满阵为 full(ans) ans = 3 0 0 0 0 1 0 0 0 0 10 0 0 0 0 -7 2)在外部接口函数中,还存在一个函数用来创建逻辑类型的稀疏矩阵,该函数的定义如下:   mxArray *mxCreateSparseLogicalMatrix(int m, int n, int nzmax)   该函数的输入、输出参数和前面介绍的创建双精度类型稀疏矩阵函数的输入、输出参数的意义是一致的,这里就不再赘述了。下面的代码片段说明了创建逻辑类型稀疏矩阵的过程。 /* 稀疏矩阵数据 */ mxLogical data[] = { 1, 1, 1}; /* ir 向量 ,jc 向量 */ int irdata[] = { 1,3,0 }; int jcdata[] = { 0, 1, 2, 3 }; mxArray *Data; mxLogical *pr; int *ir , *jc; /* 创建稀疏矩阵- 4×3矩阵*/  Data = mxCreateSparseLogicalMatrix(4,3,3); /*获取实际数据的指针 */ pr = mxGetLogicals( Data ); /* ir 向量的指针, jc 向量的指针 */ ir = mxGetIr( Data ); jc = mxGetJc( Data ); /*复制数据 */ memcpy( pr, data, 3*sizeof(mxLogical) ); /*复制ir向量的数据 */ memcpy( ir, irdata, 3*sizeof(int) ); /*复制jc向量的数据*/ memcpy( jc, jcdata, 4*sizeof(int) );   请读者参照前面创建双精度类型稀疏矩阵的代码自学这部分代码,这部分代码创建的稀疏矩阵为 见data11.c ans = (2,1) 1 (4,2) 1 (1,3) 1 whos Name Size Bytes Class ans 4x3 31 logical array (sparse) full(ans) ans = 0 0 1 1 0 0 0 0 0 0 1 0 从实际的效果上看,上面例子得到的稀疏矩阵并没有节约内存,所以逻辑类型的稀疏矩阵要酌情使用。 此外,在创建稀疏矩阵的时候,还可以直接使用mxSetIr、 mxSetJc、mxSetNzmax等函数直接完成稀疏矩阵的属性设置,这些函数的说明请参阅MATLAB的帮助文档。 7.3.7 内存管理操作   由于所有使用mxArray数据类型对象的操作都使用了指针操作,所以内存的分配和管理在外部接口应用程序中显得尤为重要。 特别是C语言的应用程序不像MATLAB的M语言应用程序,在M语言应用程序中,程序员可以不关心内存的分配和释放,这些工作都由MATLAB的解释器来完成。 但是在C语言程序中,内存的分配和释放就需要程序员编写代码来完成操作了。   在mx函数中,同样包含了若干数据内存分配和释放的函数。 在前面几个小节中介绍了很多mxCreate函数,分别用来创建不同类型的mxArray数据类型对象,这些数据对象分别表示不同类型的MATLAB数据。 这些mxCreate函数是在C语言的数据内存中分配工作的,当内存分配成功后,则返回相应的指针(内存地址),否则出现不同类型的错误提示信息。   如果在程

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档