A. 求推荐matlab书,谢了哦,最好是与通信有关的
我们专业一般只有MATLAB进行数值分析,不同的专业MATLAB有不同的侧重,自己在下面选吧
薛定宇《高等应用数学问题的MATLAB求解》http://www.matlabsky.com/thread-177-1-1.html
樊京《MATLAB控制系统应用与实例》http://www.matlabsky.com/thread-324-1-1.html
李南南《MATLAB 7简明教程》http://www.matlabsky.com/thread-321-1-1.html
sandy《Matlab与数值分析简明教程》http://www.matlabsky.com/thread-320-1-1.html
满晓宇《战胜MATLAB必做练习50题》http://www.matlabsky.com/thread-319-1-1.html
宋新山《Matlab在环境科学中的应用》http://www.matlabsky.com/thread-303-1-1.html
R. S. Schestowitz《MATLAB GUI Tips》(Matlab GUI编程技巧) http://www.matlabsky.com/thread-275-1-1.html
L. F. Shampine《Solving ODEs with MATLAB》http://www.matlabsky.com/thread-215-1-1.html
周胜军《Matlab web server 开发文档》http://www.matlabsky.com/thread-214-1-1.html
郭毓《MATLAB与SIMULINK基础》讲义--南京理工大学自动化系http://www.matlabsky.com/thread-213-1-1.html
《Matlab在数学规划中的应用》http://www.matlabsky.com/thread-212-1-1.html
《Matlab关于微分方程的解法》http://www.matlabsky.com/thread-211-1-1.html
《先进算法讲义》(中科大) http://www.matlabsky.com/thread-210-1-1.html
乌旭《Matlab基础》实验讲义---大连海事大学http://www.matlabsky.com/thread-209-1-2.html
《Matlab详细手册(web版)》讲义 http://www.matlabsky.com/thread-208-1-2.html
《simulink建模仿真》讲义http://www.matlabsky.com/thread-207-1-2.html
《精通MATLAB综合辅导与指南例程》讲义http://www.matlabsky.com/thread-206-1-2.html
《科学计算与MATLAB语言》讲义 http://www.matlabsky.com/thread-204-1-2.html
《MATLAB 程式设计与应用》讲义(by 张智星)http://www.matlabsky.com/thread-203-1-2.html
《Matlab6.0数学手册》pdf版(by Archan)http://www.matlabsky.com/thread-202-1-2.html
《MATLAB实验仿真与算法设计》教学课件(谢红梅) http://www.matlabsky.com/thread-201-1-2.html
冈萨雷斯《数字图像处理》中文版http://www.matlabsky.com/thread-180-1-2.html
雷英杰《MATLAB 遗传算法工具箱与应用》http://www.matlabsky.com/thread-200-1-2.html
Stephen J.Chapman《Matlab编程(中文版)》http://www.matlabsky.com/thread-141-1-2.html
Mohand Mokhtari《MATLAB与SIMULINK工程应用》http://www.matlabsky.com/thread-199-1-2.html
王立宁《Matlab与通信仿真》http://www.matlabsky.com/thread-198-1-2.html
苏金明《matlab7.0使用指南》http://www.matlabsky.com/thread-197-1-2.html
苏金明《Matlab图形图像》http://www.matlabsky.com/thread-196-1-2.html
薛定宇《基于MATLABSimulink的系统仿真技术与应用》http://www.matlabsky.com/thread-195-1-2.html
李显洪《Matlab7.x界面设计与编译技巧》http://www.matlabsky.com/thread-194-1-2.html
飞思科技《MATLAB 7辅助信号处理技术与应用》http://www.matlabsky.com/thread-193-1-2.html
苏金明《Matlab工具箱应用》http://www.matlabsky.com/thread-192-1-2.html
何强《Matlab扩展编程》http://www.matlabsky.com/thread-191-1-3.html
何衍庆《控制系统分析、设计和应用---MATLAB语言的应用》http://www.matlabsky.com/thread-190-1-3.html
李国勇《智能控制及其Matlab实现》http://www.matlabsky.com/thread-189-1-3.html
韩利竹《Matlab电子仿真与应用(第二版)》http://www.matlabsky.com/thread-188-1-3.html
程卫国《Matlab5.3精要、编程及高级应用》http://www.matlabsky.com/thread-187-1-3.html
苏金明《Matlab高级编程》 http://www.matlabsky.com/thread-186-1-3.html
飞思科技《MATLAB6.5应用接口编程》 http://www.matlabsky.com/thread-185-1-3.html
飞思科技《MATLAB6.5辅助小波分析与应用》 http://www.matlabsky.com/thread-184-1-3.html
欧阳黎明《MATLAB控制系统设计》 http://www.matlabsky.com/thread-183-1-3.html
沈辉 《精通simulink系统仿真与控制》 http://www.matlabsky.com/thread-182-1-3.html
网冠科技《MATLAB 6.0时尚创作百例》http://www.matlabsky.com/thread-181-1-3.html
王正林《精通Matlab7》 http://www.matlabsky.com/thread-179-1-3.html
钟麟《Matlab仿真技术与应用教程》http://www.matlabsky.com/thread-178-1-3.html
贾秋玲《基于MATLAB 7.X SIMULINK/STATEFLOW系统仿真/分析及设计》http://www.matlabsky.com/thread-176-1-3.html
陈继光 《Matlab与自适应神经网络模糊推理系统》 http://www.matlabsky.com/thread-175-1-3.html
李强《MATLAB数据处理与应用》 http://www.matlabsky.com/thread-174-1-3.html
闻新《Matlab模糊逻辑工具箱的分析与应用》 http://www.matlabsky.com/thread-173-1-3.html
苏金明《Matlab工程数学》http://www.matlabsky.com/thread-172-1-3.html
飞思科技《Matlab7辅助控制系统设计与仿真》 http://www.matlabsky.com/thread-171-1-3.html
陈杰《Matlab宝典》http://www.matlabsky.com/thread-170-1-3.html
邹鲲《MATLAB6.x信号处理》 http://www.matlabsky.com/thread-169-1-4.html
张志涌《掌握和精通Matlab》 http://www.matlabsky.com/thread-168-1-4.html
张志涌《精通matlab6.5 (北航)》 http://www.matlabsky.com/thread-167-1-4.html
施晓红《精通GUI图形界面编辑》http://www.matlabsky.com/thread-160-1-4.html
蒲俊《Matlab工程数学解题指导 》 http://www.matlabsky.com/thread-159-1-4.html
蒲俊《MATLAB 6.0数学手册》http://www.matlabsky.com/thread-158-1-4.html
陆君安《偏微分方程的MATLAB解法》http://www.matlabsky.com/thread-157-1-4.html
刘宏友《MATLAB6.x符号运算及其应用》http://www.matlabsky.com/thread-156-1-4.html
梁宏《信号与系统分析及MATLAB实现》http://www.matlabsky.com/thread-155-1-4.html
李涛《Matlab工具箱应用指南——应用数学篇》 http://www.matlabsky.com/thread-154-1-4.html
杨高波《精通matlab7.0混合编程》 http://www.matlabsky.com/thread-153-1-4.html
精锐创作组《MATLAB 6.0科学运算完整解决方案》 http://www.matlabsky.com/thread-152-1-4.html
王能超《计算方法:算法设计及其matlab实现》 http://www.matlabsky.com/thread-151-1-4.html
黄文梅《信号分析与处理—MATLAB语言及应用》 http://www.matlabsky.com/thread-150-1-4.html
胡良剑《数学实验:使用MATLAB》http://www.matlabsky.com/thread-149-1-5.html
飞思科技《MATLAB6.5辅助优化计算与设计》 http://www.matlabsky.com/thread-148-1-5.html
飞思科技《MATLAB6.5辅助图像处理》http://www.matlabsky.com/thread-147-1-5.html
陈在平《控制系统计算机仿真与CAD—MATLAB语言应用》http://www.matlabsky.com/thread-146-1-5.html
陈亚勇《MATLAB信号处理详解》http://www.matlabsky.com/thread-145-1-5.html
陈怀琛《MATLAB及其在理工课程中的应用指南》http://www.matlabsky.com/thread-144-1-5.html
车晴《电子系统仿真与MATLAB》http://www.matlabsky.com/thread-143-1-5.html
Steven T. Karris《Signals and Systems(Second Edition)》http://www.matlabsky.com/thread-142-1-5.html
Steven T. Karris《Numerical Analysis Using MATLAB and Spreadsheets》http://www.matlabsky.com/thread-140-1-5.html
Nakamura 梁恒译《科学计算引论--基于MATLAB的数值分析》http://www.matlabsky.com/thread-139-1-5.html
Magrab Edward《MATLAB原理与工程应用》http://www.matlabsky.com/thread-138-1-5.html
Vinay K.Ingle《数字信号处理及其Matlab实现》 http://www.matlabsky.com/thread-137-1-5.html
David McMahon 《Matlab揭秘》http://www.matlabsky.com/thread-136-1-5.html
陆君安《偏微分方程的Matlab解法》http://www.matlabsky.com/thread-135-1-5.html
张国良《模糊控制及其Matlab应用》http://www.matlabsky.com/thread-134-1-5.html
丛爽《面向Matlab工具箱的神经网络理论与应用(第2版)》http://www.matlabsky.com/thread-133-1-5.html
陈仲生 《基于matlab7.0的统计信息处理》http://www.matlabsky.com/thread-132-1-5.html
王正林《过程控制与Simulink应用》 http://www.matlabsky.com/thread-131-1-5.html
施阳《MATLAB语言精要及动态仿真工具SIMULINK》http://www.matlabsky.com/thread-130-1-5.html
王正林《Matlab Simulink与控制系统仿真》 http://www.matlabsky.com/thread-129-1-5.html
孙亮《MATLAB语言与控制系统仿真》http://www.matlabsky.com/thread-128-1-6.html
楼顺天《基于MATLAB 的系统分析与设计——模糊系统》http://www.matlabsky.com/thread-127-1-6.html
王全友《Matlab在工程数学上的应用》http://www.matlabsky.com/thread-126-1-6.html
龚妙昆《现代控制引论教程 Matlab辅助实验》http://www.matlabsky.com/thread-125-1-6.html
Matlab官方教程《Learn Matlab7.0》 http://www.matlabsky.com/thread-124-1-6.html
康永《MATLAB语言与控制系统仿真》 http://www.matlabsky.com/thread-123-1-6.html
Matlab官方教程《MATLAB Start》http://www.matlabsky.com/thread-122-1-6.html
Dave Anderson《Artificial Neural Networks_ Technology》(人工神经网络技术) http://www.matlabsky.com/thread-121-1-6.html
仿真科技论坛《Matlab与VC混合编程》 http://www.matlabsky.com/thread-119-1-6.html
《Matlab神经网络工具箱应用简介》 http://www.matlabsky.com/thread-118-1-6.html
Richard Johnson《MATLAB 编程风格指南》 http://www.matlabsky.com/thread-117-1-6.html
聚类算法综述 http://www.matlabsky.com/thread-93-1-6.html
B. 有关MATLAB的这些问题.
1、 与其它高级语言相比,如下四点是否都是有MATLAB的特点?你觉得它还有哪些显着特点? (8分)
① 可靠的数值计算和符号计算功能
② 强大的绘图功能
③ 简单易学的语言体系
④ 为数众多的MATLAB应用工具箱
C. 推荐一下matlab相关书籍
[MATLAB.7.6从入门到精通].张琨.毕靖.丛滨.扫描版.pdf
内容介绍:
本书对MATLAB 7.6进行了详细的介绍和讲解,以实际应用为导向,力求做到由简入繁,并达到快速入门和迅速提高的目的,本书共分为两篇,即基础篇和提高篇,前6章为基础篇,讲解有关MATLAB的基础知识,包括MATLAB的安装、卸载及系统功能的简述,MATLAB的数值运算、符号运算和数据可视化工具,M文件编程以及Simulink框图仿真等内容,第7章~第11章为提高篇,第7章~第9章介绍了MATLAB 7.6的科学计算,S-函数的概念、原理和应用以及图形用户界面功能,第10章、第11章介绍了MATLAB的文件I/O操作和MATLAB的外部接口,其中MATLAB的外部接口包括与C语言、Word和Excel的混合使用以及MATLAB与外部设备和互联网的交互,本书条理明晰,讲解深入浅出,并配有大量实用的例子,适合使用MATLAB的本科生、研究生和教师以及广大科技工作者作为参考用书。
下载: http://www.xuexi111.com/book/jisuanji/38285.html
D. 我对MATLAB面向对象编程很感兴趣,请问哪位有《MATLAB面向对象编程——从入门到设计》电子版 谢谢了
这本书,我没有,但是我又这些,有你有用的吗?找找看!
MATLAB6工程计算及应用.txt
MATLAB与数学实验(第2版).pdf
应用Web和MATLAB的信号与系统基础(第二版).pdf
MATLAB 语言即学即会.PDF
MATLAB 电子仿真与应用33.PDF
MATLAB 神经网络工具箱函数.PDF
MATLAB 神经网络工具箱应用简介.PDF
MATLAB 神经网络应用设计.PDF
MATLAB 程序设计.PDF
MATLAB 程序设计与实例应用.PDF
MATLAB 程序设计与应用3.PDF
MATLAB 程序设计教程.PDF
MATLAB 程序设计语言.PDF
MATLAB 程式设计与应用.PDF
MATLAB 符号数学工具箱应用简介.PDF
MATLAB 语言与控制系统仿真.PDF
MATLAB 语言与数学建模.PDF
Matlab和Maple系统在力学教学中的应用.pdf
Matlab.programming.for.engineers.(2001).pdf
MATLAB.pdf
MATLAB5_x与科学计算.pdf
MATLAB6.0数学手册.pdf
MATLAB 3.PDF
MATLAB 5.3精彩编程及高级应用.PDF
MATLAB 5.3精要、编程及高级应用.PDF
MATLAB 5.x入门与提高.pdf
MATLAB 5.X应用与技巧.PDF
MATLAB 5.X手册.PDF
MATLAB 5.语言与程序设计.PDF
MATLAB 5_1实用指南.PDF
MATLAB 5_3学习教程.PDF
MATLAB 5_3实例教程.PDF
MATLAB 5_3实例详解.PDF
MATLAB 5_3实用教程.PDF
MATLAB 5_3应用指南.PDF
MATLAB 5_3精要、编程及高级应用.PDF
MATLAB 5_X入门与应用.PDF
MATLAB 5_X工具箱使用技巧与实例.PDF
MATLAB 5_X应用与技巧.PDF
MATLAB 5_X程序设计语言.PDF
MATLAB 6 数学建模基础教程.PDF
MATLAB 6.5辅助小波分析与应用.PDF
MATLAB 6_1基础及应用技巧.PDF
MATLAB 6_1实用指南(上册).PDF
MATLAB 6_1实用指南(下册).PDF
MATLAB 6_1最新应用祥解.PDF
MATLAB 6_X图像处理.PDF
MATLAB 6_X符号运算及其应用.PDF
MATLAB 6实例教程.PDF
MATLAB 6数学手册.PDF
MATLAB 6时尚创作百例含1CD.PDF
MATLAB 6科学运算完整解决方案.PDF
MATLAB 7及工程问题解决方案.PDF
MATLAB 7实用指南(上册).PDF
MATLAB 7实用指南(下册).PDF
MATLAB 下的数字信号处理示例…….PDF
MATLAB 与SIMULINK工程应用.PDF
MATLAB 与外部程序接口.PDF
MATLAB 与数学实验.PDF
MATLAB 与通信仿真.PDF
MATLAB 人工神经元网络小例子.PDF
MATLAB 仿真技术与应用.PDF
MATLAB 信号处理.PDF
MATLAB 信号处理详解.PDF
MATLAB 偏微分方程工具箱应用简介.PDF
MATLAB 原理与工程应用.PDF
MATLAB 及其在理工课程中的应用指南.PDF
MATLAB 及其在电路与控制理论中的应用.PDF
MATLAB 及在电子信息类课程中的应用.PDF
MATLAB 命令大全.PDF
MATLAB 图像处理命令.PDF
MATLAB 图形图像.PDF
MATLAB 图形技术——绘图及图形用户接口.PDF
MATLAB 在工程数学上的应用.PDF
MATLAB 在理论力学教学中的应用.PDF
MATLAB 在电信工程中的应用.PDF
MATLAB 基础及数学软件.PDF
MATLAB 外部接口编程.PDF
MATLAB 实用教程.PDF
MATLAB 小波分析工具箱原理与应用.PDF
MATLAB 工具箱应用.PDF
MATLAB 工具箱应用指南:信息工程篇.PDF
MATLAB 工具箱应用指南:控制工程篇.PDF
MATLAB 工具箱应用指南——应用数学篇.PDF
MATLAB 工程数学.PDF
MATLAB 工程数学应用.PDF
MATLAB 工程数学解题指导.PDF
MATLAB 工程计算及应用.PDF
MATLAB 应用图像处理.PDF
MATLAB 应用程序接口.PDF
MATLAB 应用程序接口用户指南.PDF
MATLAB 扩展编程含盘.PDF
MATLAB 控制系统设计.PDF
MATLAB 教程.PDF
MATLAB 数值计算与编程.PDF
MATLAB 数据处理与应用.PDF
MATLAB 数理统计工具箱应用简介.PDF
MATLAB 方法.PDF
MATLAB 模糊逻辑工具箱函数.PDF
MATLAB 模糊逻辑工具箱的分析与应用.PDF
MATLAB 电子仿真与应用.PDF
MATLAB 语言工具箱——TOOLBOX实用指南.PDF
MATLAB 语言应用系列书MATLAB 科学图形构建基础与应用(6_X).PDF
MATLAB 语言程序设计·MATLAB 语言程序设计:5_2版.PDF
MATLAB 语言程序设计教程.PDF
MATLAB 语言精要及动态仿真工具SIMULINK.PDF
MATLAB 进阶(含SIMULINK).PDF
MATLAB 频谱分析.PDF
MATLAB 高级编程.PDF
MATLAB 高级语言及其在控制系统中的应用.PDF
MATLAB与C_C++混合编程.PDF
MATLAB仿真应用详解.pdf
MATLAB仿真应用详解1.pdf
MATLAB及在电子信息课程中的应用 (第3版).pdf
MATLAB数学计算范例教程.pdf
MATLAB程序设计与应用……第一版.pdf
MATLAB程序设计与应用……第二版.pdf
MATLAB语言——演算纸式的科学工程计算语言.PDF
基于MATLAB 的系统分析与设计——时频分析.PDF
基于MATLAB 6_X的系统分析与设计:神经网络.PDF
基于MATLAB 6_X的系统分析与设计:虚拟现实.PDF
基于MATLAB _SIMULINK的系统仿真技术与应用.PDF
基于MATLAB 的系统分析与设计:图像处理.PDF
基于MATLAB 的系统分析与设计:模糊系统.PDF
基于MATLAB 的系统分析与设计——信号处理.PDF
基于MATLAB 的系统分析与设计——小波分析.PDF
基于MATLAB 的系统分析与设计——控制系统.PDF
精通MATLAB 综合辅导与指南.PDF
精讲多练MATLAB .PDF
精通MATLAB 5.PDF
精通MATLAB 5:综合辅导与指南.PDF
精通MATLAB 6.PDF
《 MATLAB 5.2使用手册 》.pdf
E. 求matlab2016a使用教程 谢谢~~
Matlab教程无压缩版网络网盘免费资源在线学习
链接: https://pan..com/s/1YdRyDq_3o_bmbT115BHy6g
Matlab教程无压缩版 Matlab教程 《精通MATLAB GUI设计》随书光盘 《Matlab宝典》 Matlab与VB接口 Matlab谐波分析 Matlab电力系统建模与仿真 战胜MATLAB必做练习50题 2001.pdf
数学实验:使用MATLAB 2001.pdf
科学计算与MATLAB语言 2000.pdf
精通MATLAB7 2006.pdf 精通GUI图形界面编程.pdf
S-Function编写指导.pdf MATLAB中上下标、斜体、箭头等符号的使用方法.doc
F. 怎么在matlab中调用用c语言编写的程序
通过把耗时长的函数用c语言实现,并编译成mex函数可以加快执行速度。Matlab本身是不带c语言的编译器的,所以要求你的机器上已经安装有VC,BC或Watcom
C中的一种。如果你在安装Matlab时已经设置过编译器,那么现在你应该就可以使用mex命令来编译c语言的程序了。如果当时没有选,就在Matlab里键入mex
-setup,下面只要根据提示一步步设置就可以了。需要注意的是,较低版本的在设置编译器路径时,只能使用路径名称的8字符形式。比如我用的VC装在路径C:\PROGRAM
FILES\DEVSTUDIO下,那在设置路径时就要写成:“C:\PROGRA~1”这样设置完之后,mex就可以执行了。为了测试你的路径设置正确与否,把下面的程序存为hello.c。
/*hello.c*/
#include
"mex.h"
void
mexFunction(int
nlhs,
mxArray
*plhs[],
int
nrhs,
const
mxArray
*prhs[])
{
mexPrintf("hello,world!\n");
}
假设你把hello.c放在了C:\TEST\下,在Matlab里用CD
C:\TEST\
将当前目录改为C:\
TEST\(注意,仅将C:\TEST\加入搜索路径是没有用的)。现在敲:
mex
hello.c
如果一切顺利,编译应该在出现编译器提示信息后正常退出。如果你已将C:\TEST\加
入了搜索路径,现在键入hello,程序会在屏幕上打出一行:
hello,world!
看看C\TEST\目录下,你会发现多了一个文件:HELLO.DLL。这样,第一个mex函数就算完成了。分析hello.c,可以看到程序的结构是十分简单的,整个程序由一个接口子过程
mexFunction构成。
void
mexFunction(int
nlhs,
mxArray
*plhs[],
int
nrhs,
const
mxArray
*prhs[])
前面提到过,Matlab的mex函数有一定的接口规范,就是指这
nlhs:输出参数数目
plhs:指向输出参数的指针
nrhs:输入参数数目
例如,使用
[a,b]=test(c,d,e)
调用mex函数test时,传给test的这四个参数分别是
2,plhs,3,prhs
其中:
prhs[0]=c
prhs[1]=d
prhs[2]=e
当函数返回时,将会把你放在plhs[0],plhs[1]里的地址赋给a和b,达到返回数据的目的。
细心的你也许已经注意到,prhs[i]和plhs[i]都是指向类型mxArray类型数据的指针。
这个类型是在mex.h中定义的,事实上,在Matlab里大多数数据都是以这种类型存在。当然还有其他的数据类型,可以参考Apiguide.pdf里的介绍。
为了让大家能更直观地了解参数传递的过程,我们把hello.c改写一下,使它能根据输
入参数的变化给出不同的屏幕输出:
//hello.c
2.0
#include
"mex.h"
void
mexFunction(int
nlhs,
mxArray
*plhs[],
int
nrhs,
const
mxArray
*prhs[])
{
int
i;
i=mxGetScalar(prhs[0]);
if(i==1)
mexPrintf("hello,world!\n");
else
mexPrintf("大家好!\n");
}
将这个程序编译通过后,执行hello(1),屏幕上会打出:
hello,world!
而hello(0)将会得到:
大家好!
现在,程序hello已经可以根据输入参数来给出相应的屏幕输出。在这个程序里,除了用到了屏幕输出函数mexPrintf(用法跟c里的printf函数几乎完全一样)外,还用到了一个函数:mxGetScalar,调用方式如下:
i=mxGetScalar(prhs[0]);
"Scalar"就是标量的意思。在Matlab里数据都是以数组的形式存在的,mxGetScalar的作用就是把通过prhs[0]传递进来的mxArray类型的指针指向的数据(标量)赋给C程序里的变量。这个变量本来应该是double类型的,通过强制类型转换赋给了整形变量i。既然有标量,显然还应该有矢量,否则矩阵就没法传了。看下面的程序:
//hello.c
2.1
#include
"mex.h"
void
mexFunction(int
nlhs,
mxArray
*plhs[],
int
nrhs,
const
mxArray
*prhs[])
{
int
*i;
i=mxGetPr(prhs[0]);
if(i[0]==1)
mexPrintf("hello,world!\n");
else
mexPrintf("大家好!\n");
}
这样,就通过mxGetPr函数从指向mxArray类型数据的prhs[0]获得了指向double类型的指针。
但是,还有个问题,如果输入的不是单个的数据,而是向量或矩阵,那该怎么处理呢
?通过mxGetPr只能得到指向这个矩阵的指针,如果我们不知道这个矩阵的确切大小,就
没法对它进行计算。
为了解决这个问题,Matlab提供了两个函数mxGetM和mxGetN来获得传进来参数的行数
和列数。下面例程的功能很简单,就是获得输入的矩阵,把它在屏幕上显示出来:
//show.c
1.0
#include
"mex.h"
#include
"mex.h"
void
mexFunction(int
nlhs,
mxArray
*plhs[],
int
nrhs,
const
mxArray
*prhs[])
{
double
*data;
int
M,N;
int
i,j;
data=mxGetPr(prhs[0]);
//获得指向矩阵的指针
M=mxGetM(prhs[0]);
//获得矩阵的行数
N=mxGetN(prhs[0]);
//获得矩阵的列数
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
mexPrintf("%4.3f
",data[j*M+i]);
mexPrintf("\n");
}
}
编译完成后,用下面的命令测试一下:
a=1:10;
b=[a;a+1];
show(a)
show(b)
需要注意的是,在Matlab里,矩阵第一行是从1开始的,而在C语言中,第一行的序数为零,Matlab里的矩阵元素b(i,j)在传递到C中的一维数组大data后对应于data[j*M+i]
。
输入数据是在函数调用之前已经在Matlab里申请了内存的,由于mex函数与Matlab共用同一个地址空间,因而在prhs[]里传递指针就可以达到参数传递的目的。但是,输出参数却需要在mex函数内申请到内存空间,才能将指针放在plhs[]中传递出去。由于返回指针类型必须是mxArray,所以Matlab专门提供了一个函数:mxCreateDoubleMatrix来实现内存的申请,函数原型如下:
mxArray
*mxCreateDoubleMatrix(int
m,
int
n,
mxComplexity
ComplexFlag)
m:待申请矩阵的行数
n:待申请矩阵的列数
为矩阵申请内存后,得到的是mxArray类型的指针,就可以放在plhs[]里传递回去了。但是对这个新矩阵的处理,却要在函数内完成,这时就需要用到前面介绍的mxGetPr。使用
mxGetPr获得指向这个矩阵中数据区的指针(double类型)后,就可以对这个矩阵进行各种操作和运算了。下面的程序是在上面的show.c的基础上稍作改变得到的,功能是将输
//reverse.c
1.0
#include
"mex.h"
void
mexFunction(int
nlhs,
mxArray
*plhs[],
int
nrhs,
const
mxArray
*prhs[])
{
double
*inData;
double
*outData;
int
M,N;
int
i,j;
inData=mxGetPr(prhs[0]);
M=mxGetM(prhs[0]);
N=mxGetN(prhs[0]);
plhs[0]=mxCreateDoubleMatrix(M,N,mxREAL);
outData=mxGetPr(plhs[0]);
for(i=0;i<M;i++)
for(j=0;j<N;j++)
outData[j*M+i]=inData[(N-1-j)*M+i];
}
当然,Matlab里使用到的并不是只有double类型这一种矩阵,还有字符串类型、稀疏矩阵、结构类型矩阵等等,并提供了相应的处理函数。本文用到编制mex程序中最经常遇到的一些函数,其余的详细情况清参考Apiref.pdf。
通过前面两部分的介绍,大家对参数的输入和输出方法应该有了基本的了解。具备了这些知识,就能够满足一般的编程需要了。但这些程序还有些小的缺陷,以前面介绍的re由于前面的例程中没有对输入、输出参数的数目及类型进行检查,导致程序的容错性很差,以下程序则容错性较好
#include
"mex.h"
void
mexFunction(int
nlhs,
mxArray
*plhs[],
int
nrhs,
const
mxArray
*prhs[])
{
double
*inData;
double
*outData;
int
M,N;
//异常处理
//异常处理
if(nrhs!=1)
mexErrMsgTxt("USAGE:
b=reverse(a)\n");
if(!mxIsDouble(prhs[0]))
mexErrMsgTxt("the
Input
Matrix
must
be
double!\n");
inData=mxGetPr(prhs[0]);
M=mxGetM(prhs[0]);
N=mxGetN(prhs[0]);
plhs[0]=mxCreateDoubleMatrix(M,N,mxREAL);
outData=mxGetPr(plhs[0]);
for(i=0;i<M;i++)
for(j=0;j<N;j++)
outData[j*M+i]=inData[(N-1-j)*M+i];
}
在上面的异常处理中,使用了两个新的函数:mexErrMsgTxt和mxIsDouble。MexErrMsgTxt在给出出错提示的同时退出当前程序的运行。MxIsDouble则用于判断mxArray中的数据是否double类型。当然Matlab还提供了许多用于判断其他数据类型的函数,这里不加详述。
需要说明的是,Matlab提供的API中,函数前缀有mex-和mx-两种。带mx-前缀的大多是对mxArray数据进行操作的函数,如mxIsDouble,mxCreateDoubleMatrix等等。而带mx前缀的则大多是与Matlab环境进行交互的函数,如mexPrintf,mxErrMsgTxt等等。了解了这一点,对在Apiref.pdf中查找所需的函数很有帮助。
至此为止,使用C编写mex函数的基本过程已经介绍完了。
G. MATLAB学习的书籍
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB应用非常之广泛!
薛定宇《高等应用数学问题的MATLAB求解》http://www.matlabsky.com/thread-177-1-1.html
樊京《MATLAB控制系统应用与实例》http://www.matlabsky.com/thread-324-1-1.html
李南南《MATLAB 7简明教程》http://www.matlabsky.com/thread-321-1-1.html
sandy《Matlab与数值分析简明教程》http://www.matlabsky.com/thread-320-1-1.html
满晓宇《战胜MATLAB必做练习50题》http://www.matlabsky.com/thread-319-1-1.html
宋新山《Matlab在环境科学中的应用》http://www.matlabsky.com/thread-303-1-1.html
R. S. Schestowitz《MATLAB GUI Tips》(Matlab GUI编程技巧) http://www.matlabsky.com/thread-275-1-1.html
L. F. Shampine《Solving ODEs with MATLAB》http://www.matlabsky.com/thread-215-1-1.html
周胜军《Matlab web server 开发文档》http://www.matlabsky.com/thread-214-1-1.html
郭毓《MATLAB与SIMULINK基础》讲义--南京理工大学自动化系http://www.matlabsky.com/thread-213-1-1.html
《Matlab在数学规划中的应用》http://www.matlabsky.com/thread-212-1-1.html
《Matlab关于微分方程的解法》http://www.matlabsky.com/thread-211-1-1.html
《先进算法讲义》(中科大) http://www.matlabsky.com/thread-210-1-1.html
乌旭《Matlab基础》实验讲义---大连海事大学http://www.matlabsky.com/thread-209-1-2.html
《Matlab详细手册(web版)》讲义 http://www.matlabsky.com/thread-208-1-2.html
《simulink建模仿真》讲义http://www.matlabsky.com/thread-207-1-2.html
《精通MATLAB综合辅导与指南例程》讲义http://www.matlabsky.com/thread-206-1-2.html
《科学计算与MATLAB语言》讲义 http://www.matlabsky.com/thread-204-1-2.html
《MATLAB 程式设计与应用》讲义(by 张智星)http://www.matlabsky.com/thread-203-1-2.html
《Matlab6.0数学手册》pdf版(by Archan)http://www.matlabsky.com/thread-202-1-2.html
《MATLAB实验仿真与算法设计》教学课件(谢红梅) http://www.matlabsky.com/thread-201-1-2.html
冈萨雷斯《数字图像处理》中文版http://www.matlabsky.com/thread-180-1-2.html
雷英杰《MATLAB 遗传算法工具箱与应用》http://www.matlabsky.com/thread-200-1-2.html
Stephen J.Chapman《Matlab编程(中文版)》http://www.matlabsky.com/thread-141-1-2.html
Mohand Mokhtari《MATLAB与SIMULINK工程应用》http://www.matlabsky.com/thread-199-1-2.html
王立宁《Matlab与通信仿真》http://www.matlabsky.com/thread-198-1-2.html
苏金明《matlab7.0使用指南》http://www.matlabsky.com/thread-197-1-2.html
苏金明《Matlab图形图像》http://www.matlabsky.com/thread-196-1-2.html
薛定宇《基于MATLABSimulink的系统仿真技术与应用》http://www.matlabsky.com/thread-195-1-2.html
李显洪《Matlab7.x界面设计与编译技巧》http://www.matlabsky.com/thread-194-1-2.html
飞思科技《MATLAB 7辅助信号处理技术与应用》http://www.matlabsky.com/thread-193-1-2.html
苏金明《Matlab工具箱应用》http://www.matlabsky.com/thread-192-1-2.html
何强《Matlab扩展编程》http://www.matlabsky.com/thread-191-1-3.html
何衍庆《控制系统分析、设计和应用---MATLAB语言的应用》http://www.matlabsky.com/thread-190-1-3.html
李国勇《智能控制及其Matlab实现》http://www.matlabsky.com/thread-189-1-3.html
韩利竹《Matlab电子仿真与应用(第二版)》http://www.matlabsky.com/thread-188-1-3.html
程卫国《Matlab5.3精要、编程及高级应用》http://www.matlabsky.com/thread-187-1-3.html
苏金明《Matlab高级编程》 http://www.matlabsky.com/thread-186-1-3.html
飞思科技《MATLAB6.5应用接口编程》 http://www.matlabsky.com/thread-185-1-3.html
飞思科技《MATLAB6.5辅助小波分析与应用》 http://www.matlabsky.com/thread-184-1-3.html
欧阳黎明《MATLAB控制系统设计》 http://www.matlabsky.com/thread-183-1-3.html
沈辉 《精通simulink系统仿真与控制》 http://www.matlabsky.com/thread-182-1-3.html
网冠科技《MATLAB 6.0时尚创作百例》http://www.matlabsky.com/thread-181-1-3.html
王正林《精通Matlab7》 http://www.matlabsky.com/thread-179-1-3.html
钟麟《Matlab仿真技术与应用教程》http://www.matlabsky.com/thread-178-1-3.html
贾秋玲《基于MATLAB 7.X SIMULINK/STATEFLOW系统仿真/分析及设计》http://www.matlabsky.com/thread-176-1-3.html
陈继光 《Matlab与自适应神经网络模糊推理系统》 http://www.matlabsky.com/thread-175-1-3.html
李强《MATLAB数据处理与应用》 http://www.matlabsky.com/thread-174-1-3.html
闻新《Matlab模糊逻辑工具箱的分析与应用》 http://www.matlabsky.com/thread-173-1-3.html
苏金明《Matlab工程数学》http://www.matlabsky.com/thread-172-1-3.html
飞思科技《Matlab7辅助控制系统设计与仿真》 http://www.matlabsky.com/thread-171-1-3.html
陈杰《Matlab宝典》http://www.matlabsky.com/thread-170-1-3.html
邹鲲《MATLAB6.x信号处理》 http://www.matlabsky.com/thread-169-1-4.html
张志涌《掌握和精通Matlab》 http://www.matlabsky.com/thread-168-1-4.html
张志涌《精通matlab6.5 (北航)》 http://www.matlabsky.com/thread-167-1-4.html
施晓红《精通GUI图形界面编辑》http://www.matlabsky.com/thread-160-1-4.html
蒲俊《Matlab工程数学解题指导 》 http://www.matlabsky.com/thread-159-1-4.html
蒲俊《MATLAB 6.0数学手册》http://www.matlabsky.com/thread-158-1-4.html
陆君安《偏微分方程的MATLAB解法》http://www.matlabsky.com/thread-157-1-4.html
刘宏友《MATLAB6.x符号运算及其应用》http://www.matlabsky.com/thread-156-1-4.html
梁宏《信号与系统分析及MATLAB实现》http://www.matlabsky.com/thread-155-1-4.html
李涛《Matlab工具箱应用指南——应用数学篇》 http://www.matlabsky.com/thread-154-1-4.html
杨高波《精通matlab7.0混合编程》 http://www.matlabsky.com/thread-153-1-4.html
精锐创作组《MATLAB 6.0科学运算完整解决方案》 http://www.matlabsky.com/thread-152-1-4.html
王能超《计算方法:算法设计及其matlab实现》 http://www.matlabsky.com/thread-151-1-4.html
黄文梅《信号分析与处理—MATLAB语言及应用》 http://www.matlabsky.com/thread-150-1-4.html
胡良剑《数学实验:使用MATLAB》http://www.matlabsky.com/thread-149-1-5.html
飞思科技《MATLAB6.5辅助优化计算与设计》 http://www.matlabsky.com/thread-148-1-5.html
飞思科技《MATLAB6.5辅助图像处理》http://www.matlabsky.com/thread-147-1-5.html
陈在平《控制系统计算机仿真与CAD—MATLAB语言应用》http://www.matlabsky.com/thread-146-1-5.html
陈亚勇《MATLAB信号处理详解》http://www.matlabsky.com/thread-145-1-5.html
陈怀琛《MATLAB及其在理工课程中的应用指南》http://www.matlabsky.com/thread-144-1-5.html
车晴《电子系统仿真与MATLAB》http://www.matlabsky.com/thread-143-1-5.html
Steven T. Karris《Signals and Systems(Second Edition)》http://www.matlabsky.com/thread-142-1-5.html
Steven T. Karris《Numerical Analysis Using MATLAB and Spreadsheets》http://www.matlabsky.com/thread-140-1-5.html
Nakamura 梁恒译《科学计算引论--基于MATLAB的数值分析》http://www.matlabsky.com/thread-139-1-5.html
Magrab Edward《MATLAB原理与工程应用》http://www.matlabsky.com/thread-138-1-5.html
Vinay K.Ingle《数字信号处理及其Matlab实现》 http://www.matlabsky.com/thread-137-1-5.html
David McMahon 《Matlab揭秘》http://www.matlabsky.com/thread-136-1-5.html
陆君安《偏微分方程的Matlab解法》http://www.matlabsky.com/thread-135-1-5.html
张国良《模糊控制及其Matlab应用》http://www.matlabsky.com/thread-134-1-5.html
丛爽《面向Matlab工具箱的神经网络理论与应用(第2版)》http://www.matlabsky.com/thread-133-1-5.html
陈仲生 《基于matlab7.0的统计信息处理》http://www.matlabsky.com/thread-132-1-5.html
王正林《过程控制与Simulink应用》 http://www.matlabsky.com/thread-131-1-5.html
施阳《MATLAB语言精要及动态仿真工具SIMULINK》http://www.matlabsky.com/thread-130-1-5.html
王正林《Matlab Simulink与控制系统仿真》 http://www.matlabsky.com/thread-129-1-5.html
孙亮《MATLAB语言与控制系统仿真》http://www.matlabsky.com/thread-128-1-6.html
楼顺天《基于MATLAB 的系统分析与设计——模糊系统》http://www.matlabsky.com/thread-127-1-6.html
王全友《Matlab在工程数学上的应用》http://www.matlabsky.com/thread-126-1-6.html
龚妙昆《现代控制引论教程 Matlab辅助实验》http://www.matlabsky.com/thread-125-1-6.html
Matlab官方教程《Learn Matlab7.0》 http://www.matlabsky.com/thread-124-1-6.html
康永《MATLAB语言与控制系统仿真》 http://www.matlabsky.com/thread-123-1-6.html
Matlab官方教程《MATLAB Start》http://www.matlabsky.com/thread-122-1-6.html
Dave Anderson《Artificial Neural Networks_ Technology》(人工神经网络技术) http://www.matlabsky.com/thread-121-1-6.html
仿真科技论坛《Matlab与VC混合编程》 http://www.matlabsky.com/thread-119-1-6.html
《Matlab神经网络工具箱应用简介》 http://www.matlabsky.com/thread-118-1-6.html
Richard Johnson《MATLAB 编程风格指南》 http://www.matlabsky.com/thread-117-1-6.html
聚类算法综述 http://www.matlabsky.com/thread-93-1-6.html
H. 求MATLAB教程有关的书推荐
Matlab教程无压缩版网络网盘免费资源在线学习
链接: https://pan..com/s/1YdRyDq_3o_bmbT115BHy6g
Matlab教程无压缩版 Matlab教程 《精通MATLAB GUI设计》随书光盘 《Matlab宝典》 Matlab与VB接口 Matlab谐波分析 Matlab电力系统建模与仿真 战胜MATLAB必做练习50题 2001.pdf
数学实验:使用MATLAB 2001.pdf
科学计算与MATLAB语言 2000.pdf
精通MATLAB7 2006.pdf 精通GUI图形界面编程.pdf
S-Function编写指导.pdf MATLAB中上下标、斜体、箭头等符号的使用方法.doc