您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 用MATLAB解决数学问题
用MATLAB解决数学问题概述:计算机的广泛应用和迅速普及,促成了数学建模的发展,也促成了实验数学的诞生。近20年来,国内外数学工作者一直在讨论实验数学的发展问题,并认识到实验数学应当与纯粹数学、应用数学鼎足而立。MATLAB强大的计算与图形功能为以实验的方式学习和研究数学理论创造了良好的条件,成为数学工作者一个强有力的工具。数学中的许多抽象定理和理论,如今可以在实验中一目了然,新思想、新方法也可以在计算机上得到迅速的验证。一年一度的全国大学生数学建模竞赛,不论是对提高学生的数学素质和计算机应用能力,还是培养其从事科学研究的能力,都起着非常重要的作用。数学建模竞赛是20世纪80年代中期美国率先进行并收到国际上众多国家响应的一种大学生数学竞赛。我国数学建模竞赛始于1993年,竞赛试题有很强的实际应用背景,没有唯一答案,要求参赛的3名队员充分发挥集体智慧,在72小时内对试题给出一个尽可能合理的解答,包括查阅资料,了解有关领域知识,建立数学模型,研究算法,惊醒计算机编程的运算,得出结论,进行必要的分析,最后以书面报告形式把所有结果表述出来。这种竞赛实质上类似于一项科研课题的研究,对参赛队员的总体树枝,包括专业知识、数学建模能力、计算机应用能力、文字表达能力以及集体协作精神都是严峻的考验。MATLAB的功能特点MATLAB被誉为“巨人肩膀上的工具”、是一种功能强大的科学计算和工程仿真软件,它的交互式集成界面能够帮助用户快速地完成数值分析、矩阵运算、数字信号处理、仿真建模、系统控制与优化等功能,广泛应用于航天航空、汽车制造、半导体制造、电子通信、医学研究等领域.它采用与数学表达式相同的形式,不需要传统的程序设计语言,可以在较短时间内掌握并用它来解决一些实际问题.系统开发人员能借助MATLAB软件迅速测试设计构想,综合测评系统性能,快速设计更好的方案来确保更高技术要求,它有如下几个特点:(1)编程效率高.MATLAB是一种面向科学与工程计算的高级语言,允许采用数学形式的语言编写程序,且比BASIC、FORTRAN和C等语言更加接近我们的思维方式.(2)使用方便.MATLAB是一种解释型语言,执行前不需要进行专门的编译.(3)扩充能力强.MATLAB语言有丰富的库函数,在进行复杂的数学运算时可以直接调用,用户文件也可以作为MATLAB的库函数来调用,用户可以根据自己的需要方便地建立和扩充新的库函数,以提高MATLAB使用效率和扩充它的功能.(4)语句简单,内涵丰富.MATLAB语言中最基本最重要的成分是函数,一个函数由函数名、输入变量和输出变量组成.同一函数名,不同数目的输入变量及不同数目的输出变量代表着不同的含义.(5)高效方便的矩阵和数组运算.MATLAB语言规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变地照搬到数组间的运算.另外,它不需要定义数组的维数,而且的MATLAB中,给出了矩阵函数,特殊矩阵专门函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时显得简捷、高效,这是高级语言所不能比拟的.(6)方便的绘图功能.MATLAB的绘图是十分方便的,它有一系列绘图函数,只需调用不同的绘图函数,简单易行.实例:解决多项式求解:已知多项式为9620011610311023456xxxxxxh,求其根。分析:对多项式求根问题,我们常用roots()函数。MATLAB的表达形式及结果如下:h=roots([1-1031-10-116200-96])%中括号内为多项式系数由高阶到常数。计算结果显示为(其中i为虚数单位):h=-2.00004.00003.00002.0000+0.0000i2.0000-0.0000i1.0000如果已知多项式的根,求多项式,用poly()函数。对上面得到的h的值求多项式,其MATLAB的表达形式及结果如下:h=[-2.00004.00003.00002.0000+0.0000i2.0000-0.0000i1.0000];c=poly(h)计算结果显示为:c=1-1031-10-116200-96绘制二维曲线的最基本函数:1.plot函数的基本用法plot函数的基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x和y坐标数据。例在0≤X≤2p区间内,绘制曲线y=2e-0.5xsin(2πx)。x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y)结果如下图:说明:(1)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(2)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。(3)plot函数最简单的调用格式是只包含一个输入参数:plot(x)。再例如:某工厂2000年各月总产值(单位:万元)分别为22、60、88、95、56、23、9、10、14、81、56、23,试绘制折线图以显示出该厂总产值的变化情况。p=[22,60,88,95,56,23,9,10,14,81,56,23];plot(p)2.含多个输入参数的plot函数含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)3.含选项的plot函数含选项的plot函数调用格式为:plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)例用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线。x=(0:pi/100:2*pi)';y1=2*exp(-0.5*x)*[1,-1];y2=2*exp(-0.5*x).*sin(2*pi*x);x1=(0:12)/2;y3=2*exp(-0.5*x1).*sin(2*pi*x1);plot(x,y1,'g:',x,y2,'b--',x1,y3,'rp');求解下面的方程组:分析:对于线性方程组求解,常用线性代数的方法,把方程组转化为矩阵进行计算MATLAB的表达形式及结果如下:a=[816;357;492];%建立系数矩阵b=[7.5;4;12];%建立常数项矩阵x=a\b%求方程组的解计算结果显示为:x=1.29310.8972-0.6236例:在化学反应中,为研究某化合物的浓度随时间的变化规律,测得一组数据如下表:分析:MATLAB的表达形式如下:t=[1:16];%数据输入y=[46.488.49.289.59.79.861010.210.3210.4210.510.5510.5810.6];T(分)12345678y46.48.08.49.289.59.79.86T(分)910111213141516y1010.210.3210.4210.510.5510.5810.6plot(t,y,'o')%画散点图p=polyfit(t,y,2)%二次多项式拟合holdonxi=linspace(0,16,160);%在[0,16]等间距取160个点yi=polyval(p,xi);%由拟合得到的多项式及xi,确定yiplot(xi,yi)%画拟合曲线图执行程序得到下图;结束语数学建模在我们平时的生活中很有用处,利用MATLAB软件对力学问题进行分析和建模仿真,获得运动的轨迹图,以此为依据进行判断,使判断过程更加方便、简单、快捷,避免繁琐的分析计算过程.同时,有输出图形的支持,使结论的科学性和真实性更加的清晰.感想:出于课程中要用到MATLAB,因此公选课选了MATLAB,本来想好好弄懂的,但是听了之后觉得太难了,以至于慢慢失去了兴趣。快要期末的时候因为要交论文,无奈之下只能从新开始,从图书馆借书来自己慢慢琢磨,慢慢觉得越来越有意思了,尝试着做了一个实例分析,发现MATLAB对我们的帮助太大了。学校图书馆里有很多关于这方面的书,为我提供了许多学习的途径。我还记得第一次上机做练习的时候,自己用MATLAB做出来老师布置的作业时的那种激动。MATLAB这门课程不仅让我有机会学习一个新的而且功能强大的软件,而且让我知道在面对不知道的问题的时候要学会自己去寻找方法解决。就像学MATLAB,不知道就去图书馆看书。未来的我们在人生路上也会遇到很多各种各样的问题,而且很多我们开始都不知道如何去解决,这就要求我们要去寻找解决的办法。学习MATLAB的时间虽然很短,但却让我了解到了它的强大和它的功能。我想就算时间足够,老师也不能把所有的都讲解给我们,因为一个软件的功能需要我们自己不断的去摸索,老师也不可能知道所有。老师只是个指路的明灯,最终的学习还是要靠自己。而且在摸索过程中,我们能够发现和体会学习的快乐
本文标题:用MATLAB解决数学问题
链接地址:https://www.777doc.com/doc-6359557 .html