MATLAB可以做哪些有趣的事 MATLAB的名称源自Matrix Laboratory,它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB产品以提高产品自身的竞争能力。 它是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。 matlab强大的功能,让很多喜爱她的人所折服,并做出自己喜爱的东西,快意十足。那MATLAB究竟可以做哪些有趣的事呢? 一、可以用MATLAB修图 一张png格式的图片是由许多个像素点组成,而每个像素点又是有红绿蓝三种三原色所组成,matlab可以通过命令imread读取图片中的rgb信息,然后用矩阵的形式把它列出来,matlab通过它的强大的矩阵运算功能可以随意的对这些rgb矩阵进行修改,然后把处理过的图片显示出来。 下面是一个网友写的可以用matlab修改相片背景颜色为白色的代码: function B = adjust(A, color1, color2, sigma) color1 = reshape(color1, [1 1 3]); color2 = reshape(color2, [1 1 3]); color_diff = color2 - color1; A = im2double(A); t = exp(-0.5 * sum(bsxfun(@minus, A, color1) .^ 2, 3) / (sigma ^ 2)); B = A + bsxfun(@times, color_diff, repmat(t, [1 1 3])); end 那么这个算法的思路就是,在原图中接近背景色的地方,加上新背景色与原背景色的差值。参数sigma用来控制多么“接近”才算接近。color1(原背景色)可以直接采用图片左上角的像素。这个算法不涉及前景与背景的分割,所以要求前景中没有特别接近背景色的区域。 本文来源:https://www.wddqw.com/doc/d8a26fe2b52acfc788ebc94d.html