915199-MATLAB程序设计与应用-第13章 MATLAB外部程序接口技术
- 格式:pptx
- 大小:419.46 KB
- 文档页数:32
matlab程序设计与应用第二版习题答案Matlab程序设计与应用第二版习题答案Matlab是一种强大的数学软件,广泛应用于科学计算、数据分析和工程设计等领域。
《Matlab程序设计与应用》是一本经典的教材,对于学习和掌握Matlab编程语言具有重要的意义。
本文将为大家提供《Matlab程序设计与应用第二版》中部分习题的答案,帮助读者更好地理解和应用Matlab。
第一章:Matlab基础1.1 基本操作1. a = 3; b = 4; c = sqrt(a^2 + b^2); disp(c);2. x = linspace(-pi, pi, 100); y = sin(x); plot(x, y);3. A = [1 2 3; 4 5 6; 7 8 9]; B = [9 8 7; 6 5 4; 3 2 1]; C = A + B; disp(C);1.2 控制结构1. for i = 1:10disp(i);end2. n = 0; sum = 0; while sum < 100n = n + 1;sum = sum + n;enddisp(n);3. x = 5; if x > 0disp('x is positive');elseif x < 0disp('x is negative');elsedisp('x is zero');end第二章:向量和矩阵运算2.1 向量运算1. A = [1 2 3]; B = [4 5 6]; C = A .* B; disp(C);2. A = [1 2 3]; B = [4 5 6]; C = A ./ B; disp(C);3. A = [1 2 3]; B = [4 5 6]; C = dot(A, B); disp(C);2.2 矩阵运算1. A = [1 2 3; 4 5 6]; B = [7 8; 9 10; 11 12]; C = A * B; disp(C);2. A = [1 2 3; 4 5 6]; B = [7 8; 9 10; 11 12]; C = B * A; disp(C);3. A = [1 2 3; 4 5 6]; B = [7 8; 9 10; 11 12]; C = A .* B; disp(C); 第三章:函数和脚本文件3.1 函数1. function y = myfunc(x)y = x^2 + 3*x + 2;end2. function [y1, y2] = myfunc(x1, x2)y1 = x1^2 + 3*x1 + 2;y2 = x2^2 + 3*x2 + 2;end3. function [y1, y2] = myfunc(x)y1 = x^2 + 3*x + 2;y2 = sin(x);end3.2 脚本文件1. x = linspace(0, 2*pi, 100); y = sin(x); plot(x, y);2. x = linspace(-10, 10, 100); y = x.^2 + 3*x + 2; plot(x, y);3. x = linspace(0, 2*pi, 100); y1 = sin(x); y2 = cos(x); plot(x, y1, x, y2);通过以上习题的答案,读者可以对Matlab程序设计的基本语法和常用函数有一个初步的了解。
MATLAB具有强大的矩阵处理、数值计算以及作图功能。
能否使matlab与其他的程序设计语言甚至外部仪器和设备进行通话呢?即在其他的程序设计语言中调用matlab,或者在matlab中调用其他的程序设计语言编写的函数或子程序,或者将外部设备的数据直接输入matlab工作空间进行处理,从而发挥他们各自的优势,为特定的应用服务。
作为目前市面上作为强大的科学计算软件,matlab也实现了从多与外部程序或设备的接口。
通过mex文件的建立,matlab能够调用c、c++、fortran的程序设计语言的子程序;通过使用matlab引擎,可在c、c++、fortran程序代码中直接调用matlab中的函数与命令;通过matlab c/c++数学函数库直接实现c/c++与matlab的混合编程,并建立可独立运行程序;通过matlab提供的串口接口,可以实现从外部设备(如modem)直接输入数据到matlab 工作空间,再利用matlab进行处理。
1.MEX文件mex文件是按一定格式使用c/c++、fortran等语言编写的动态链接库函数,在windows 操作环境中,其后缀名为dll(dynamic link library),它的主要目的是在matlab中调用c/c++和fortran编写的子程序。
她是matlab的一类外部程序调用接口,可以在matlab系统象调用matlab的内建函数一样调用已经存在的用c/c++、fortran语言编写的子程序,而无需将他们重新编写为matlab的m文件,从而使资源得到充分利用。
mex文件是一种动态链接库的子程序,这些子程序可由matlab解释器自动载入并执行。
调用mex文件与调用matlab的内建函数的方式完全相同,只需在matlab命令提示符下键入mex文件名即可,当然,该mex文件必须位于matlab的当前工作目录下。
mex文件有以下一些用处:①、对于原先已经存在的c/c++、fortran程序,只需编写一个与matlab的接口,就可以在matlab里面直接调用,而不必重新编写m文件②、对于那些在matlab中执行效率不高的语句(如循环体),可以把他们放在c/c++、fortran中编写并编译,从而提高执行效率。
第13章MATLAB外部程序接口技术例13-1计算当x=[0.0,0.1,0.2,…,1.0]时,f(x)=e x的值,并将结果写入文件demo1.txt。
程序如下:x=0:0.1:1;Y=[x;exp(x)];fid=fopen('demo1.txt','w');fprintf(fid,'%6.2f %12.8f\n',Y);fclose(fid);例13-2 读出例13-1生成的文件demo1.txt中的数据。
程序如下:fid=fopen('demo1.txt','r');while 1line=fgetl(fid);if line<0breakenddisp(line)endfclose(fid);例13-3假定文件textdemo.txt中有以下格式的数据:Name English Chinese MathmaticsWang 99 98 100Li 98 89 70Zhang 80 90 97Zhao 77 65 87此文件第一行为标题行,第2~5行的第1列为字符型,后3列为整型。
从该文件中将前3个数据读入到grades的程序段如下:fid=fopen('textdemo.txt','r');grades=textscan(fid,'%s %d %d %d',3,'headerlines',1);例13-4 假设文件alphabet.txt的内容是按顺序排列的26个大写英文字母,读取前5个字母的ASCII和这5个字符。
程序如下:fid=fopen('alphabet.txt','r');c=fread(fid,5);frewind(fid);d=fread(fid,5,'*char');fclose(fid);1例13-5 建立一数据文件magic5.dat,用于存放5阶魔方阵。
matlab程序设计与应用第三版MATLAB程序设计与应用第三版是一本深入介绍MATLAB编程语言及其在工程和科学领域应用的专业书籍。
本书适合于初学者和有一定MATLAB 基础的读者,旨在帮助他们更深入地理解MATLAB的编程技巧和应用方法。
第一章:MATLAB简介MATLAB是一个由MathWorks公司开发的数学计算软件,广泛应用于工程计算、数据分析、算法开发等领域。
它以其强大的数值计算能力、丰富的函数库和友好的用户界面而受到广泛欢迎。
第二章:MATLAB基础本章将介绍MATLAB的基本操作,包括变量定义、矩阵操作、基本数学运算等。
同时,也会介绍MATLAB的基本数据类型,如向量、矩阵、数组等,以及它们的基本操作。
第三章:MATLAB编程基础在这一章中,将介绍MATLAB的编程基础,包括控制流语句(如if-else语句、for循环、while循环等)、函数的定义和调用、以及局部变量和全局变量的概念。
第四章:MATLAB图形用户界面MATLAB提供了丰富的图形绘制功能,本章将介绍如何使用MATLAB绘制二维和三维图形,以及如何创建交互式的图形用户界面(GUI)。
第五章:MATLAB高级编程技巧随着MATLAB编程技能的提升,本章将深入探讨一些高级编程技巧,如面向对象编程、异常处理、以及代码优化等。
第六章:MATLAB在数学建模中的应用数学建模是MATLAB的一个重要应用领域。
本章将介绍如何使用MATLAB 进行数学建模,包括线性代数、微分方程、最优化问题等。
第七章:MATLAB在信号处理中的应用信号处理是电子工程和通信工程中的一个重要分支。
本章将介绍MATLAB在信号处理中的应用,包括信号的生成、滤波、傅里叶变换等。
第八章:MATLAB在图像处理中的应用图像处理是计算机视觉领域的一个关键技术。
本章将介绍MATLAB在图像处理中的应用,包括图像的读取、显示、变换、滤波和分析等。
第九章:MATLAB在控制系统中的应用控制系统是工程领域中的一个核心主题。