打开网易新闻 查看精彩图片

Matlab R2021b是MathWorks公司发布的商业数学软件。版本2021B包括一些新的Matlab和Simulink特性,一个新产品,以及对85个其他产品的更新和bug修复。MATLAB是Matrix lab的缩写,用于算法开发、数据可视化、数据分析和数值计算的高级技术计算语言和交互环境,主要包括MATLAB和Simulink两部分。

MATLAB, Mathematica和Maple被称为三大数学软件。它在数学技术中的数值计算应用是首屈一指的。MATLAB可以进行矩阵运算,绘制函数和数据,实现算法,创建用户界面,将MATLAB开发工作界面与其他编程语言连接,主要用于工程计算、控制设计、信号处理与通信、图像处理、信号检测、金融建模设计与分析等领域。

打开网易新闻 查看精彩图片

安装包
【gousheng7.top/?id=】

亲测有效

用 MATLAB 学习基本算法

归算法的新例子
-------------------------------------------------------------------------------------------------------------------
% Sierpinskin Gasket 谢尔宾斯基三角形使用了函数一次循环内多次自身递归
% 谢尔宾斯基三角形的绘制方法是将一个正方形分割成四个象限
% 左下象限留空,其余三个象限各自进一步分割成四个象限
% 进一步细分的左下象限也留空,其余三个象限继续分割,直至最后分割到正方形的边长为设定的单位长度
% 当正方形不能被进一步分割的时候,将左下象限外的三个象限填充,完成绘图。
scale = 1; % 最小分割单位
n = 7; % 分割次数
lowerVertexX = 0; % 待分割的正方形的左下顶点坐标
lowerVertexY = 0;
upperVertexX = scale*2^n; % 待分割的正方形的右上顶点坐标,正方形的边长(upperVertexX - lowerVertexX)为最小分割单位的 2^n 倍,因此可以进行 n 次 2 分。
upperVertexY = scale*2^n;
upperHalfDevideSquare(lowerVertexX, lowerVertexY, upperVertexX, upperVertexY, scale);
function upperHalfDevideSquare(lowerVertexX, lowerVertexY, upperVertexX, upperVertexY, scale)
if (upperVertexX - lowerVertexX)/scale == 1 % 当正方形分割至边长为预设的最小分割单位时,不再继续分割,而是开始绘图。
axis equal;
plot([lowerVertexX, upperVertexX], [lowerVertexY, upperVertexY], 'rs');
hold on;
elseif (upperVertexX - lowerVertexX)/scale > 1
lowerVertexX1 = lowerVertexX; % 确定分割出的左上象限的正方形的左下顶点和右上顶点坐标
lowerVertexY1 = (upperVertexY + lowerVertexY)/2;
upperVertexX1 = (upperVertexX + lowerVertexX)/2;
upperVertexY1 = upperVertexY;
upperHalfDevideSquare(lowerVertexX1, lowerVertexY1, upperVertexX1, upperVertexY1, scale); % 调用函数自身进一步分割左上象限的正方形
lowerVertexX2 = (upperVertexX + lowerVertexX)/2; % 确定分割出的右上象限的正方形的左下顶点和右上顶点坐标
lowerVertexY2 = (upperVertexY + lowerVertexY)/2;
upperVertexX2 = upperVertexX;
upperVertexY2 = upperVertexY;
upperHalfDevideSquare(lowerVertexX2, lowerVertexY2, upperVertexX2, upperVertexY2, scale);
lowerVertexX3 = (upperVertexX + lowerVertexX)/2; % 确定分割出的右下象限的正方形的左下顶点和右上顶点坐标
lowerVertexY3 = lowerVertexY;
upperVertexX3 = upperVertexX;
upperVertexY3 = (upperVertexY + lowerVertexY)/2;
upperHalfDevideSquare(lowerVertexX3, lowerVertexY3, upperVertexX3, upperVertexY3, scale);
end
end
---------------------------------------------------------------------------------------------------

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

MATLAB还具有强大的编程功能,可以用于编写自定义的脚本和函数,以及开发更复杂的应用程序。MATLAB的编程语言类似于传统的编程语言,具有循环、条件语句和函数等基本特性。此外,MATLAB还支持面向对象编程,使得用户能够更好地组织和管理代码。

总之,MATLAB是一个功能强大的软件,提供了广泛的数值计算和数据分析工具。它的易用性和灵活性使得它成为科学家、工程师和研究人员的首选工具之一。无论是进行数学建模和仿真,还是进行数据可视化和分析,MATLAB都能够提供强有力的支持。

打开网易新闻 查看精彩图片