MATLAB在数学中的应用

MATLAB在数学中的应用
MATLAB在数学中的应用

MATLAB在微分方程中的应用

12级通信一班张丹丹 1202301039

摘要:MATLAB的强大功能也是大学的数学教育中是相当重视其学习重要性的原因之一。它能将运用者从繁杂的计算束缚中解救出来,把更多的精神投入到数学的基本含义的理解上,因此,它逐渐成为大学生们课程中的规范和重要工具。MATLAB在信息论、高等数学与代数中作图和教学中的应用,从而充分体现了MATLAB功能的强大,特别是绘图功能,矩阵运算,数值分析运算。借助MATLAB的运用,使学习者对数学的欣赏得以向群众普及,这对数学文明的传递具有重要意义。以下主要从数学中的解微分方程及其应用的角度来思考。关键字:MATLAB介绍解微分方程绘图应用

一、MATLAB

(一)MATLAB简介

MATLAB(Matrix Laboratory,矩阵实验室)是MathWorks公司开发的,目前国际上最流行,应用最广泛的科学与工程计算软件。它集成二维和三维图形功能,已完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言-M语言,利用M语言可以通过编写脚本或则函数文件实现用户自己的算法。MATLAB是目前发展最快的软件之一,其在多线程计算、视频图像算法等方面更加突出,能够从Symbolic math Toolbox 中生成Simscape语言方程,SimulMATLABink 中增加了Simulink PLC Coder。

(二)MATLAB的功能与特点

MATLAB集科学与工程计算机、图形可视化、多媒体处理于一体,并提供了Windows图形界面设计方法。MATLAB语言有以下特点:

1.起点高

2.人机界面友好,编程效率高

3.强大而智能化的作图功能

4.智能化程度高

5.Simulink动态仿真功能

二.Matlab求解微分方程

求微分方程(组)解析解的命令

应用dsolve函数求解方程(‘方程1’,‘方程2’,…,‘方程n’,‘初始条件’,‘自变量’)

例1求 du/dt=1+u^2的通解.

输入命令:dsolve('Du=1+u^2','t')

结果:u = tg(t+c1)

例 2.求微分方程的特解.x’(t)=2x-3y+3z

y’(y)=4x-5y+3z

Z’(t)=4x-4y+2z

输入命令:

[x,y,z]=dsolve('Dx=2*x-3*y+3*z',

'Dy=4*x-5*y+3*z','Dz=4*x-4*y+2*z', 't');

x=simple(x) % 将x化简

y=simple(y)

z=simple(z)

结果为:x = (c1-c2+c3+c2e -3t-c3e-3t)e2t

y = -c1e-4t+c2e-4t+c2e-3t-c3e-3t+c1-c2+c3)e2t

z = (-c1e-4t+c2e-4t+c1-c2+c3)e2t

三.应用MATLAB解微积分方程及其图形绘制

在MATLAB中,使用函数可以把一个大的任务分解成比较小的任务,使得程序模块化,每个函数完成的定的功能,通过函数的调用完成整个过程。微积分课程中引入matlab软件,并力争与教学的相关内容进行有机结合。使malab作为一个重要工具,既能在数学课程的某些内容处理上发挥作用,也能为其它后续基础课程如《线性代数》《概率论与数理统计》《复变函数》等中涉及的微积分问题与matlab相结合。

1.应用function函数来声明调用:

以此来调用是M函数文件中必须有的,而且函数名应该与文件名一致。而且应用相关的流程控制结构和表达式实现。

2.这里主要应用ode23,ode45求解非刚性标准形式的一阶常微分方程组的初值问题解的MATLAB常用程序.在解含n个未知数的方程组时,x0和x均为n维向量,M文件中的待解方程组应以x的分量形式写出.使用MATLAB软件求数值解时,高阶微分方程必须等价地变换成一阶微分方程组.

例3 解微分方程 y1’=y2y3

Y2’=-y1y3

Y3’=-0.5y1y2

Y1(0)=0,y(0)=1,y(3)=1

解 1)解题程序如下:

function dy=rigid(t,y)

dy=zeros(3,1);

dy(1)=y(2)*y(3);

dy(2)=-y(1)*y(3);

dy(3)=-0.51*y(1)*y(2);

2)取t0=0,tf=12,输入命令:

[T,Y]=ode45('rigid',[0 12],[0 1 1]);

plot(T,Y(:,1),'-',T,Y(:,2),'*',T,Y(:,3),'+')

3)结果如图

(图中,y1的图形为实线,y2的图形为“*”线,y3的图形为“+”线)

例4 dx^2/dt^2-1000(1-x^2)dx/dt-x=0

X(0)=2,x’(0)=0

1.解题程序如下:

function dy=vdp1000(t,y)

dy=zeros(2,1);

dy(1)=y(2);

dy(2)=1000*(1-y(1)^2)*y(2)-y(1);

2.取t0=0,tf=3000,输入命令:

[T,Y]=ode15s('vdp1000',[0 3000],[2 0]);

plot(T,Y(:,1),'-')

3.结果如图

三.MATLAB在实例中的应用

例1、导弹追踪问题

设位于坐标原点的甲舰向位于x轴上点A(1, 0)处的乙舰发射导弹,导弹头始终对准乙舰.如果乙舰以最大的速度v0(是常数)沿平行于y轴的直线行驶,导弹的速度是5v0,求导弹运行的曲线方程.又乙舰行驶多远时,导弹将它击中?

1.解题思路:假设导弹在t时刻的位置为P(x(t), y(t)),乙舰位于Q(1,v0t).

由于导弹头始终对准乙舰,故此时直线PQ就是导弹的轨迹曲线弧OP在点P处的切线,即有 y’=(v0t-y)/(1-x) 即 v0t=(1-x)y’+y

2. 又根据题意,弧OP的长度为AQ的5倍

因此导弹运动轨迹的参数方程为:

3. 解导弹运动轨迹的参数方程

x’(t)= 5(1-x)

((1-x)^2+(t-y)^2)^1/2

y’(t)= 5(t-y)

((1-x)^2+(t-y)^2)^1/2

x(0)=0,y(0)=0

建立m-文件eq2.m如下:

function dy=eq2(t,y)

dy=zeros(2,1);

dy(1)=5*(1-y(1))/sqrt((1-y(1))^2+(t-y(2))^2);

dy(2)=5*(t-y(2))/sqrt((1-y(1))^2+(t-y(2))^2);

取t0=0,tf=2,建立主程序chase2.m如下:

[t,y]=ode45('eq2',[0 2],[0 0]);

Y=0:0.01:2;

plot(1,Y,'-')

hold on

plot(y(:,1),y(:,2),'*')

当x=1时y=5/24,即当乙舰航行到点(1,5/24)处时被导弹击中.

被击中时间为:t=y/v0=5/24v0. 若v0=1, 则在t=0.21处被击中.

4.轨迹图如下

四、学习的心得

通过十几周MATLAB学习过程中,涉及到很多数学模型,数学公式以及线性代数中一些概念问题,在老师的耐心指导下,加上通过讲解例题让我们更加的理解和应用MATLAB,在刚开始的过程中,我发现自己对MATLAB工具不能熟练,常常做到最后一个才走,但这更加坚定了我要好好学习专业课的决心,遇到不懂的问题,及时向老师求解。通过一学期的努力,无论在MATLAB这个软件的应用,还是高数、线性代数等知识点都有了明显的提高。尽管MATLAB的微积分的具体内容老师并没讲太多,但是由于我对其的兴趣,我自学了这方面知识,并且做出这份报告,我之所以有这样的能力,全应该感谢老师的不懈鼓励和栽培。以后

也会更加努力将MATLAB应用于实际生活中。

五、参考文献

[1]姜启源,大学数学实验的MATLAB求解【M】.北京:清华大学出版,2005.8

[2]陈阳泉,初等运用数学效果的MATLAB求解。北京大学清华出版社,2007.6

[3]高等数学(第六版)上册同济大学数学系编

[4] MATLAB实用教程(第三版)郑阿奇主编 2006.9

数学软件MATLAB实验作业

数学软件与数学实验作业 一.《数学软件》练习题(任选12题,其中19-24题至少选2题): 3.对下列各式进行因式分解. (1). syms x y >> factor(x^5-x^3) (2). syms x y >> factor(x^4-y^4) (3). syms x >> factor(16-x^4) (4). syms x >> factor(x^3-6*x^2+11*x-6) (5). syms x y >> factor((x+y)^2-10*(x+y)+25) (6). syms x y >> factor(x^2/4+x*y+y^2) (7). syms x y a b >> factor(3*a*x+4*b*y+4*a*y+3*b*x) (8). syms x >> factor(x^4+4*x^3-19*x^2-46*x+120) 5.解下列方程或方程组. (1).solve('(y-3)^2-(y+3)^3=9*y*(1-2*y)') (2). solve('3*x^2+5*(2*x+1)') (3). solve('a*b*x^2+(a^4+b^4)*x+a^3*b^3','x') (4). solve('x^2-(2*m+1)*x+m^2+m','x') (5). [x,y]=solve('4*x^2-9*y^2=15','2*x-3*y=15') 6.计算极限. (1). syms x f=(exp(x)-exp(-x))/sin(x); limit(f,x,0) (2) syms x >> f=(x/(x-1)-1/log(x)); >> limit(f,x,1) (3). syms x >> f=(1-cos(x))/x^2; >> limit(f,x,0)

MatLab在中学数学教学中的应用

MatLab在中学数学教学中的应用 摘要:多媒体教学受到人们的日益重视,制作多媒体课件的能力日趋成为衡量一个教师教学能力的标准之一。MatLab功能强大且简单易用,本文首先对MatLab的发展历史和基本组成框架进行了简单介绍。在此基础上,利用MabLab函数绘制了学数学教学过程中常见的二维和三维函数。并得出结论认为,MatLab适用于中学多媒体课件的制作。 关键词:多媒体教学中学数学MatLab 1 引言 随着计算机技术的发展,多媒体教学越来越受到人们的重视。现代教育理论认为[1]:全面实施素质教育,传统教学陈旧的教学手段和简单的教学技术在当今世界的多层次教学、演示教学、实验教学等现代化课堂教学中就显得力不从心。实验心理学家赤瑞特拉通过大量的实验证实:人类获取的信息83%来自视觉,11%来自听觉,1.5%来自触觉,这三个加起来达到95.5%。可见如何充分利用这三者来提高教学质量是人类认知心理学的要求。 多媒体计算机辅助教学是指利用多媒体计算机,综合处理和控制符号、语言、文字、声音、图形、图像、影像等多种媒体信息,把多媒体的各个要素按教学要求,进行有机组合并通过屏幕或投影机投影显示出来,同时按需要加上声音的配合,以及使用者与计算机之间的人机交互操作,完成教学或训练过程。Matlab 是美国MathWorks 公司自20 世纪80 年代中期推出的数学软件,具有优秀的数值计算能力和卓越的数据可视化能力。尽管MatLab 并不是一专门的教学软件,但其强大的绘图功能使得数学教学中的抽象概念直观易解。 2 多媒体教学特点 多媒体技术的特性主要包括信息载体的多样化、集成性和交互性三个方面[2]。信息载体的多样化指的就是信息媒体的多样化多媒体就是要把机器处理的信息多样化或多维化, 使之在信息交互的过程中, 具有更加广阔和更加自由的空间。多媒体的集成性主要表现在两个方面,即多媒体信息媒体的集成和处理这些媒体的设备的集成,。对于前者而言,各种信息媒体尽管可能会是多通道的输入或输出,但应该成为一体。对于后者而言,指的是多媒体的各种设备应该成为一体。多媒体的交互性则是指用户在使用多媒体过程中可以与之进行交互,输入目标参数,从而得到理想中的多媒体信息输出。 多媒体技术的特性决定了多媒体教学如下特点: 1)教学手段集成化 多媒体计算机集激光唱盘、录像机、电视机和计算机控制于一体, 即可以充分利用语音和电视教学的优势, 又有计算机交互式教学的特点,克服了传统教学手段三个“一”(一支粉笔、一本书、一张嘴)的单一性缺点。 2)教学方式多样化

MATLAB经典数学建模教程

第 1 节Matlab 基本知识 一、Matlab 的主要功能 Matlab是一种功能非常强大的工程语言,诞生于20世纪70年代,1984年正式推向市场。2002年8月,Matlab6.5开始发布。是进行科学研究和产品开发必不可少的工具。 ●数值和符号计算 矩阵(数组)的四则运算(Matrix+Laboratory)、数值差分、导数、积分、求解微分方程、微分方程的优化等 ●数字图像、数字信号处理 ●工程和科学绘图 ●控制系统设计 ●财务工程 ●建模、仿真功能 二、Matlab 的界面 1.命令窗口(Command Window): Matlab各种操作命令都是由命令窗口开始,用户可以在命令窗口中输入Matlab命令,实现其相应的功能。此命令窗口主要包括文本的编辑区域和菜单栏(如:四则运算;“;”禁止显示变量的值;↑↓遍历以前的命令)。在命令窗口空白区域单击鼠标右键,打开快捷菜单,各项命令功能如下: Evaluate Selection :打开所选文本对应的表达式的值。 Open Selection :打开文本所对应的MatLab文件。 Cut :剪切编辑命令。 Paste :粘贴编辑命令。 2. M-文件编辑/调试(Editor/Debugger)窗口 Matlab Editor/Debugger窗口是一个集编辑与调试两种功能于一体的工具环境。 M-文件(函数文件) ●什么是M-文件:它是一种和Dos环境中的批处理文件相似的脚本文件,对于简单问题, 直接输入命令即可,但对于复杂的问题和需要反复使用的则需做成M-文件(Script File)。 ●创建M-文件的方法: Matlab命令窗的File/New/M-file。 在Matlab命令窗口运行edit。 ●M-文件的扩展名:*.m ●执行M-文件:F5 ●M文件的调试 选择Debug菜单,其各项命令功能如下: Step :逐步执行程序。 Step in :进入子程序中逐步执行调试程序。

2015研究生数学建模MATLAB程序(完整版)

′ú??ò?£o % ?a?ü1y3ì?°??ò??ü??í3?? clear clc fid1=fopen('mingwen1.txt','r'); str1=fgets(fid1); fclose(fid1); fid2=fopen('jiemihou1.txt','r'); str2=fgets(fid2); fclose(fid2); % é?è¥μ¥′ê????μ?????oí±êμ?·?o? ad=find(str2==',');str2(ad)='';ad=find(str2=='.');str2(ad)='';ad=find(str2==';') ;str2(ad)=''; ad=find(str2=='''');str2(ad)='';ad=find(str2=='?');str2(ad)='';ad=find(str2=='£o');str2(ad)=''; ad=find(str2=='"');str2(ad)='';ad=find(str2=='-');str2(ad)='';ad=find(str2= ='/');str2(ad)=''; ad=find(str2==' ');str2(ad)=''; for i=0:25; ad=find(str1=='A'+i);str1(ad)='a'+i; end for i=0:25; ad=find(str2=='A'+i);str2(ad)='a'+i; end n1(1,26)=0; n2(1,26)=0; n1(1)=sum(str1=='a');n2(1)=sum(str2=='a'); n1(2)=sum(str1=='b');n2(2)=sum(str2=='b'); n1(3)=sum(str1=='c');n2(3)=sum(str2=='c'); n1(4)=sum(str1=='d');n2(4)=sum(str2=='d'); n1(5)=sum(str1=='e');n2(5)=sum(str2=='e'); n1(6)=sum(str1=='f');n2(6)=sum(str2=='f'); n1(7)=sum(str1=='g');n2(7)=sum(str2=='g'); n1(8)=sum(str1=='h');n2(8)=sum(str2=='h'); n1(9)=sum(str1=='i');n2(9)=sum(str2=='i'); n1(10)=sum(str1=='j');n2(10)=sum(str2=='j'); n1(11)=sum(str1=='k');n2(11)=sum(str2=='k'); n1(12)=sum(str1=='l');n2(12)=sum(str2=='l'); n1(13)=sum(str1=='m');n2(13)=sum(str2=='m'); n1(14)=sum(str1=='n');n2(14)=sum(str2=='n'); n1(15)=sum(str1=='o');n2(15)=sum(str2=='o');

Matlab与数学建模综合练习(1)

《Matlab与数学建模》综合练习 1.按顺序进行如下的操作: (1)产生一个5阶魔术方阵A;并计算A'与A-1(即inv(A)); >> A=magic(5) A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 >> B=A' B = 17 23 4 10 11 24 5 6 12 18 1 7 13 19 25 8 14 20 21 2 15 16 22 3 9 >> inv(A) ans = -77/15600 133/2600 -23/650 3/2600 53/15600 89/2063 -97/2600 -3/650 33/2600 23/15600 -59/1950 1/325 1/325 1/325 71/1950 73/15600 -17/2600 7/650 113/2600 -577/15600 43/15600 1/200 27/650 -9/200 98/8837 (2)求A的特征值; >> eig(A) ans = 65 -2383/112 -3846/293 2383/112 3846/293

(3)计算A 的各列的总和与平均值; (4)计算A 的各行的总和与平均值; (5)若b=[1 2 3 4 5] ',求方程组 Ax=b 的解; (6)验证你的结论的正确性. 2.产生行向量S =[1.0, 1.2, 1.4, …, 20],并计算S * S' 与 S' * S ,你有何“发现”? 3.设A=???? ??4321;B=??? ? ??5055;求C=A * B – B * A ,你有何“发现”? 4.若设矩阵A=???? ??4321;B=??? ? ??5005;求C=A * B – B * A ,你又有何“发现”? 5.如何建立如下的矩阵(命令方式和程序方式)? (1)10 10200400020040002004???????? ?? ; (2)1010010101001010100??? ? ? ? ? ??? ;>> a=ones(10,1) a = 1 1 1 1 1 1 1 1 1 1 >> A=0*a A = 0 0 0 0 0 0 0

数学软件MATLAB附加习题

第2章 Matlab 矩阵及其运算 1. 给定一实数矩阵A ,试写一组指令,将其所有非正元素设定为0. 2. 给定一实数矩阵A ,试写一组指令,将其所有nan 元素设定为0. 3. 给定一实数和虚数交错的矩阵A ,试写一组指令,将其所有虚数元素设定为nan. 4. 请写一组指令,产生元素值为0或1的向量,向量长度为100,且出现0或1的概率各占一半。如果要求元素值为-1或1呢? 5. 假设有一整数矩阵A ,请写一函数,将此整数矩阵以ASCII 的整数方式存于文件之中。例如当矩阵内容如下时 ??? ? ??87654321, 则储存到文件中的内容为 1 2 3 4 5 6 7 8 6. 本题练习二进制文件的读写。 (1)请将A=magic(10)以uint8的数据类型存入一个二进制文件mytest.bin ,使用指令为fwrite. (2)请再用fread 指令将此魔方阵读至工作空间中的AA 变量中。 7. 设计一个函数captalize.m ,其用法如下: outputStr=capitalize(inputStr) 其中inputStr 是一英文字符串,函数会将此字符串中每个单词的第一个字母改为大写,其余为小写,并将多余空格代换成一个空格,outputStr 则是最后的输出字符串。例如,当输入是’ how are you! ’时,所得到的输出字符串是’ How are you! ’. 8. 请创建下列4 9. ⑴ 请依歌星名字内码来排序,产生新的元胞数组B 。 ⑵ 请依年代来排序,产生新的元胞数组C 。 ⑶ 请依歌名字数来排序,产生新的元胞数组D (若字数相同,则按歌名中字符的内码来排序)。 10. 在上题的元胞数组中,求出年代的最大值、最小值、平均值及中位数。 11.

【方法】Matlab中常见数学函数的使用

【关键字】方法 给自己看的----Matlab的内部常数(转) 2008/06/19 14:01 [Ctrl C/V--学校 ] MATLAB基本知识 Matlab的内部常数 pi 圆周率 exp(1) 自然对数的底数e i 或j 虚数单位 Inf或inf 无穷大 Matlab的常用内部数学函数

没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下: 首先加载maple中的student函数库,加载方法为:maple(’with(student)’) 然后运行maple中的配方命令,格式为: maple(’completesquare(f)’)把f配方,其中f为代数表达式或代数方程 mapl e(’completesquare(f,x)’)把f按指定的变量x配方,其中f同上 maple(’completesquare(f,{x,y,...})’)把f按指定的变量x,y,...配方maple(’completesquare(f,[x,y,...])’)把f按指定的变量x,y,...配方, 如何用matlab进行多项式运算 (1)合并同类项 syms 表达式中包含的变量 collect(表达式,指定的变量) (2)因式分解 syms 表达式中包含的变量factor(表达式) (3)展开 syms 表达式中包含的变量 expand(表达式) 我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: maple(’maple中多项式的运算命令’) 如何用matlab进行分式运算 发现matlab只有一条处理分式问题的命令,其使用格式如下: [n,d]=numden(f)把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 不过我们可以调用maple的命令,调用方法如下: maple(’denom(f)’)提取分式f的分母 maple(’numer(f)’)提取分式f的分子 maple(’normal(f)’ ) 把分式f的分子与分母约分成最简形式 maple(’expand(f)’) 把分式f的分子展开,分母不变且被看成单项。 maple(’factor(f)’) 把分式f的分母和分子因式分解,并进行约分。 如何用Matlab进行因式分解 syms 表达式中包含的变量factor(表达式) 如何用Matlab展开 syms 表达式中包含的变量expand(表达式) 如何用Matlab进行化简 syms 表达式中包含的变量simplify(表达式) 如何用Matlab合并同类项 syms 表达式中包含的变量collect(表达式,指定的变量) 如何用Matlab进行数学式的转换 调用Maple中数学式的转换命令,调用格式如下: maple(‘Maple的数学式转换命令’)

MATLAB及在数学建模中的应用

第1讲MATLAB及 在数学建模中的应用 ? MatLab简介及基本运算?常用计算方法 ?应用实例

一、 MatLab简介及基本运算 1.1 MatLab简介 1.2 MatLab界面 1.3 MatLab基本数学运算 1.4 MatLab绘图

1.1 MatLab简介?MATLAB名字由MATrix和 LABoratory 两词组成。20世纪七十年代后期, 美国新墨西哥大学计算机科学系主任Cleve Moler教授为减轻学生编程负担,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。

?经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。

?1997年春,MATLAB5.0版问世,紧接着是5.1、5.2、5.3、6.0、6.1、6.5、7.0版。现今的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。 ?20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。

?MATLAB具有用法简易、可灵活运用、程式结构强又兼具延展性。以下为其几个特色: ①可靠的数值运算和符号计算。在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函 数可使用。 ②强大的绘图功能。 MATLAB可以绘制各种图形,包括二维和三维图形。 ③简单易学的语言体系。 ④为数众多的应用工具箱。

基于MATLAB的光伏电池通用数学模型

本文由qpadm贡献 pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 第 25 卷第 4 期 2009 年 4 月 电 力 For personal use only in study and research; not for commercial use 科 学 与 For personal use only in study and research; not for commercial use 工 程 Vol.25, No.4 Apr., 2009 11 For personal use only in study and research; not for commercial use Electric Power Science and Engineering 基于 MATLAB 的光伏电池通用数学模型 王长江 For personal use only in study and research; not for commercial use (华北电力大学电气与电子工程学院,北京 102206)摘要:针对光伏电池输出特性具有强烈的非线性,根据太阳能电池的直流物理模型,利用 MATLAB 建立了太阳能光伏阵列通用的仿真模型。利用此模型,模拟任意环境、太阳辐射强度、电池板参数、电池板串并联方式下的光伏阵列 I-V 特性。模型内部参数经过优化,较好地反应了电池实际特性。模型带有最大功率点跟踪功能,能很好地实现光伏发电系统最佳工作点的跟踪。关键词:光伏电池;MPPT;I-V 特性中图分类号:TM615 文献标识码:A 引 言 1 光伏电池特性 随着化石能源的消耗,全球都在面临能源危机,太阳能依靠其清洁、分布广泛等特点成为当今发展速度居第二位的能源 [1] 。光伏阵列由多个单体太阳能电池进行串并联封装而成,是光伏发电的能源供给中心,其 I V 特性曲线随日照强度和太阳能电池温度变化,即 I=f ( V, S, T ) 。目前而厂家通常仅为用户提供标准测试的短路电流 I sc 、开路电压 Voc、最大功率点电流 I m 、最大功率点电压 V m 值,所以如何根据已有的标准测试数据来仿真光伏阵列在不同日照、温度下的 I V,P V 特性曲线,在光伏发电系统分析研究中显得至关重要 [2] 。文献 [ 3~4 ] 介绍了一些光伏发电相关的仿真模型,但这些模型都需要已知一些特定参数,使得分析研究有一些困难。文献 [ 5 ] 介绍了经优化的光伏电池模型,但不能任意改变原始参数。文献 [ 6 ] 给出了光伏电池的原理模型,但参数选用典型值,会造成较大的误差。本文考虑工程应用因素,基于太阳能电池的物理模型,建立了适用于任何条件下的工程用光伏电池仿真模型。

数学软件_Matlab下

七、优化问题 MATLAB 软件可以线性规划、0-1规划、非线性规划、二次规划、多目标规划等优化问题。 1.线性规划(Lin ear Prog ramming ,简写为LP )问题 线性规划问题就是求多变量线性函数在线性约束条件下的最优值。满足约束条件的解称为可行解,所有可行解构成的集合称为可行域,满足目标式的可行解称为最优解。 MATLAB 解决的线性规划问题的标准形式为: min z f x T =? .. A x b s t Aeq x beq lb x ub ì祝??? ?í??#??? 其中,,,,,f x b beq lb ub 为列向量,,A Aeq 为矩阵。在MATLAB 中求解线性规划问题函数为linprog ,其使用格式为: [x, fval, exitflag, output, lambda] = linprog(f, A, b, Aeq, beq, lb, ub) 输入部分:其中各符号对应线性规划问题标准形式中的向量和矩阵,如果约束条件中

有缺少,则其相应位置用空矩阵[]代替。 输出部分:其中x 为最优解,用列向量表示;fval 为最优值;exitflag 为退出标志,若exitflag=1表示函数有最优解;output 表明算法和迭代情况;lambda 表示存储情况。 例. 用linprog 函数求下面的线性规划问题 12312312312123 min 54620324423230.. 0,00x x x x x x x x x x x s t x x x ---ì-+?????++????+???í?£???£????£?? 在命令窗口输入如下命令: >> f = [-5, -4,-6]; A = [1 -1 1; 3 2 4; 3 2 0]; b = [20; 42; 30]; lb = zeros(3,1);

MATLAB数学软件在数学课堂中的应用

论文 摘要 MATLAB数学软件是集数值计算、图形处理等功能为一体的数学应用软件.传统的数学教学比较枯燥,而MATLAB数学软件应用于数学课堂中,给教学上带来了很大的方便,本文介绍利用MATLAB软件在运算、绘图方面的优势应用于基础数学教学里的数学分析、线性代数、概率统计、数值分析、运筹学、解析几何等.从而使得学生的积极性以及主动学习的兴趣大大增加. 关键词:MATLAB;数学教学;应用

MATLAB数学软件在数学课堂中的应用 The Application Of The Matlab in Mathematic Teaching ABSTRACT MATLAB is mathematical software capable of numerical computation, graphics pr -ocessing and so on. The traditional mathematical education is very boring while the ap--plication of MATLAB mathematical software in the mathematics class has brought gre -at convenience to teaching. This paper introduces how the strengths of the software, su-ch as operation and drawing, are used in mathematics teaching of mathematical analysi -s, linear algebra, probability statistics, numerical analysis, operational research, analyti-c geometry etc. As a result, it will enormously increase students’ enthusiasm and interes -t in study. Key words:MATLAB;mathematical education; application

数学实验与数学建模(matlab在建模中的应用)

数学实验与数学建模 学习目标 1.掌握利用Matlab软件进行了相关的数学运算的方法. 2.以软件辅助来完成数学实验. 3.了解数学建模思想方法,能够对一些简单问题建立数学模型求解分析. 教学要求 Matlab是Mathworks公司推出的用于数值计算的交互式软件系统,具有强大的数值分析、矩阵运算、信号处理、图形显示和建模仿真功能. Matlab是“Matrix Laboratory”的缩写,意思是“矩阵实验室”,其强大的数据处理能力和丰富的工具箱使它的编程极为简单,因此,它成为科学家和工程技术人员解决实际问题的首选计算工具软件。 本章的第一节主要介绍Matlab软件的简单使用方法,从第二节到第六节在讲解Matlab 用于解决高等数学和线性代数中的相关计算的函数基础上, 通过一些简单的数学实验例题,让学生体会如何用Matlab辅助解决数学问题. 最后,通过一些与线性代数相关的数学建模实例,让学生掌握数学建模的简单方法,学会利用Matlab软件辅助解决实际问题,以培养学生良好的数学意识和数学素质. 6.1 Matlab环境及使用方法 6.1.1 Matlab窗口管理 Matlab启动后显示三个窗口,如图6.1所示。左上窗口为工作区间窗口,显示用户定义的变量及其属性类型及变量长度。工作区间窗口也可显示为当前目录窗口,显示Matlab 所使用的当前目录及该目录下的全部文件名。左下窗口为历史窗口,显示每个工作周期(指Matlab启动至退出的工作时间间隔)在命令窗口输入的全部命令,这些命令还可重新获取应用。右侧窗口为Matlab命令窗口,可在里面输入相关运算命令,完成相应计算。三个窗口中的记录除非通过Edit菜单下的清除操作,否则将一直保存。

数学实验与数学软件(Mathmaticandmatlab)

数学软件与数学实验2013-2014学年度秋季学期期末试卷 专业:统计学 班级:11级2班 学号:20110723 姓名:晏静

一、按要求计算出下列表达式的值 (1)318, 3 162 53 ?? + ? ?? , 21 eπ+, 2.5 tg, 2 log15; (2)给出π的9位和e的10位近似值; (3)求658和4102的最大公约数及35和25的最小公倍数; (4)产生10个0与10之间随机数的一个表; (5)求虚数1453 i i i i +- -的实部,虚部,模,共轭,辐角。 (6)自己运用Table建立两个表,并进行表运算,如连接、并集、交、排序等操作。

二、因式分解 22212321332112322 1 22(1)()()()4;(2)21;x x x x x x x x x x x x x x x +++++---- 解: 三、解方程(组) 1234234124234-2+344-+-3(1)+31-73+3 x x x x x x x x x x x x x -=??=? ? +=??+=-? 65432(2)5232002000.x x x x x x -+--++= 四、求极限 () 20 (1)1sin ;(2);(3)56! ctg x n x n n n Lim x Lim n n →→∞ →∞++

(1) (2) (3) 五、求导数 32 22(1)()=ln(x+1+);(2)()=cos 2,; (3)=log (),Z . x f x x f f x e y x y Z xy x y y ???求的导数已知求求关于的二阶导 (1) (2) (3) 六、求下列定积分与不定积分: ()()()12201+sin ln 1+(1);(2);(3)sin (1+cos ) +1(1+)(2+-) x x dx dx x x x x x x ? ? ?2 2-(4)=0,=1,==.y D D x y y x I x e d σ??设是由直线围成的区域,计算的值 (1) (2)

基于MATLAB的数学建模题

1求1到20的阶乘和M文件 function p=fac(n) %fac函数由于阶乘 if n==0 p=1; else p=1; i=1; while i<=n p=p*i; i=i+1; end end clear sum=0; for i==1:20 sum=sum+fac(i) end sum (1)

(2)运行结果 2、用起泡法排数 clc clear all s=[9 8 4 2 7 10 6 1 5 3]; %要排序的数列Ls=length(s); for i=1:Ls-1 for j=1:Ls-i if s(j)>s(j+1) t=s(j); s(j)=s(j+1); s(j+1)=t; end

end end s %输出排序后结果 结果 3、matlab 有一函数 f(x,y)=x2+cos(xy)+2y ,写一程序,输入自变量的值,输出函数值. function z= yourfunc(x,y) % script for f(x,y)=x2+cos(xy)+2y % input scalar: x, y % output scalar: z % written by yourname % 10 May 2010 z=x^2+cos(x*y)+2*y;

end 运行结果 4、小球下落问题 h = zeros(11,1); h(1) = 100; for i = 2:11 h(i) = h(i-1)/2; end % 第10次反弹有多高?h(11)

% 它在第10次落地时,共经过多少米? 2*sum(h(1:10))-h(1) 结果如下 5、矩阵问题 有一个4行5列的矩阵,编程求出其最大值以及最大值所处位置clc; clear all; A = rand(4, 5); m = A(1); ind = [1 1]; for i = 1 : size(A, 1) for j = 1 : size(A, 2) if m < A(i, j)

MATLAB在数学中的应用

MATLAB在微分方程中的应用 12级通信一班张丹丹1202301039 摘要:MATLAB的强大功能也是大学的数学教育中是相当重视其学习重要性的原因之一。它能将运用者从繁杂的计算束缚中解救出来,把更多的精神投入到数学的基本含义的理解上,因此,它逐渐成为大学生们课程中的规范和重要工具。MATLAB在信息论、高等数学与代数中作图和教学中的应用,从而充分体现了MATLAB功能的强大,特别是绘图功能,矩阵运算,数值分析运算。借助MATLAB的运用,使学习者对数学的欣赏得以向群众普及,这对数学文明的传递具有重要意义。以下主要从数学中的解微分方程及其应用的角度来思考。 关键字:MATLAB介绍解微分方程绘图应用 一、MATLAB (一)MATLAB简介 MATLAB(Matrix Laboratory,矩阵实验室)是MathWorks公司开发的,目前国际上最流行,应用最广泛的科学与工程计算软件。它集成二维和三维图形功能,已完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言-M语言,利用M语言可以通过编写脚本或则函数文件实现用户自己的算法。MATLAB是目前发展最快的软件之一,其在多线程计算、视频图像算法等方面更加突出,能够从Symbolic math Toolbox 中生成Simscape语言方程,SimulMATLABink 中增加了Simulink PLC Coder。 (二)MATLAB的功能与特点 MATLAB集科学与工程计算机、图形可视化、多媒体处理于一体,并提供了Windows 图形界面设计方法。MATLAB语言有以下特点: 起点高 2.人机界面友好,编程效率高 3.强大而智能化的作图功能 4.智能化程度高 5.Simulink动态仿真功能 二.Matlab求解微分方程 求微分方程(组)解析解的命令 应用dsolve函数求解方程(‘方程1’,‘方程2’,…,‘方程n’,‘初始条件’,‘自变量’) 例1 求du/dt=1+u^2的通解. 输入命令:dsolve('Du=1+u^2','t') 结果:u = tg(t+c1) 例2.求微分方程的特解. x’(t)=2x-3y+3z y’(y)=4x-5y+3z Z’(t)=4x-4y+2z 输入命令: [x,y,z]=dsolve('Dx=2*x-3*y+3*z', 'Dy=4*x-5*y+3*z','Dz=4*x-4*y+2*z', 't'); x=simple(x) % 将x化简 y=simple(y) z=simple(z) 结果为:x = (c1-c2+c3+c2e -3t-c3e-3t)e2t y = -c1e-4t+c2e-4t+c2e-3t-c3e-3t+c1-c2+c3)e2t

用matlab解决数学建模

2、已知速度曲线v(t) 上的四个数据点下表所示 t=[0.15,0.16,0.17,0.18]; v=[3.5,1.5,2.5,2.8]; x=0.15:0.001:0.18 y=i n t e r p1(t,v,x,'s p l i n e') S=t r a p z(x,y) p=p o l y f i t(x,y,5); d p=p o l y d e r(p); d p x=p o l y v a l(d p,0.18) 运行结果 S= 0.0687 Dpx=- 3、计算图片文件tu.bmp 给出的两个圆A,B 的圆心,和两个圆的两条外公切线和两条内公切线的切点的坐标。 (1)计算A 圆的圆心坐标 I=imread('tu.bmp'); [m,n]=size(I) BW=im2bw(I) BW(:,200:512)=1; figure, imshow(BW) ed=edge(BW); [y,x]=find(ed); x0=mean(x), y0=mean(y) r1=max(x)-min(x),r2=max(y)-min(y) r=(r1+r2)/4 x0 =109.7516 y0 =86.7495 r1 =162 r2 =158 r =80 (2)B圆的圆心坐标和半径 I=imread('tu.bmp'); BW=im2bw(I) BW(:,1:200)=1; imshow(BW) ed=edge(BW); [y,x]=find(ed); x0=mean(x), y0=mean(y) r1=max(x)-min(x),r2=max(y)-min(y) r=(r1+r2)/4 x0 =334.0943 y0 =245.7547 r1 =165 r2 =158 r = 80.7500

MATLAB 在数学中的应用

MATLAB 在数学中的应用-中学数学论文 MATLAB 在数学中的应用 江苏苏州工读学校蔡宇白 数学作为一切科学的基础,能够用抽象的数学关系式描述客观规律。高等数学(简称高数)是理工科非常重要的必修课程,财经类专业则常常只需要涉及其中的微积分部分。高等数学课程中涉及到的数学思维、知识、方法为今后更深入的学习奠定了基础,也有利于学生创新思维、计算、空间想象、逻辑推理、抽象思维等能力的培养。数学学习的最根本目的是为人们的实际应用而服务,因此传统的围绕数学相关规则、定理、定义、公式、证明进行教学的教学模式已经难以适应时代要求,纯粹的数学定理学习、解题方式训练难以深入到数学的核心, 更难以做到在实际科研、生活中的灵活运用。 对于学生们的数学实际应用能力普遍不强的情况,数学实验课可以很大程度的改善这个问题,同时使学生能够学生参与到数学应用中来,而不是枯燥乏味的定理、定义证明。MATLAB 作为一种数学软件,它的使用能够有效提高学生的学习积极性,也能提高学生的创新及应用能力。 一、MATLAB 的特点及优势 MATLAB 软件具有强大的人机交互功能,早在1984 年就被美国的Mathworks 公司开发出来并得到了广泛推广应用,此软件主要特点是强大的矩阵计算能力,能够把程序设计、可视化、数值计算等功能融合起来,并能帮助用户实现绘图、仿真、运算等功能。MATLAB 也是目前科研人员、产品开发人员常用的一大软件工具,能帮助用户实现场景建模、仿真、参数调节等功能。因此在高数学习过程中结合使用MATLAB,能够让学生理解数学知识更加直观和透

彻,还能有效提高学生们的科研实践和动手能力。 MATLAB 发展至今,已经得到了成熟而广泛的应用,其特点与优势主要有以下几点: (一)语言简单,易于使用与理解 MATLAB 软件使用的语言结构及语法结构与C/C++ 等语言很相似,且近期出现的新型MATLAB 软件也都是基于C++语言而开发出来的,且比C/C++语言结构和语法结构更简单,比较符合人们日常语言使用习惯,易于科研人员使用。具有输入、输出、数据结构、函数、语句、面向对象等语言特点。 (二)编程环境友好 MATLAB 软件具有精致的编程界面,操作起来十分简单,具有较强的人机交互能力。软件中的Help可以供用户查询语句使用方法,软件还能直接运行程序不需像C/C++ 等软件一样需先进行编译。在运行中,能及时检查出程序中出现的语法错误,还等在程序中设置断点,使程序能够单步执行。执行程序过程中的数据能通过查看Workspace 中变量数据以方便分析。 (三)强大的数据处理及图形处理能力 MATLAB 具有强大的可视化、矩阵运算等数据处理能力,图形绘制有二维、三维、动画、图像处理等能力,常被用于工程制图与科学计算。MATLAB 中包含了大量的数学处理函数,能够实现各种所需的运算功能。 二、MATLAB在高等数学中的应用 (一)符号计算 高数中涉及到的计算主要有函数求微分、求积分、求极限、级数求和、傅里叶和幂级数展开等等。这些计算问题如果单纯依靠老师讲解分析很难使学生深刻

数学软件四大家Maple、MATLAB、MathCAD和Mathematica

数学软件四大家Maple、MATLAB、MathCAD和Mathematica 目前在科技和工程界上比较流行和著名的数学软件主要有四个,分别是MATLAB、Maple、MathCAD和Mathematica。它们在各自针对的目标都有不同的特色。下面就让我为你一一道来。 一、Maple 系统 Maple 是由Waterloo大学开发的数学系统软件,它不但具有精确的数值处理功能,而且具有无以伦比的符号计算功能。 Maple 的符号计算能力还是MathCAD和MATLAB等软件的符号处理的核心。Maple提供了2000余种数学函数,涉及范围包括:普通数学、高等数学、线性代数、数论、离散数学、图形学。它还提供了一套内置的编程语言,用户可以开发自己的应用程序,而且Maple自身的2000多种函数,基本上是用此语言开发的。 Maple采用字符行输入方式,输入时需要按照规定的格式输入,虽然与一般常见的数学格式不同,但灵活方便,也很容易理解。输出则可以选择字符方式和图形方式,产生的图形结果可以很方便地剪贴到Windows应用程序内。 二、MATLAB 系统 MATLAB原是矩阵实验室(Matrix Laboratory)在70年代用来提供Linpack和Eispack软件包的接口程序,采用C语言编写。从80年代出现3.0的DOS版本,逐渐成为科技计算、视图交互系统和程序语言。MATLAB可以运行在十几个操作平台上,比较常见的有基于Windows 9X/NT、OS/2、Macintosh、Sun、Unix、Linux等平台的系统。 MATLAB程序主要由主程序和各种工具包组成,其中主程序包含数百个内部核心函数,工具包则包括复杂系统仿真、信号处理工具包、系统识别工具包、优化工具包、神经网络工具包、控制系统工具包、μ分析和综合工具包、样条工具包、符号数学工具包、图像处理工具包、统计工具包等。而且5.x版本还包含一套几十个的PDF文件,从MATLAB的使用入门到其他专题应用均有详细的介绍。 MATLAB是数值计算的先锋,它以矩阵作为基本数据单位,在应用线性代数、数理统计、自动控制、数字信号处理、动态系统仿真方面已经成为首选工具,同时也是科研工作人员和大学生、研究生进行科学研究的得力工具。MATLAB在输入方面也很方便,可以使用内部的Editor或者其他任何字符处理器,同时它还可以与Word6.0/7.0结合在一起,在Word的页面里直接调用MATLAB 的大部分功能,使Word具有特殊的计算能力。 三、MathCAD 系统 MathCAD是美国Mathsoft公司推出的一个交互式的数学系统软件。从早期的DOS下的1.0和Windows下的4.0版本,到今日的8.0版本,功能也从简单的数值计算,直至引用Maple强大的符号计算能力,使得它发生了一个质的飞跃。 MathCAD是集文本编辑、数学计算、程序编辑和仿真于一体的软件。MathCAD7.0 Professional(专业版)运行在Win9X/NT 下,它的主要特点是输入格式与人们习惯的数学书写格式很近似,采用WYSWYG(所见所得)界面,特别适合一般无须进行复杂编程或要求比较特殊的计算。MathCAD 7.0 Professional 还带有一个程序编辑器,对于一般比较短小,或者要求计算速度比较低时,采用它也是可以的。这个程序编辑器的优点是语法特别简单。 MathCAD可以看作是一个功能强大的计算器,没有很复杂的规则;同时它也可以和Word、Lotus、WPS2000等字处理软件很好地配合使用,可以把它当作一个出色的全屏幕数学公式编辑器。 四、Mathematica 系统 Mathematica是由美国物理学家Stephen Wolfram领导的Wolfram Research开发的数学系统软件。它拥有强大的数值计算和符号计算能力,在这一方面与Maple类似,但它的符号计算不是基于Maple上的,而是自己开发的。 Mathematica的基本系统主要是用C语言开发的,因而可以比较容易地移植到各种平台上,Mathematica是一个交互式的计算系统,计算是在用户和Mathematica互相交换、传递信息数据的过程中完成的。Mathematica系统所接受的命令都被称作表达式,系统在接受了一个表达式之后就对它进行处理,然后再把计算结果返回。Mathematica对于输入形式有比较严格的规定,用户必须按照系统规定的数学格式输入,系统才能正确地处理,不过由于3.0版本引入输入面板,并且可以修改、重组输入面板,因此以前版本输入指令时需要不断切换大小写字符的繁琐方式得到很好的改善。5.1版本可以用各种格式保存文件和剪贴内容,包括RTF、HTML、BMP等格式。 Mathematica的符号功能是最强的。且它的运行构架是最优的。符号运算效力与解析能力是最好的(数值运算当然是Matlab最好)。它的构架由核心系统与前端系统构成。两个系统既合作又独立。这个比Matlab的构架都要优秀。它是专为研究人员开发的。至于Maple的符号能力根本就比Mathematica弱很多的。它基本上是为中学生与大学生之学习研发的。不足以进行物理学与技术科学的运演。而Mathematica是最好的物理学科研的工具。Matlab是最好的技术科学数值求解的工具。朋友们应该知了。数值类的数学软件是Matlab最好最全。符号分析类的数学软件是Mathematica最好。 五、四种软件的比较 选用何种数学软件?如果仅仅是要求一般的计算或者是普通用户日常使用,首选的是MathCAD,它在高等数学方面所具有的能力,足够一般客户的要求,而且它的输入界面也特别友好。如果要求计算精度、符号计算和编程方面的话,最好同时使用Maple和Mathematica,它们在符号处理方面各具特色,有些Maple不能处理的,Mathematica却能处理,诸如某些积分、求极限等方面,这些都是比较特殊的。如果要求进行矩阵方面或图形方面的处理,则选择MATLAB,它的矩阵计算和图形处理方面则是它的强项,同时利用MATLAB的NoteBook功能,结合Word6.0/7.0的编辑功能,可以很方便地处理科技文章

相关文档
最新文档