- 博客(0)
- 资源 (23)
空空如也
Matlab仿真技术与应用教程
本书基于当前最流行的MATLAB 6.5版本进行编写,通过大量的实例对MATLAB在电子通信方面的知识进行了全面的论述。全书遵照由浅入深和以任务驱动为主线的写作手法,通过大量的实例介绍了如何使用MATLAB实现对电子线路、数字电路、数字信号处理、数字通信的仿真及其方法和技巧。此外,附录中还列出了与本书所述内容有关的MATLAB函数及Simulink模块,以供查阅。同时,在每章最后都附上了针对本章内容的习题,以供读者巩固和自测所学知识之用。
本书语言通俗易懂,内容丰富详实,突出了以实例为中心的特点,既适合各高等院校的电子工程、通信工程、信息工程、自动控制等专业的高年级本科生、研究生使用,也适合相关专业工程技术人员使用。
2011-01-06
精通Matlab与C/C++混合程序设计(第2版) 2
本书主要介绍如何运用Matlab与C/C++进行混合程序设计。共分8章,主要包括: Matlab程序设计初步、Matlab编译器、Matlab与C语言的接口、生成可独立运行的Matlab程序、Visual C++调用Matlab程序、Matlab DotNet Builder 与 Visual C ++、Matcom与C/C++以及Visual C++调用Matlab C++数学库。另外,附录中介绍有关动态链接库的基础知识。各章包含大量的实例程序,可供寻求将Matlab程序脱离Matlab环境的Matlab程序设计人员、寻求在Matlab中调用C/C++程序的程序设计人员、寻求在C/C++中调用Matlab程序的程序设计人员学习和参考。
本书附带一张光盘,其中包含各章实例程序的源代码。
2010-12-05
精通Matlab与C/C++混合程序设计(第2版) 1
自MathWorks推出Matlab 7.0以后,Matlab编译器在很多方面都发生了很大变化。其中最大的变化是Matlab编译器不再将Matlab程序直接编译为C/C++代码,而只生成Matlab程序接口文件,Matlab程序则直接交给MCR(Matlab Component Runtime)来执行。新的Matlab编译器架构形成了新的Matlab与C/C++混合程序设计特点:
?
Matlab程序在MCR环境下与在Matlab环境下执行的效率相同,因此,通过编译Matlab程序不会提高Matlab程序的效率。
?
MCR的启动时间与Matlab程序的启动时间相同,在混合程序设计中应考虑这一点。
在C/C++程序中无论采用哪种调用方式调用Matlab程序,最终结果都是由MCR执行Matlab程序。
?
由于Matlab编译器只生成Matlab接口文件,而MCR接口一般会采用兼容设计,因此,与Matlab 6.5及以前版本的软件相比,用户开发C/C++混合程序设计的复杂度降低,可继承性提高。
?
由于采用MCR执行Matlab程序而不是将Matlab程序编译为C/C++程序,Matlab函数和工具箱中可编译的部分大大增加,为用户开发混合编程提供了方便。
正是存在这些诸多不同,原有的C/C++与Matlab混合程序设计的具体实现方法需要进行修正。为此,笔者对《精通Matlab与C/C++混合程序设计》第1版中的内容进行了相应增删或修正,形成了本书的内容。
所谓“万变不离其宗”,虽然Matlab编译器的架构发生了很大的变化,但Matlab与C/C++混合程序设计还是继承了原有思路。读者在应用中可根据自己的需求选择Matlab调用C/C++程序(MEX文件)、将Matlab程序编译为独立可执行文件、C/C++程序调用Matlab引擎、C/C++程序调用Matlab程序编译后的动态链接库以及C/C++程序调用Matlab程序编译后的COM组件等方式进行。
Matlab调用C/C++程序通过将其编译为MEX文件来实现,Matlab提供了一组C语言API函数供用户调用。这组API函数是Matlab与用户C程序之间的桥梁。通过调用C/C++程序编译的MEX文件,用户可以将Matlab程序中运算效率不高的代码用C/C++来实现,从而提高计算效率。
C/C++调用Matlab程序用户可以选择调用Matlab程序编译后的动态链接库或Matlab程序编译后的COM组件,这两种调用方法的执行效率是相同的。动态链接库方式实现起来比较简单,COM组件方式实现起来较复杂。除此之外,C/C++可以通过Matlab引擎直接执行Matlab程序,但这种方式不能脱离Matlab环境执行。
另外,书中还介绍了另外两种Matlab与C/C++混合程序设计的方法:Matcom C/C++数学库和Matlab C++数学库。其中,Matcom是第一个可以将Matlab *.m文件编译为C/C++代码的编译器。Matcom可以直接将m文件编译为C/C++代码,但只支持Matlab 5.3版。现在一般情况下没有必要使用Matcom编译Matlab程序,但Matcom的C++矩阵库仍然有一定的使用价值。Matlab C++数学库是Matlab提供的一组封装好的矩阵运算数学库,其使用方法和Matlab环境中的编写方法十分类似。如果用户用Visual C++实现用户界面,而又希望寻找一组高效的矩阵运算数学库的话,那么Matlab C++数学库是一个不错的选择。
Matlab与C/C++混合程序设计方法各有千秋,具体应用还要结合开发者的具体情况进行选择。但无论使用哪种方法,Matlab的数据结构与C/C++的数据结构之间的相互访问和转换都是混合编程的关键,这也是本书重点所在,希望读者在阅读和开发过程中引起注意。
本书所有的源代码均可在附带的光盘中找到。第7章“Matcom与C/C++”的开发和编译环境为Visual C++ 6.0与Matcom 4.5.1;第8章“VC++调用Matlab C++数学库”的开发和编译环境为Visual C++ 6.0与 Matlab 6.5.1;其他各章的开发和编译环境为Visual C++ 6.0与Matlab 2007。
在本书的编写过程中有幸得到很多同志的支持和帮助,在此感谢所有为本书的完成提供过帮助的同事和朋友。感谢网络上提供Matlab与C/C++混合程序设计资料的网友们,在学习Matlab与C/C++混合程序设计的过程中,这些资料使我受益匪浅。感谢我的妻子齐春溪女士,在她的大力支持和协助之下此书方得以顺利编写完成。
2010-12-05
基于Fuzzy_PID多模态控制的位置跟踪系统
针对PID控制和模糊控制在位置跟踪系统应用中的局限性,利用它们的各自优点,采用多
模态控制方法对位置跟踪系统进行控制,给出模糊控制器的设计过程以及采用PID控制和模糊控
制相结合的多模态控制方法的运行结果.跟踪结果表明,该方法不仅减小了系统稳态误差,而且改
善了系统动态特性,证明了多模态控制在位置跟踪系统中的应用价值.
2010-11-29
数值分析第五版答案(清华大学出版社)
数值分析第五版答案(清华大学出版社),《数值分析》是作者在多年为理工科硕士研究生讲授数值分析课程的基础上编写而成的。全书共分9章,内容包括:绪论,插值、拟合与逼近,数值积分与数值微分,线性方程组的直接解法,线性方程组的迭代解法,矩阵特征值问题的数值解法,常微分方程的数值解法,非线性方程求根的数值方法,非线性方程求根的仿生方法
2010-05-19
用单片机控制直流电机
本设计以AT89C51单片机为核心,以4*4矩阵键盘做为输入达到控制直流电机的启停、速度和方向,完成了基本要求和发挥部分的要求。在设计中,采用了PWM技术对电机进行控制,通过对占空比的计算达到精确调速的目的。
2010-02-02
基于实时多任务操作系统_COS_的C8051F系列单片机应用系统开发
摘要:介绍了μCOS2Ⅱ 的工作原理及 C8051F系列单片机的特点 ,讨论了将μCOS2Ⅱ移植到 C8051F040
单片机应用系统中的方法。应用系统实现了串口通信及 CAN通信等任务
2009-08-31
WindowsCE电池驱动采样算法的改进设计
首先介绍电池驱动的软硬件架构。该架构独立于具体的开发平台,可以方便地移植到各种平台上;重点
讨论电池采样算法的改进,提出三折线段的放电曲线修正和拟合算法,并给出实现方案;结合 Windows
CE和三星公司 S3C2443 CPU 的特性,给出该架构的一种电池驱动程序的实现方案。该方案设计灵活、
稳定可靠,已经应用到实际的嵌入式项目中,效果良好。
2009-08-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人