最近遇到了一些需要使用Matlab的场景,但没有系统学习过 (但其语言特点和Python 还是比较相似的),特开此文,学习和记录,持续更新....
引言
Matlab (matrix laboratory)MathWorks出品 商业数学软件
在 数据分析、无线通信、深度学习、图像处理 与计算机视觉、信号处理、量化金融与 风险管理、机器人,控制系统等领域都被广泛应用
软件主要面对 科学计算、可视化以及交互式程序设计的高科技计算环境。它将 数值分析、矩阵计算、科学数据可视化 以及非线性动态系统 的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计 以及必须进行有效 数值计算的众多科学领域提供了一种全面的解决方案。
个人使用体验:在矩阵操作上优秀于其他所有语言,
快捷键
- ctrl+r 注释
- ctrl+t 取消注释
语法
1 输出
display()
格式化输出,函数和C语言中printf基本一致
fprintf()
2 数组
下标从 1 开始
3 循环
for itm=start:end_
end
4 函数
第一种实现 函数文件,文件名和函数名保持一致
function [输出形参1,] = f(输入形参1,)
% 函数体
end
第二种实现 函数文件,具有多个子函数
参考:https://blog.csdn.net/qq_42145674/article/details/89361536
% 文件名 Process.m
function Process = Process
Process.my_filter = @my_filter;
Process.my_threshold_seg = @my_threshold_seg;
Process.my_edge_detect = @my_edge_detect;
end
function my_filter()
end
function my_threshold_seg()
end
function my_edge_detect()
end
在需要使用的地方 实例化,通过这种 匿名函数的方法进行调用
%文件名 main.m
process = Process
process.my_filter()
% ....
显示
错误
- imshow() 图片不显示,imshow() 支持 uint8 和 double 类型,不显示 建议检查数据类型
其他
- matlab转python包(只能作为参考):matlab2python