【start:210125】
文章目录
引言
MATLAB is a programming and numeric computing platform used by millions of engineers and scientists to analyze data, develop algorithms, and create models.
软件对比与适用范围
总结来说是:数值计算用matlab,解析计算用mathmatica,数据科学计算用python
MATLAB的基本配置
安装 MATLAB
【ref】MATLAB R2022b安装教程
注意,尽量安装b版本的matlab,因为一般b版本可以适配更高级的python,其中:
R2022a支持python 3.6
R2022b支持python 3.10
安装 MATLAB Add-Ons(附加功能)
有时执行代码出错时,matlab会提示我们:它需要额外的库:
*Note: You must have these MATLAB Add-Ons
installed:
“Statistics and Machine Learning Toolbox”(https://www.mathworks.com/help/stats/)
“Image Processing Toolbox” (https://www.mathworks.com/help/images/)
这时,为了安装新的matlab库,第一种方法是:
直接点击matlab的install.exe程序(安装程序)来安装所需的库:
如果使用的是正版matlab,那么还有第二种更便捷的方法是:
直接在matlab软件里进行操作,在“主页”中点击“附加功能”,在点击“管理附加功能”,然后安装自己所需的库:
安装matlab app(直接用.mlappinstall文件安装)
欲安装打包好的matlab app,直接点击mlappinstall文件安装即可:
MATLAB的基本使用方法
将xxx文件夹添加到MATLB路径
要运行此文件,您可以更改MATLAB当前文件夹,或者将其文件夹添加到MATLAB路径。
在运行函数之前,一定要把 M 文件所在的目录添加到 MATLAB 的搜索路径中,或者将函数式文件所在的目录设置成当前目录,使 mm.m 所在目录成为当前目录,或让该目录处在 MATLAB 的搜索路径上。
或者,可以让 Matlab 自动变更路径,参考:
.m文件
:函数式文件&命令式文件(脚本)
一个是function 定义的,叫函数;
另一个是脚本文件,执行的时候在matlab base内存空间运行。
【ref】MATLAB M文件详解
matlab的函数定义
下面是两个例子,一个包含函数定义,另一个是纯粹的脚本。
- 带有函数定义的例子:
function f = mm
% This function demonstrates the use of "for" and creates a simple matrix
for i = 1:4
for j = 1:4
a(i, j) = 1 / (i + j - 1);
end
end
f = a; % Output parameter of the function
end
在这个例子中,mm
是一个函数,它创建了一个4x4的矩阵a
,然后将其作为输出参数返回给调用者。
- 不带函数定义的例子:
% This script demonstrates the use of "for" and creates a simple matrix
for i = 1:4
for j = 1:4
a(i, j) = 1 / (i + j - 1);
end
end
% You can directly display the matrix or perform other operations here
disp(a);
在这个例子中,没有函数定义,只有脚本。代码会直接创建矩阵a
,并通过disp(a)
在命令行窗口显示矩阵。这样的代码不具备独立的函数性质,只能按顺序执行。
matlab的函数调用
- matlab读取函数要文件名还是函数名?
MATLAB中函数调用是通过文件名调用,所以函数文件名和文件里面的函数名,可以不一样,但是在命令窗口调用的是函数文件名。
- matlab测试函数时,未定义变量,报错:输入参数的数目不足
自定义函数时,传递的都是形参,如果直接点击运行,没有传递实参给程序,也就“缺少参数”了。保存好自定义函数后,不要点击运行,在命令行窗口给定实参进行调用。
【ref】输入参数的数目不足?
- 为函数设置默认参数
案例:
function [Ef Nv Nc mn]=Fermi_level_position_calculator_(Nd0, Na0,T,Ef0,Eg)
% nargin 是 MATLAB 中的一个内置函数,用于返回当前正在执行的函数的输入参数个数。
if nargin < 5
disp('nargin<5')
Nd0 = 1; % Set your default value here
Na0 =