matlab函数使用方法与如何调用?
扫描二维码
随时随地手机看文章
MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。MATLAB:统一了用于一维、二维与三维数值积分的函数并提升了基本数学和内插函数的性能MATLAB Compiler:可以下载 MATLAB Compiler Runtime (MCR),简化编译后的程序和组件的分发Image Processing Toolbox:通过亮度指标优化进行自动图像配准Statistics Toolbox:增强了使用线性、广义线性和非线性回归进行拟合、预测和绘图的界面System Identification Toolbox:识别连续时间传递函数2022年4月6日消息,MATLAB R2022a 原生 Apple Silicon 平台开放测试版是 MATLAB 的早期版本,适用于 Apple Silicon Mac 用户,以评估现有代码和应用程序的执行,并测试第三方集成和附加组件。此测试版将持续到2022年8月31日。
MATLAB 是一种互动式数值计算环境,可以用它进行数值计算、数据可视化、算法开发等。在 MATLAB 中,函数是一种重要的工具,用于封装可重复使用的代码以及实现复杂算法。以下是 MATLAB 函数的使用方法:
1. 函数的创建:使用 MATLAB 编辑器或文本编辑器创建一个新的 .m 文件,文件名必须与函数名相同。在 .m 文件中编写函数代码,函数以 "function" 关键字开始,后面跟着函数名和输入参数列表,最后是函数体和输出参数列表。例如:
```matlab
function [output1, output2] = myFunction(input1, input2)
% 函数注释
% input1: 输入参数1
% input2: 输入参数2
% output1: 输出参数1
% output2: 输出参数2
% 函数体
output1 = input1 + input2;
output2 = input1 - input2;
```
2. 函数的调用:在 MATLAB 命令窗口或其他脚本或函数中,可以使用函数名和输入参数来调用函数。例如:
```matlab
x = 3;
y = 4;
[output1, output2] = myFunction(x, y);
```
在以上示例代码中,将输入参数 x 和 y 传递给函数 "myFunction",并将函数的输出存储在 output1 和 output2 变量中。
3. 函数的帮助文档:使用 "help" 命令或 "doc" 命令可以查看函数的帮助文档。例如:
```matlab
help myFunction
doc myFunction
```
以上命令将显示函数 "myFunction" 的帮助文档,包括函数的输入参数、输出参数、功能描述以及示例代码等信息。
需要注意的是,MATLAB 函数的使用方法还包括函数的调试、性能优化、函数库的管理等方面。因此,在编写和使用 MATLAB 函数时,需要遵循一些最佳实践,如编写清晰的函数注释、使用有效的变量名、避免全局变量等。
您可以使用命令语法或函数语法来调用 MATLAB® 函数,如下所述。
命令语法
此语法中的函数调用包含函数名称,后跟一个或多个由空格分隔的参数:
functionname arg1 arg2 ... argn
命令语法不允许您获取函数可能返回的任何值。尝试通过命令语法将函数输出赋给变量将会生成错误。请改用函数语法。
命令语法示例:
save mydata.mat x y z
import java.awt.Button java.lang.String
参数被视为字符向量。请参阅参数传递中的以下示例。
函数语法
此语法中的函数调用包含函数名称,后跟一个或多个由逗号分隔并括在圆括号中的参数:
functionname(arg1, arg2, ..., argn)
您可以将函数的输出赋给一个或多个输出值。赋给多个输出变量时,请用逗号或空格分隔这些变量,并将它们括在方括号 ([]) 中:
[out1,out2,...,outn] = functionname(arg1, arg2, ..., argn)
函数语法示例:
copyfile('srcfile', '..\mytests', 'writable')
[x1,x2,x3,x4] = deal(A{:})
参数按值传递给函数。请参阅参数传递中的以下示例。
参数传递
使用命令语法调用函数时,MATLAB 将参数作为字符向量进行传递。使用函数语法时,参数按值进行传递。
以下示例首先为 A 赋值,然后对该变量调用 disp 以显示所传递的值。使用命令语法调用 disp 会传递变量名称 'A':
A = pi;
disp A
A
而函数语法会传递赋给 A 的值:
A = pi;
disp(A)
3.1416
以下示例将两个字符向量传递给 strcmp 进行比较。使用命令语法调用该函数会比较变量名称 'str1' 和 'str2':
str1 = 'one'; str2 = 'one';
strcmp str1 str2
ans =
0 (unequal)
而函数语法会比较赋给这些变量的值 'one' 和 'one':
str1 = 'one'; str2 = 'one';
strcmp(str1, str2)
ans =
1 (equal)
传递字符向量
使用函数语法将字符向量传递给函数时,您必须将字符向量用单引号引起来 ('text')。例如,要创建一个称为 myapptests 的新文件夹,请使用
mkdir('myapptests')
但是,包含字符向量的变量不需要用引号引起来:
folder = 'myapptests';
mkdir(folder)