matlab数学实验必备
实验一matlab环境语法及数学运算(验证性实验-2课时)
实验一Matlab环境语法及数学运算(验证性实验-2课时)一、实验目的:1、熟悉matlab软件的环境语法及简单的数学运算;2、能熟练运用matlab软件进行简单的数学运算;二、实验设备PC机,配置:PIII450/内存128M/显卡TNT32M/硬盘10G以上。
局域网、MATLAB7.0环境、投影仪三、实验原理MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。
MATLAB有3种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Window)和图形窗口(The Figure Window),而Simulink另外又有Simulink 模型编辑窗口。
1.命令窗口(The Command Window)当MATLAB启动后,出现的最大的窗口就是命令窗口。
用户可以在提示符“>>”后面输入交互的命令,这些命令就立即被执行。
在MATLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。
在命令窗口中输入该文件名,这一连串命令就被执行了。
因为这样的文件都是以“.m”为后缀,所以称为m-文件。
2.m-文件编辑窗口(The Edit Window)我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。
在MATLAB主界面上选择菜单“File/New/M-file”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。
四、实验内容:1、帮助命令使用 help 命令,查找 sqrt(开方)函数的使用方法;2、矩阵运算(1)矩阵的乘法已知 A=[1 2;3 4]; B=[5 6;7 8];求 A^2*B(2)矩阵除法已知 A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];A\B,A/B(3)矩阵的转置及共轭转置已知 A=[5+i,2-i,1;6*i,4,9-i];求 A.', A'(4)使用冒号选出指定元素已知: A=[1 2 3;4 5 6;7 8 9];求 A 中第 3 行前 2 个元素;A 中所有列第 2,3 行的元素;A 中第 3 列前 2 个元素为:3、多项式求多项式 p(x) = x3 + 2x+ 4的根4、基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π](2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5),t∈[0,2π]5、基本绘图控制绘制[0,4π]区间上的 x1=10sint 曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)坐标轴控制:显示范围、刻度线、比例、网络线(3)标注控制:坐标轴名称、标题、相应文本;五、实验步骤1、帮助命令使用 help 命令,查找 sqrt(开方)函数的使用方法;SQRT Square root.SQRT(X) is the square root of the elements of X. Complexresults are produced if X is not positive.See also sqrtm.Overloaded functions or methods (ones with the same name in other directories) help sym/sqrt.mReference page in Help browserdoc sqrt2、矩阵运算(1)矩阵的乘法已知 A=[1 2;3 4]; B=[5 6;7 8];求 A^2*BA^2*B =105 122229 266(2)矩阵除法已知 A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];A\B,A/BWarning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 1.541976e-018.A\B =1.0e+016 *-0.4504 1.8014 -1.35110.9007 -3.6029 2.7022-0.4504 1.8014 -1.3511A/B =1.0000 1.0000 1.00004.0000 2.5000 2.00007.0000 4.0000 3.0000(3)矩阵的转置及共轭转置已知 A=[5+i,2-i,1;6*i,4,9-i];求 A.', A'A.'=5.0000 + 1.0000i 0 +6.0000i2.0000 - 1.0000i 4.00001.0000 9.0000 - 1.0000iA’ =5.0000 - 1.0000i 0 -6.0000i2.0000 + 1.0000i 4.00001.0000 9.0000 + 1.0000i(4)使用冒号选出指定元素已知: A=[1 2 3;4 5 6;7 8 9];求 A 中第 3 行前 2 个元素;A 中所有列第 2,3 行的元素;A 中第 3 列前 2 个元素为:A(3,1:2) =7 8A(2:3,:) =4 5 67 8 9A(1:2,3) =363、多项式求多项式 p(x) = x3 + 2x+ 4的根p=[1 0 2 4];roots(p)ans =0.5898 + 1.7445i0.5898 - 1.7445i-1.17954、基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π]t=0:pi/100:2*pi;y=cos(t);plot(t,y)(2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5),t∈[0,2π]t=0:pi/100:2*pi;y1=cos(t-0.25);y2=sin(t-0.5);plot(t,y1,t,y2)5、基本绘图控制绘制[0,4π]区间上的 x1=10sint 曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)坐标轴控制:显示范围、刻度线、比例、网络线(3)标注控制:坐标轴名称、标题、相应文本;程序:t=0:pi/100:4*pi;x1=10*sin(t);plot(t,x1,'r-.+')title('t from 0 to 4{\pi}')xlabel('Variable t')ylabel('Variable x1')grid ontext(2,5,'曲线x1=10*sin(t)')legend('x1')六、实验要求利用所学知识,完成上述各项实验内容,并将实验过程和实验步骤和结果写在报告中。
数学实验课件--MATLAB简介
数组(向量和矩阵)及其 运算
学习如何在MATLAB中创建和操 作向量、矩阵及其运算符号。
控制语句和函数
探索MATLAB中的条件语句和循 环语句的使用,以及自定义函 数的编写。
三、MATLAB图形用户界面
1
MATLAB图形用户界面的基本元素
了解MATLAB图形用户界面的常见元素,如按钮、文本框和图形显示区。
数学实验课件--MATLAB简 介
MATLAB是一种强大的数学计算软件,广泛应用于科学、工程和金融领域。本 课件将介绍MATLAB的基本概念、语言基础、图形用户界面、特殊工具箱、应 用实例以及相关资源。
一、MATLAB基本概念
什么是MATLAB?
MATLAB是一种高级数学计算 软件,具有强大的数据分析 和可视化功能。
2
创建图形用户界面
学习如何使用MATLAB的GUI设计工具创建自定义的交互式界面。
图像处理和交互式数据可视化的方法。
四、MATLAB特殊工具箱
统计工具箱
了解如何使用MATLAB的统计 工具箱进行数据分析和统计 建模。
信号处理工具箱
学习使用MATLAB的信号处理 工具箱进行信号滤波、谱分 析和音频处理等操作。
MATLAB的特点和优势
MATLAB具有易于学习、功能 丰富、速度快、内存管理优 秀等特点。
MATLAB能够解决哪些 问题?
MATLAB可以用于数值计算、 数据分析、图像处理、模拟 和仿真等各种问题。
二、MATLAB语言基础
MATLAB变量和运算
了解MATLAB中的变量定义和基 本运算符号。掌握变量的赋值 和算术运算。
MATLAB社区资源
加入MATLAB的技术社区,与其他MATLAB用户分享经验和解决问题。
MATLAB实验指导书(共5篇)
MATLAB实验指导书(共5篇)第一篇:MATLAB实验指导书MATLAB 实验指导书皖西学院信息工程学院实验一 MATLAB编程环境及简单命令的执行一、实验目的1.熟悉MATLAB编程环境二、实验环境1.计算机2.MATLAB7.0集成环境三、实验说明1.首先应熟悉MATLAB7.0运行环境,正确操作2.实验学时:2学时四、实验内容和步骤1.实验内容(1)命令窗口的使用。
(2)工作空间窗口的使用。
(3)工作目录、搜索路径的设置。
(4)命令历史记录窗口的使用。
(5)帮助系统的使用。
(6)了解各菜单的功能。
2.实验步骤(1)启动MATLAB,熟悉MATLAB的桌面。
(2)进入MATLAB7.0集成环境。
(3)在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算结果。
1)(365-52⨯2-70)÷3 2)>>area=pi*2.5^2 3)已知x=3,y=4,在MATLAB中求z:x2y3 z=2(x-y)4)将下面的矩阵赋值给变量m1,在workspace中察看m1在内存中占用的字节数。
⎡162313⎤⎢511108⎥⎥m1=⎢⎢97612⎥⎢⎥414151⎣⎦执行以下命令>>m1(2 , 3)>>m1(11)>>m1(: , 3)>>m1(2 : 3 , 1 : 3)>>m1(1 ,4)+ m1(2 ,3)+ m1(3 ,2)+ m1(4 ,1)5)执行命令>>helpabs 查看函数abs的用法及用途,计算abs(3 + 4i)6)执行命令>>x=0:0.1:6*pi;>>y=5*sin(x);>>plot(x,y)7)运行MATLAB的演示程序,>>demo,以便对MATLAB有一个总体了解。
五、思考题1、以下变量名是否合法?为什么?(1)x2(2)3col(3)_row (4)for2、求以下变量的值,并在MATLAB中验证。
MATLAB实验
MATLAB实验1. 引言MATLAB(Matrix Laboratory)是一种专用于数值计算和数据可视化的高级编程语言。
它在科学、工程和商业领域得到了广泛应用。
本文档将介绍一些MATLAB的基本操作和实验,帮助读者快速上手并熟悉MATLAB环境。
2. 实验一:变量和运算符2.1 变量的定义和赋值在MATLAB中,可以使用赋值运算符“=”来给变量赋值。
例如:a = 1;b = 2;2.2 运算符的使用MATLAB支持基本的数学运算符,如加法、减法、乘法、除法等。
下面是一些例子:c = a + b; % 加法d = a - b; % 减法e = a * b; % 乘法f = a / b; % 除法2.3 MATLAB函数的调用MATLAB内置了许多常用的数学函数,可以直接调用。
例如,求平方根可以使用sqrt函数:x = sqrt(a);3. 实验二:矩阵和向量操作3.1 矩阵的定义和初始化在MATLAB中,可以使用矩阵来存储和处理数据。
矩阵可以通过直接赋值来定义,也可以通过函数来初始化。
例如:A = [123; 456; 789]; % 直接定义矩阵B = zeros(3, 3); % 初始化一个3x3的全零矩阵3.2 矩阵的运算MATLAB提供了丰富的矩阵运算功能,如加法、乘法、转置等。
下面是一些例子:C = A + B; % 矩阵加法D = A * B; % 矩阵乘法E = A'; % 矩阵转置3.3 向量的操作向量是一种特殊的矩阵,只有一列或一行。
可以使用向量进行各种数学运算。
例如:v = [123]; % 定义一个行向量w = [4; 5; 6]; % 定义一个列向量dot_product = v * w; % 向量点乘cross_product = cross(v, w); % 向量叉乘4. 实验三:控制流程和函数4.1 条件语句条件语句用于根据不同的条件执行不同的操作。
MATLAB 使用if-else语句来实现条件控制。
MATLAB数学实验100例题解
一元函数微分学实验1 一元函数的图形(基础实验)实验目的 通过图形加深对函数及其性质的认识与理解, 掌握运用函数的图形来观察和分析 函数的有关特性与变化趋势的方法,建立数形结合的思想; 掌握用Matlab 作平面曲线图性的方法与技巧.初等函数的图形2 作出函数x y tan =和x y cot =的图形观察其周期性和变化趋势. 解:程序代码:>> x=linspace(0,2*pi,600); t=sin(x)./(cos(x)+eps);plot(x,t);title('tan(x)');axis ([0,2*pi,-50,50]); 图象:程序代码:>> x=linspace(0,2*pi,100); ct=cos(x)./(sin(x)+eps);plot(x,ct);title('cot(x)');axis ([0,2*pi,-50,50]); 图象:4在区间]1,1[-画出函数xy 1sin =的图形. 解:程序代码:>> x=linspace(-1,1,10000);y=sin(1./x); plot(x,y);axis([-1,1,-2,2]) 图象:二维参数方程作图6画出参数方程⎩⎨⎧==t t t y tt t x 3cos sin )(5cos cos )(的图形:解:程序代码:>> t=linspace(0,2*pi,100);plot(cos(t).*cos(5*t),sin(t).*cos(3*t)); 图象:极坐标方程作图8 作出极坐标方程为10/t e r =的对数螺线的图形. 解:程序代码:>> t=0:0.01:2*pi; r=exp(t/10);polar(log(t+eps),log(r+eps)); 图象:90270分段函数作图10 作出符号函数x y sgn =的图形. 解:程序代码:>> x=linspace(-100,100,10000); y=sign(x); plot(x,y);axis([-100 100 -2 2]);函数性质的研究12研究函数)3(log 3)(35x e x x f x -++=在区间]2,2[-上图形的特征. 解:程序代码:>> x=linspace(-2,2,10000);y=x.^5+3*exp(x)+log(3-x)/log(3); plot(x,y); 图象:实验2 极限与连续(基础实验)实验目的 通过计算与作图, 从直观上揭示极限的本质,加深对极限概念的理解. 掌握用 Matlab 画散点图, 以及计算极限的方法. 深入理解函数连续的概念,熟悉几种间断点的图形 特征,理解闭区间上连续函数的几个重要性质.作散点图14分别画出坐标为)10,,2,1(),4,(),,(3222 =+i i i i i i 的散点图, 并画出折线图. 解:散点图程序代码: >> i=1:10; plot(i,i.^2,'.')或:>> x=1:10;y=x.^2;for i=1:10;plot(x(i),y(i),'r')hold onend折线图程序代码:>> i=1:10;plot(i,i.^2,'-x')程序代码:>> i=1:10;plot(i.^2,4*(i.^2)+i.^3,'.')>> i=1:10;plot(i.^2,4*(i.^2)+i.^3,'-x')数列极限的概念16通过动画观察当∞→n 时数列21n a n =的变化趋势.解:程序代码: >> n=1:100; an=(n.^2); n=1:100; an=1./(n.^2); n=1:100; an=1./(n.^2); for i=1:100plot(n(1:i),an(1:i)),axis([0,100,0,1]) pause(0.1) end 图象:函数的极限18在区间]4,4[-上作出函数xx xx x f --=339)(的图形, 并研究 )(lim x f x ∞→ 和 ).(lim 1x f x →解:作出函数x x xx x f --=339)(在区间]4,4[-上的图形 >> x=-4:0.01:4;y=(x.^3-9*x)./(x.^3-x+eps); plot(x,y)从图上看,()f x 在x →1与x →∞时极限为0两个重要极限 20计算极限⎪⎭⎫⎝⎛+→x x x x x sin 11sin lim )1(0 x x e x 2lim )2(+∞→30sin tan lim )3(xx x x -→ x x x 0lim )4(+→ x xx ln cot ln lim )5(0+→ x x x ln lim )6(20+→ xx xx x x sin cos sin lim)7(20-→ 125523lim )8(323+++-∞→x x x x x xx x e e x x x sin 2lim )9(0----→ xx x x cos 110sin lim )10(-→⎪⎭⎫ ⎝⎛ 解:(1)>> limit(x*sin(1/x)+1/x*sin(x))ans =1(2) >> limit(x^2/exp(x),inf) ans = 0(3) >> limit((tan(x)-sin(8))/x^3) ans =NaN(4) >> limit(x^x,x,0,'right') ans =1(5) >> limit(log(cot(x))/log(x),x,0,'right') ans =-1(6) >> limit(x^2*log(x),x,0,'right') ans =0(7) >> limit((sin(x)-x.*cos(x))./(x.^2.*sin(x)),x,0) ans =1/3(8) >> limit((3*x.^3-2*x.^2+5)/(5*x.^3+2*+1),x,inf) ans =3/5(9) >> limit((exp(x)-exp(-x)-2*x)./(x-sin(x))) ans =2(10) >> limit((sin(x)/x).^(1/(1-cos(x)))) ans =exp(-1/3)实验3 导数(基础实验)实验目的 深入理解导数与微分的概念, 导数的几何意义. 掌握用Matlab 求导数与高 阶导数的方法. 深入理解和掌握求隐函数的导数, 以及求由参数方程定义的函数的导数的方法. 导数概念与导数的几何意义22作函数71232)(23+-+=x x x x f 的图形和在1-=x 处的切线. 解:作函数71232)(23+-+=x x x x f 的图形程序代码: >> syms x;>> y=2*x^3+3*x^2-12*x+7; >> diff(y) ans =6*x^2+6*x-12 >> syms x;y=2*x^3+3*x^2-12*x+7; >> f=diff(y) f =6*x^2+6*x-12 >> x=-1;f1=6*x^2+6*x-12 f1 = -12>> f2=2*x^3+3*x^2-12*x+7 f2 = 20>> x=linspace(-10,10,1000);y1=2*x.^3+3*x.^2-12*x+7; y2=-12*(x+1)+20; plot(x,y1,'r',x,y2,'g')求函数的导数与微分24求函数bx ax x f cos sin )(=的一阶导数. 并求.1⎪⎭⎫⎝⎛+'b a f解:求函数bx ax x f cos sin )(=的一阶导数程序代码: >> syms a b x y;y= sin(a*x)*cos(b*x); D1=diff(y,x,1) 答案:D1 =cos(a*x)*a*cos(b*x)-sin(a*x)*sin(b*x)*b求.1⎪⎭⎫ ⎝⎛+'b a f程序代码: >> x=1/(a+b);>> cos(a*x)*a*cos(b*x)-sin(a*x)*sin(b*x)*b 答案:ans =cos(a/(a+b))*a*cos(b/(a+b))-sin(a/(a+b))*sin(b/(a+b))*b 拉格朗日中值定理26对函数),2)(1()(--=x x x x f 观察罗尔定理的几何意义. (1) 画出)(x f y =与)(x f '的图形, 并求出1x 与.2x 解:程序代码:>> syms x;f=x*(x-1)*(x-2); f1=diff(f) f1 =(x-1)*(x-2)+x*(x-2)+x*(x-1) >> solve(f1) ans =1+1/3*3^(1/2) 1-1/3*3^(1/2)>> x=linspace(-10,10,1000); y1=x.*(x-1).*(x-2);y2 =(x-1).*(x-2)+x.*(x-2)+x.*(x-1); plot(x,y1,x,y2)(2)画出)(x f y 及其在点))(,(11x f x 与))(,(22x f x 处的切线. 程序代码:>> syms x; >> f=x*(x-1)*(x-2); >> f1=diff(f) f1 =(x-1)*(x-2)+x*(x-2)+x*(x-1) >> solve(f1) ans =1+1/3*3^(1/2) 1-1/3*3^(1/2)>> x=linspace(-3,3,1000); >> y1=x.*(x-1).*(x-2);>> y2 =(x-1).*(x-2)+x.*(x-2)+x.*(x-1); >> plot(x,y1,x,y2) >> hold on>> x=1+1/3*3^(1/2); >> yx1=x*(x-1)*(x-2) yx1 =-0.3849>> x=1-1/3*3^(1/2); >> yx2=x*(x-1)*(x-2) yx2 =0.3849x=linspace(-3,3,1000); yx1 =-0.3849*x.^0; yx2 =0.3849*x.^0; plot(x,yx1,x,yx2)28求下列函数的导数:(1) 31+=x e y ; 解:程序代码:>> syms x y; y=exp((x+1)^3); D1=diff(y,1) 答案:D1 =3*(x+1)^2*exp((x+1)^3)(2) )]42ln[tan(π+=x y ;解:程序代码:>> syms x;y=log(tan(x/2+pi/4)); D1=diff(y,1) 答案:D1 =(1/2+1/2*tan(1/2*x+1/4*pi)^2)/tan(1/2*x+1/4*pi)(3) x x y sin ln cot 212+=;解:程序代码:>> syms x;y=1/2*(cot(x))^2+log(sin(x)); D1=diff(y,1) 答案:D1 =cot(x)*(-1-cot(x)^2)+cos(x)/sin(x) (4) xy 2arctan21=. 解:程序代码:>> syms x;>> y=sqrt(2)*atan(sqrt(2)/x); >> D1=diff(y,1) 答案:D1 =-2/x^2/(1+2/x^2)一元函数积分学与空间图形的画法实验4 一元函数积分学(基础实验)实验目的 掌握用Matlab 计算不定积分与定积分的方法. 通过作图和观察, 深入理解定积分的概念和思想方法. 初步了解定积分的近似计算方法. 理解变上限积分的概念. 提高应用 定积分解决各种问题的能力.不定积分计算30求.)1(532⎰-dx x x解:程序代码:>> syms x y;>> y=x^2*(1-x^3)^5; >> R=int(y,x) 答案:R =-1/18*x^18+1/3*x^15-5/6*x^12+10/9*x^9-5/6*x^6+1/3*x^332求.arctan 2⎰xdx x解:程序代码:>> syms x y;>> y=x^2*atan(x); >> R=int(y,x) 答案:R =1/3*x^3*atan(x)-1/6*x^2+1/6*log(x^2+1)定积分计算34 求.)(102⎰-dx x x解:程序代码:>> syms x y; >> y=x-x^2;>> R=int(y,x,0,1) 答案: R =1/6变上限积分 36 画出变上限函数⎰x dt t t 02sin 及其导函数的图形.解:程序代码:>> syms x y t; >> y=t*sin(t^2); >> R=int(y,x,0,x) 答案:R =t*sin(t^2)*x 再求导函数 程序代码:>> DR=diff(R,x,1) 答案:DR =t*sin(t^2)实验5 空间图形的画法(基础实验)实验目的 掌握用Matlab 绘制空间曲面和曲线的方法. 熟悉常用空间曲线和空间曲面 的图形特征,通过作图和观察, 提高空间想像能力. 深入理解二次曲面方程及其图形.一般二元函数作图38作出函数2214y x z ++=的图形.解:程序代码:>> x=linspace(-5,5,500); [x,y]=meshgrid(x); z=4./(1+x.^2+y.^2); mesh(x,y,z);xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis');title('function')40作出函数)94cos(22y x z +=的图形. 解:程序代码:>> x=-10:0.1:10;[x,y]=meshgrid(x);z=cos(4*x.^2+9*y.^2); mesh(x,y,z);xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis');title('function')讨论:坐标轴选取范围不同时,图形差异很大,对本题尤为明显,如右图为坐标轴[-1,1]二次曲面42作出单叶双曲面1941222=-+z y x 的图形.(曲面的参数方程为 ,tan 3,cos sec 2,sin sec u z v u y v u x === (.20,2/2/πππ≤≤<<-v u ))解:程序代码:>> v=0:pi/100:2*pi; >> u=-pi/2:pi/100:pi/2; >> [U,V]=meshgrid(u,v); >> x=sec(U).*sin(V); >> y=2*sec(U).*cos(V); >> z=3*tan(U); >> surf(x,y,z)44 可以证明: 函数xy z =的图形是双曲抛物面. 在区域22,22≤≤-≤≤-y x 上作出它的图形.解:程序代码:>> x=-2:0.01:2;[x,y]=meshgrid(x); >> z=x.*y;>> mesh(x,y,z);46 画出参数曲面]2,001.0[],4,0[)5/2/ln(tan cos sin sin sin cos ∈∈⎪⎩⎪⎨⎧++===v u u v v z vu y v u x π 的图形.解:程序代码:>> v=0.001:0.001:2; >> u=0:pi/100:4*pi;>> [U,V]=meshgrid(u,v); >> x=cos(U).*sin(V); >> y=sin(U).*sin(V);>> z=cos(V)+log(tan(V/2)+U/5); >> mesh(x,y,z);空间曲线48 作出空间曲线)60(2,sin ,cos π≤≤===t t z t t y t t x 的图形. 解:程序代码:>> syms t;ezplot3(t*cos(t),t*sin(t),2*t,[0,6*pi])-1010-20-100100xx = t cos(t), y = t sin(t), z = 2 tz50绘制参数曲线 ⎪⎪⎩⎪⎪⎨⎧=+==t z t y t x arctan 211cos 2的图形.解:程序代码:>> t=-2*pi:pi/100:2*pi;x=cos(t).*cos(t);y=1./(1+2*t);z=atan(t); plot3(x,y,z);grid;xlabel('x'),ylabel('y'),zlabel('z')xyz多元函数微积分实验6 多元函数微分学(基础实验)实验目的 掌握利用Matlab 计算多元函数偏导数和全微分的方法, 掌握计算二元函数极值和条件极值的方法. 理解和掌握曲面的切平面的作法. 通过作图和观察, 理解二元 函数的性质、方向导数、梯度和等高线的概念.求多元函数的偏导数与全微分52设),(cos )sin(2xy xy z +=求.,,,222yx zx z y z x z ∂∂∂∂∂∂∂∂∂解:程序代码:>> syms x y;S=sin(x*y)+(cos(x*y))^2; D1=diff(S,'x',1); D2=diff(S,'y',1); D3=diff(S,'x',2); D4=diff(S,'y',2); D1,D2,D3,D4答案: D1 = cos(x*y)*y-2*cos(x*y)*sin(x*y)*yD2 = cos(x*y)*x-2*cos(x*y)*sin(x*y)*xD3 =-sin(x*y)*y^2+2*sin(x*y)^2*y^2-2*cos(x*y)^2*y^2 D4 = -sin(x*y)*x^2+2*sin(x*y)^2*x^2-2*cos(x*y)^2*x^2实验7 多元函数积分学(基础实验)实验目的掌握用Matlab 计算二重积分与三重积分的方法; 深入理解曲线积分、曲面积分的 概念和计算方法. 提高应用重积分和曲线、曲面积分解决各种问题的能力.计算重积分54计算,2dxdy xyD⎰⎰ 其中D 为由,,2y x y x ==+ 2=y 所围成的有界区域.解:程序代码:>> syms x y;int(int(x*y^2,x,2-y,sqrt(y)),y,1,2) 答案:ans =193/120 重积分的应用56求旋转抛物面224y x z --=在Oxy 平面上部的面积.S 解:程序代码:>> int(2*pi*r,r,0,2) 答案: ans =4*pi无穷级数与微分方程实验8 无穷级数(基础实验) 实验目的观察无穷级数部分和的变化趋势,进一步理解级数的审敛法以及幂级数部分和对函数的 逼近. 掌握用Matlab 求无穷级数的和, 求幂级数的收敛域, 展开函数为幂级数以及展 开周期函数为傅里叶级数的方法.数项级数58(1) 观察级数∑∞=121n n的部分和序列的变化趋势.解:程序代码:for i=1:100 s=0; for n=1:i s=s+1/n^2; endplot(i,s,'.');hold on; end(2) 观察级数∑∞=11n n 的部分和序列的变化趋势.>> for i=1:100 s=0; for n=1:i s=s+1/n; endplot(i,s,'.'); hold on; end60 求∑∞=++123841n n n的值.解:程序代码:>> syms n;score=symsum(1/(4*n^2+8*n+3),1,inf) 答案: score =1/6函数的幂级数展开62求x arctan 的5阶泰勒展开式. >> syms x;>> T5=taylor(atan(x),6)答案:T5 =x-1/3*x^3+1/5*x^5实验9 微分方程(基础实验)实验目的 理解常微分方程解的概念以及积分曲线和方向场的概念,掌握利用 Matlab 求微分方程及方程组解的常用命令和方法.求解微分方程64求微分方程 22x xe xy y -=+'的通解. 解:程序代码:>> y=dsolve('Dy+2*x*y=x*exp(-x^2)','x') 答案:y =(1/2*x^2+C1)*exp(-x^2)66求微分方程x e y y y x 2cos 52=+'-''的通解. 解:程序代码:>> y=dsolve('D2y-2*Dy+5*y=exp(x)*cos(2*x)','x') 答案: y =exp(x)*sin(2*x)*C2+exp(x)*cos(2*x)*C1+1/4*exp(x)*sin(2*x)*x68求微分方程组⎪⎪⎩⎪⎪⎨⎧=--=++02y x dtdy e y x dt dxt 在初始条件0,100====t t y x 下的特解.解:程序代码:>> [x,y]=dsolve('Dx+x+2*y-exp(t)','Dy-x-y','x(0)=1','y(0)=0','t') 答案: x = cos(t)y = 1/2*sin(t)-1/2*cos(t)+1/2*exp(t)70求解微分方程,)1(122/5+=+-x x y dx dy 并作出积分曲线. 解:程序代码:>> syms x yy=dsolve('Dy-2*y/(x+1)-(x+1)^(5/2)','x') 答案:y =(2/3*(x+1)^(3/2)+C1)*(x+1)^2 做积分曲线 由>> syms x yx=linspace(-5,5,100); C=input('请输入C 的值:'); y=(2/3*(x+1).^(3/2)+C).*(x+1).^2; plot(x,y)例如对应有: 请输入C 的值:2 请输入C 的值:20矩阵运算与方程组求解实验10 行列式与矩阵实验目的掌握矩阵的输入方法. 掌握利用Matlab 对矩阵进行转置、加、减、数乘、相乘、乘方等运算, 并能求矩阵的逆矩阵和计算方阵的行列式.矩阵A 的转置函数Transpose[A]72 求矩阵⎪⎪⎪⎪⎪⎭⎫⎝⎛411365243271的转置. 解:程序代码:>> A=[1,7,2;3,4,2;5,6,3;1,1,4]; >> Sove=A' 答案:Sove =1 3 5 1 7 4 6 12 234 矩阵线性运算 73设,291724,624543⎪⎪⎭⎫⎝⎛=⎪⎪⎭⎫⎝⎛=B A 求.24,A B B A -+ 解:程序代码:>> A=[3,4,5;4,2,6]; B=[4,2,7;1,9,2];S1=A+BS2=4*B-2*A答案:S1 =7 6 125 11 8S2 =10 0 18-4 32 -474设,148530291724,36242543⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛=mb ma 求矩阵ma 与mb 的乘积. 解:程序代码:>> ma=[3,4,5,2;4,2,6,3];>> mb=[4,2,7;1,9,2;0,3,5;8,4,1];>> Sove=ma*mb答案:Sove =32 65 5642 56 65矩阵的乘法运算 75设,101,530291724⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛=B A 求AB 与,A B T 并求.3A解:程序代码:>> A=[4 2 7;1 9 2;0 3 5];B=[1;0;1];>> AB=A*BAB =1135>> BTA=B'*ABTA =4 5 12>> A3=A^3A3 =119 660 555141 932 44454 477 260求方阵的逆76 设,5123641033252312⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=A 求.1-A 解:程序代码:>> A=[2,1,3,2;5,2,3,3;0,1,4,6;3,2,1,5];Y=inv(A)答案:Y =-1.7500 1.3125 0.5000 -0.68755.5000 -3.6250 -2.0000 2.37500.5000 -0.1250 0.0000 -0.1250-1.2500 0.6875 0.5000 -0.312577 设,221331317230,5121435133124403⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=B A 求.1B A - 解:程序代码:>> A=[3 0 4 4 ;2 1 3 3 ;1 5 3 4;1 2 1 5];B=[0 3 2 ;7 1 3;1 3 3 ;1 2 2];Solve=A'*B答案:Solve =16 16 1714 20 2225 26 2830 37 3978 解方程组⎪⎩⎪⎨⎧-=-+=+-=++.2442,63,723z y x z y x z y x解:程序代码:>> A=[3 2 1;1 -1 3;2 4 -4];b=[7 6 -2];>> A\b'答案:ans =1.00001.00002.0000求方阵的行列式79 求行列式 .3351110243152113------=D 解:程序代码:>> A=[3,1,-1,2;-5,1,3,-4;2,0,1,-1;1,-5,3,-3];D=det(A)答案:D =4080求.11111111111122222222d d d d c c c c b b b b a a a a D ++++= 解:程序代码:>> syms a b c d;D=[a^2+1/a^2 a 1/a 1;b^2+1/b^2 b 1/b 1;c^2+1/c^2 c 1/c 1;d^2+1/d^2 d 1/d 1];det(D)答案:ans =-(-c*d^2*b^3+c^2*d*b^3-c^3*d^2*a+c^3*d*a^2*b^4+c*d^2*a^3-c^3*d^2*a*b^4-c^2*d*a^3-c*d^2*b^3*a^4+c^2*d*b^3*a^4+c^3*d^2*b*a^4-c^3*d*b^2*a^4-c^2*d^3*b*a^4+c*d^3*b^2*a^4+c*d ^2*a^3*b^4-c^2*d*a^3*b^4+c^3*d^2*b-c^3*d*b^2-c^2*d^3*b+c*d^3*b^2+c^3*d*a^2+c^2*d^3*a-c *d^3*a^2-b*d^2*a^3+b^2*d*a^3+b^3*d^2*a-b^3*d*a^2-b^2*d^3*a+b*d^3*a^2+b*c^2*a^3-b^2*c*a ^3-b^3*c^2*a+b^3*c*a^2+b^2*c^3*a-b*c^3*a^2+c^2*d^3*a*b^4-c*d^3*a^2*b^4-b*d^2*a^3*c^4+b ^2*d*a^3*c^4+b^3*d^2*a*c^4-b^3*d*a^2*c^4-b^2*d^3*a*c^4+b*d^3*a^2*c^4+b*c^2*a^3*d^4-b^2*c*a^3*d^4-b^3*c^2*a*d^4+b^3*c*a^2*d^4+b^2*c^3*a*d^4-b*c^3*a^2*d^4)/a^2/c^2/d^2/b^281 计算范德蒙行列式.1111145444342413534333231252423222154321x x x x x x x x x x x x x x x x x x x x 解:程序代码:>> syms x1 x2 x3 x4 x5; >> A=[1,1,1,1,1;x1,x2,x3,x4,x5;x1^2,x2^2,x3^2,x4^2,x5^2;x1^3,x2^3,x3^3,x4^3,x5^3;x1^4,x2^4,x3^4,x4^4,x5^4];>> DC=det(A);>> DS=simple(DC)答案:DS =(-x5+x4)*(x3-x5)*(x3-x4)*(-x5+x2)*(x2-x4)*(x2-x3)*(-x5+x1)*(x1-x4)*(x1-x3)*(x1-x2)82 设矩阵 ,60975738723965110249746273⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛----=A 求.),(|,|3A A tr A 解:程序代码:>> A=[3,7,2,6,-4;7,9,4,2,0;11,5,-6,9,3;2,7,-8,3,7;5,7,9,0,-6];>> D=det(A),T=trace(A),A3=A^3答案:D =11592T =3A3=726 2062 944 294 -3581848 3150 26 1516 2281713 2218 31 1006 4041743 984 -451 1222 384801 2666 477 745 -125向量的内积83 求向量}3,2,1{=u 与}0,1,1{-=v 的内积.解:程序代码:>> u=[1 2 3];v=[1 -1 0];solve=dot(u,v)答案:solve =-184设,001001⎪⎪⎪⎭⎫⎝⎛=λλλA 求.10A 一般地?=k A (k 是正整数).解:程序代码:>> syms r;>> A=[r,1,0;0,r,1;0,0,r];>> A^10答案:ans =[ r^10, 10*r^9, 45*r^8][ 0, r^10, 10*r^9][ 0, 0, r^10]85.求⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛+++++a a a a a 1111111111111111111111111的逆.解:程序代码:>> syms aA=[1+a,1,1,1,1;1,1+a,1,1,1;1,1,1+a,1,1;1,1,1,1+a,1;1,1,1,1,1+a];solve=inv(A)答案:solve =[ 1/a*(a+4)/(a+5), -1/a/(a+5), -1/a/(a+5), -1/a/(a+5),-1/a/(a+5)] [ -1/a/(a+5), 1/a*(a+4)/(a+5), -1/a/(a+5), -1/a/(a+5),-1/a/(a+5)][ -1/a/(a+5), -1/a/(a+5), 1/a*(a+4)/(a+5), -1/a/(a+5), -1/a/(a+5)][ -1/a/(a+5), -1/a/(a+5), -1/a/(a+5), 1/a*(a+4)/(a+5), -1/a/(a+5)][ -1/a/(a+5), -1/a/(a+5), -1/a/(a+5), -1/a/(a+5), 1/a*(a+4)/(a+5)] 实验11 矩阵的秩与向量组的极大无关组实验目的 学习利用Matlab 求矩阵的秩,作矩阵的初等行变换; 求向量组的秩与极大无关组. 求矩阵的秩86 设,815073*********⎪⎪⎪⎭⎫ ⎝⎛-------=M 求矩阵M 的秩.解:程序代码:>> M=[3,2,-1,-3,-2;2,-1,3,1,-3;7,0,5,-1,-8];R=rank(M)答案:R=2向量组的秩87求向量组)0,3,0,2(),2,5,4,0(),1,1,2,1(231=--=-=ααα的秩.解:程序代码:>> A=[1,2,-1,1;0,-4,5,-2;2,0,3,0];R=rank(A)答案:R =288向量组)7,5,1,3(),5,4,3,1(),1,1,1,1(),3,2,1,1(4321==-==αααα是否线性相关?解:由>> A=[1 1 2 3;1 -1 1 1;1 3 4 5;3 1 5 7];rank(A)ans = 3即rank(A)=3 小于阶数489向量组)3,1,1(),2,1,3(),7,2,2(321=-==ααα是否线性相关?解:由>> A3=[2,2,7;3,-1,2;1,1,3];R=rank(A3)得 R = 3即rank(A3)=3 等于阶数3故向量组线性无关。
matlab数学实验课程设计
matlab数学实验课程设计一、教学目标本课程的教学目标是使学生掌握MATLAB的基本使用方法,能够利用MATLAB进行数学实验,从而加深对数学知识的理解和应用能力。
知识目标包括:掌握MATLAB的基本语法和操作;能够运用MATLAB进行线性代数、微积分、概率论等数学运算;了解MATLAB在数学建模和数据分析方面的应用。
技能目标包括:能够独立设置MATLAB的工作环境;能够编写简单的MATLAB脚本进行数学实验;能够利用MATLAB进行数学问题的求解和分析。
情感态度价值观目标包括:培养学生的创新意识和实践能力;增强学生对数学学科的兴趣和好奇心;培养学生团队合作和交流分享的良好学习习惯。
二、教学内容根据课程目标,教学内容主要包括MATLAB的基本使用、数学实验两个部分。
MATLAB的基本使用包括:MATLAB的安装和启动、工作环境设置、基本语法和操作。
数学实验包括:线性代数实验、微积分实验、概率论实验等。
具体的教学大纲如下:1.MATLAB的基本使用:第1-3周,每周2课时,共6课时。
主要讲解MATLAB的安装和启动、工作环境设置、基本语法和操作。
2.线性代数实验:第4-6周,每周2课时,共6课时。
主要内容包括矩阵运算、线性方程组求解、特征值和特征向量计算等。
3.微积分实验:第7-9周,每周2课时,共6课时。
主要内容包括函数图像绘制、极限和导数的计算、积分运算等。
4.概率论实验:第10-12周,每周2课时,共6课时。
主要内容包括随机数生成、概率分布函数计算、统计量计算等。
三、教学方法本课程采用讲授法、实验法、讨论法相结合的教学方法。
讲授法用于讲解MATLAB的基本使用和数学理论知识;实验法用于让学生亲自动手进行数学实验,加深对知识的理解和应用能力;讨论法用于引导学生进行思考和交流,培养学生的创新意识和团队合作能力。
四、教学资源教学资源包括教材、多媒体资料、实验设备等。
教材选用《MATLAB数学实验》一书,多媒体资料包括PPT课件和实验指导视频,实验设备包括计算机和MATLAB软件。
matlab数学实验复习题(有答案)
matlab数学实验复习题(有答案)复习题1、写出3个常用的绘图函数命令2、inv (A )表示A 的逆矩阵;3、在命令窗口健入clc4、在命令窗口健入clear 5、在命令窗口健入6、x=-1:0.2:17、det (A )表示计算A 的行列式的值;8、三种插值方法:拉格朗日多项式插值,分段线性插值,三次样条插值。
9、若A=123456789⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦,则fliplr (A )=321654987⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦A-3=210123456--⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦A .^2=149162536496481⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦tril (A )=100450789⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦ triu (A ,-1)=123456089⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦diag (A )=100050009⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦A(:,2),=258A(3,:)=369 10、normcdf (1,1,2)=0.5%正态分布mu=1,sigma=2,x=1处的概率[t,x]=ode45(@f,[a,b],x0),中参数的涵义是@fun 是求解方程的函数M 文件,[a,b]是输入向量即自变量的范围a 为初值,x0为函数的初值,t function 开头;1721、设x )的功能是作出将X 十等分的直方图22、interp1([1,2,3],[3,4,5],2.5)Ans=4.523、建立一阶微分方程组⎩⎨⎧+='-='yx t y y x t x 34)(3)(2的函数M 文件。
(做不出来)二、写出运行结果:1、>>eye(3,4)=1000010000102、>>size([1,2,3])=1;33、设b=round (unifrnd (-5,5,1,4)),则=3 5 2 -5 >>[x,m]=min(b);x=-5;m=4,[x,n]=sort(b)-5 2 3 5 4 3 1 2mean(b)=1.25,median (b )=2.5,range (b )=104、向量b 如上题,则>>any(b),all(b<2),all(b<6)Ans=1 0 15、>>[5 6;7 8]>[7 8;5 6]=00116、若1234B ⎡⎤=⎢⎥⎣⎦,则 7、>>diag(diag(B))=10048、>>[4:-2:1].*[-1,6]=-4 129、>>acos(0.5),atan(1)ans=1.047197551196598ans=0.78539816339744810、>>norm([1,2,3])Ans=3.74165738677394111、>>length([1,3,-1])=312、>>x=0:0.4:2;plot(x,2*x,’k*’)13、>>zeros(3,1);ans=14、>>ones(3)=111111111,vander([2,3,5])=421931255116、>>floor(1:0.3:3)=1 1 1 12 2 218、>>subplot(2,2,1); fplot('sin',[0,2*pi]);subplot(2,2,2);plot([1,2,-1]);>>x=linspace(0,6*pi);subplot(2,2,3);plot3(cos(x),sin(x),x);>>subplot(2,2,4);polar(x,5*sin(4*x/3));19、>>t=linespace(0,2,11)0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.020、>>[a,b]=binostat(15,0.2)a=3 b=2.4>>y1=binopdf(5,10,0.7)=0.1029,y2=binocdf(5,10,0.7)=0.15031 1 1 11 1 1 1>>y=-poissrnd(8,2,4)-16 -10 8 -7-7 -8 -6 -9>>sign(y)-1 -1 -1 -1-1 -1 -1 -135、>>[a1,b1]=binostat(20,0.4) a1=8 b1=4.8 >>[a2,b2]=poisstat(8)ans=8,8>>[a3,b3]=chi2stat(15)ans=[15 30]36、运行M文件:chi2fign=5;a=0.9;xa=chi2inv(a,n);x=0:0.1:15;y=chi2pdf(x,n);plot(x,y,'b');hold on;xf=0:0.1:xa;yf=chi2pdf(xf,n);fill([xf,xa],[yf,0],'g');text(xa*1.01,0.005,num2str(xa));text(2.5,0.05,'alpha=0.9','fontsize',20); text(9,0.09,'X~{\chi}^2(4)','fontsize',16);37、>>t=linspace(0,2*pi);>>polar(t,3*t,’g*’)38、>>quadl(’exp(2*x).*log(3*x)’,1,3)ans =398.635239、x0=0:2*pi/6:2*pi;y0=sin(x0).*cos(x0);x=[linspace(0,2*pi,100)];y=sin(x).*cos(x);y1=spline(x0,y0,x); [x;y;y1]'plot(x,y,'k',x,y1,'b-')注:此处省略100组数据40、>>A=round(unifrnd(0,100,3,3));>>[L,U]=lu(A)L =0.9897 0.4699 1.00000.1649 1.0000 01.0000 0 0U =97.0000 80.0000 92.00000 35.8041 26.82470 0 -89.656841、a=sparse([1 3 3],[2 3 5],[1 2 3],4,5);s=full(a)s =0 1 0 0 00 0 0 0 00 0 2 0 30 0 0 0 0三、编程1、 分别用矩形公式、梯形公式、辛普森公式、Gauss-Lobatto 公式及随机模拟方法计算数值积分/230sin 2x e xdx π⎰,并与符号运算计算的结果进行比较。
高等数学实验matlab基础
2. Matlab运算
1、 算术运算
(1) 基本算术运算
+、-、*(乘)、/(右除)、\(左除)、^(乘方) 注意:运算是在矩阵意义下进行的,单个数据的算 术运算只是矩阵运算的一种特例。
(2) 点运算 .*、./、.\、.^
两矩阵进行点运算是指它们的对应元素进行相 关运算,要求两矩阵的维数相同。
各运算符的优先级
在>>后键入命令,并按下enter键后, Matlab 就会解 释执行所输入的命令,并在命令后面给出计算结果。 默认的显示结果变量为ans.
※ 命令行的输入规则 ➢命令行后以分号(;)结尾,表示不显示运行结果。 ➢命令行后无符号或以逗号(,)结尾,表示显示运行结果 ➢一个命令行可以输入若干条命令,各命令之间以逗 号分隔
幂运算可按元素对元素方式进行的,不同大小或维 数的数组是不能进行运算的.
设:a=[a1,a2,…,an], b=[b1,b2,…,bn] 则:a+b= [a1+b1,a2+b2,…,an+bn]
a.*b= [a1*b1,a2*b2,…,an*bn] a./b= [a1/b1,a2/b2,…,an/bn] a.\b=[b1/a1,b2/a2,…,bn/an] a.^b=[a1^b1,a2^b2,…,an^bn]
4、M文件控制结构
程序控制结构有三种:顺序结构、选择结构和循 环结构。任何复杂的程序都由这三种基本结构组成。
顺序结构
按排列顺序依次执行各条语句,直到程序的最后。 这是最简单的一种程序结构,一般涉及数据的输入输 出、数据的计算或处理等。
选择结构
选择结构 是根据给定的条件成立或不成立,分别执 行不同的语句。Matlab 用于实现选择结构的语句有 if 语句、switch 语句和try语句 。
实验五 matlab基础知识(简单)
本次实验注意:《实验五MALTAB基础知识(简单)》《实验五基于Matlab的信号频谱分析(复杂)》选作一个即可实验五MALTAB基础知识(一)实验目的 (2)(二)实验设备 (2)(三)实验要求 (2)(四)实验内容 (2)1.1 MATLAB基础知识 (2)1.1.1 MATLAB程序设计语言简介 (2)1.1.2 MA TLAB界面及帮助 (2)1.2 MA TLAB基本运算 (4)1.2.1 MA TLAB内部特殊变量和常数 (4)1.2.2 变量类型 (4)1.2.3 内存变量管理 (5)1.2.4 MA TLAB常用数学函数 (5)1.2.5 MA TLAB矩阵生成 (5)1.2.6 MA TLAB矩阵运算 (8)1.2.7 MA TLAB中的矩阵分析 (10)1.3 MA TLAB程序设计 (10)1.3.1 M文件 (10)1.3.2 程序控制结构 (12)实验五MALTAB基础知识(一)实验目的●了解MA TLAB 程序设计语言的基本特点,熟悉MA TLAB软件运行环境●掌握创建、保存、打开m文件及函数的方法●掌握变量等有关概念,具备初步的将一般数学问题转化为对应的计算机模型并进行处理的能力(二)实验设备计算机,Matlab软件(三)实验要求本实验属于验证实验,请根据(四)实验内容的步骤,运行相应的指令或例子,并将仿真结果截图至文档(请自己新建一个word文档,注意,并不一定所有指令或例子的实验结果都要截图,截图数目大于等于5个即可,自己选择性截图,答案不唯一,自由发挥)请在页眉处填写班级、学号、姓名,并将实验报告命名为“实验五_学号_姓名”,并通过FTP上传至指定文件夹。
(四)实验内容1.1 MATLAB基础知识1.1.1 MATLAB程序设计语言简介MA TLAB,Matrix Laboratory的缩写,是由MathWorks公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。
MATLAB实验指导书
实验一:MATLAB的基本操作一、实验目的:1.熟悉MATLAB操作环境2.熟悉MATLAB的帮助3.熟悉MATLAB矩阵的操作4.熟悉MATLAB基本运算二、实验内容:1.自行设计试题,说明三角函数是按弧度还是按角度计算。
2.找出取整的函数,并自行设计试题,说明它们的区别。
3.自行设计试题,说明如何给矩阵按列符值。
4.自行设计试题,建一个5X5矩阵,然后将第一行乘1,第二行乘2,第三行乘3,第四行乘4,第五行乘5。
5.设计编写程序(命令),解方程3x5-7x4+5x2+2x-18=0。
6.自行设计试题,说明eval()函数的功能。
三、实验原理:ceil(x)= -4 -2 0 2 5 7fix(x) = -4 -2 0 1 4 6floor(x) = -5 -3 -1 1 4 6round(x) = -5 -2 0 1 5 72、系统的在线帮助help 命令:(1).当不知系统有何帮助内容时,可直接输入help以寻求帮助:>> help(回车)(2).当想了解某一主题的内容时,如输入:>> help syntax(了解Matlab的语法规定)(3).当想了解某一具体的函数或命令的帮助信息时,如输入:>> help sqrt (了解函数sqrt的相关信息)lookfor命令现需要完成某一具体操作,不知有何命令或函数可以完成,如输入:>> lookfor line (查找与直线、线性问题有关的函数)3、常量与变量系统的变量命名规则:变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合。
此外,系统内部预先定义了几个有特殊意义和用途的变量,见下表:数值型向量(矩阵)的输入(1).任何矩阵(向量),可以直接按行方式...输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔;行与行之间用分号(;)分隔。
所有元素处于一方括号([ ])内;例1-1:>> Time = [11 12 1 2 3 4 5 6 7 8 9 10]>> X_Data = [2.32 3.43;4.37 5.98](2).系统中提供了多个命令用于输入特殊的矩阵:上面函数的具体用法,可以用帮助命令help得到。
MATLAB在高等数学实验中的应用
MATLAB在高等数学实验中的应用在高等数学实验中,MATLAB是一种广泛应用的计算软件,它具有强大的数学计算能力和可视化处理功能。
本文将探讨MATLAB在高等数学实验中的应用,并展示其在解决实际问题和学习数学概念中的优势。
一、MATLAB在函数绘图中的应用函数绘图是高等数学实验中常见的任务之一。
MATLAB提供了丰富的绘图函数和图形工具箱,可以方便地绘制各种函数的图像,并进行定量分析。
使用MATLAB绘制函数图像的基本步骤如下:1. 定义函数表达式:通过MATLAB的符号计算工具箱或直接使用符号表达式来定义函数。
2. 创建绘图窗口:使用MATLAB的绘图函数,如plot、scatter等来创建绘图窗口,并设置绘图参数。
3. 绘制函数图像:将定义好的函数表达式作为参数传递给绘图函数,即可绘制函数图像。
4. 添加坐标轴、标题和图例:通过MATLAB的绘图函数设置坐标轴、标题和图例等信息,以增强图像的可读性。
除了基本的函数绘图,MATLAB还可以绘制等高线图、三维曲面等复杂的图形,帮助学生更直观地理解数学概念和解决实际问题。
二、MATLAB在求解微分方程中的应用微分方程是高等数学中的重要内容,解微分方程需要进行数值计算。
MATLAB具有强大的数值计算能力和求解微分方程的工具箱,可以高效地求解各种类型的微分方程。
MATLAB中求解微分方程的基本步骤如下:1. 定义微分方程:使用MATLAB的符号计算工具箱来定义微分方程。
可以采用符号表达式或匿名函数的形式定义微分方程。
2. 设置初值条件:对于常微分方程,需要给出初值条件。
通过定义符号变量或直接赋值的方式,设置初值条件。
3. 调用求解函数:使用MATLAB的求解微分方程工具箱中的函数,如ode45、ode23等,传入定义好的微分方程和初值条件,即可求解微分方程。
4. 绘制解曲线:将求解得到的数值解通过MATLAB的绘图功能进行可视化展示,以增加对解的理解和分析。
数学实验指导书matlab
数学实验指导书matlab【数学实验指导书】MATLAB一、实验背景和目的数学实验是数学教学中重要的一环,它能够帮助学生巩固和应用所学的数学知识,培养学生的实际问题解决能力。
MATLAB作为一种强大的数学计算软件,被广泛应用于数学实验中。
本实验旨在通过使用MATLAB软件,帮助学生掌握基本的MATLAB操作和数学实验方法,进一步提高数学建模和问题求解的能力。
二、实验内容1. MATLAB基本操作a) 启动MATLAB软件并了解主界面的组成部分。
b) 学习MATLAB的基本命令行操作,如变量定义、数学运算、矩阵操作等。
c) 掌握MATLAB的图形绘制功能,包括绘制函数图像、散点图等。
2. 数学建模实验a) 选择一个数学问题作为研究对象,例如:求解一元二次方程的根。
b) 使用MATLAB进行数学建模,包括问题分析、模型构建和求解过程。
c) 分析和解释模型的结果,对实际问题进行合理的解释和预测。
三、实验步骤1. MATLAB基本操作a) 启动MATLAB软件后,观察主界面的组成部分,包括命令窗口、工作空间、编辑器等。
b) 在命令窗口中练习基本的MATLAB命令,如定义变量、进行数学运算、创建矩阵等。
c) 使用plot函数绘制函数图像,并尝试修改线型、颜色等参数。
2. 数学建模实验a) 选择一个数学问题,例如求解一元二次方程ax^2 + bx + c = 0的根。
b) 在MATLAB中定义方程的系数a、b、c,并使用根据求根公式计算方程的根。
c) 绘制方程的图像,并标注根的位置。
四、实验结果与分析1. MATLAB基本操作a) 在命令窗口中成功定义了多个变量,并进行了数学运算,验证了MATLAB的基本功能。
b) 使用plot函数绘制了函数y = sin(x)的图像,并成功修改了线型和颜色。
2. 数学建模实验a) 成功求解了一元二次方程ax^2 + bx + c = 0的根,并将结果输出到命令窗口。
b) 绘制了方程的图像,并通过图像验证了求解结果的准确性。
大学数学实验MATLAB简介2
画圆:
(3)图形标注
MATLAB还提供了图形的加注命令:
title xlabel ylabel gtext 注. grid legend
题头标注. x轴标注.
y轴标注.
鼠标定位标
网格.
但建议用菜单方式:insert菜单
(4)多幅图形
Subplot(m,n,p),m*n个区域,第p个区域
meshc(x,y,z) 带等高线的网格 waterfall(x,y,z) 瀑布水线 图, surf(x,y,z,'c') 可着色的曲面图 surfc(x,y,z) 带等高线的可着 色的曲面图.
例A.5 画三维图:
x=-7.5:0.5:7.5;y=x; [X,Y]=meshgrid(x,y);%(生成绘图时所需的x-y坐标) R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R; mesh(X,Y,Z) x0=2;y0=3;z0=4;%球心 r=5;%半径 %下面开始画 [x,y,z]=sphere; mesh(r*x+x0,r*y+y0,r*z+z0);
拼接:左右拼接要求行数相同,上下拼 接列数相同 D=[C,zeros(2,1)] E=[D;eye(2),ones(2,1)]
提示
A(:) 逐列取出A中所有元素作为一个列 向量 A(i) 把A看作列向量,提取其中第i个元 素 A(r,c) A(r,:) A 中第r行 A(:,c) A中第c列
4.函数
MATLAB提供了大量的函数.可以通过help 查询.例如sqrt(开方)、log(自然对 数)、log10(以10为底的对数)、sin (正弦)等. 对于数组,函数作用于每一个数据元素
Matlab实验指导书(1-10完整)
1.初次接触 Matlab 应该注意函数表达式的文本式描述。 2.在使用图形函数计算器 funtool 时,注意观察 1 号和 2 号窗口中函数的图形。
四、实验报告要求
1.针对图形函数计算器 funtool,对每一类型计算记录其中一个图形的曲线。 2.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的
⎪⎪⎨⎪−x12+x11+4
x2 x2
− 7x3 − 7x3
−15x4 + 12 x4
− 6x5 = 294 − x5 = −441
⎪⎩6x1 +11x2 +11x3 − 9x4 −13x5 = 103
3.用网孔电流法求如下电路的各支路电流。
Ia
Ib
Id
Ic
60Ω
20Ω
40Ω
40Ω
50V
10V
40V
流畅。
《Matlab 语言及其在电子信息科学中的应用》实验指导书
许钢 编
3
实验二:M 文件和 Mat 文件操作
一、实验目的
1.定制自己的工作环境。 2.编写简单的 M 文件。 3.保存内存工作区中的变量到.mat 文件。 4.学会只用 Matlab 帮助。
二、实验内容
1.使用 format 命令和 File|Peferences 菜单定制自己的工作环境。 2.编写如下 M 文件,试调整参数 a 的大小,观察并记录 y1、y2 的波形特征。
《Matlab 语言及其在电子信息科学中的应用》实验指导书
许钢 编
4.用结点电压法求如下电路的结点电压 un1、un2。
① + u2 - ②
2kΩ
10A
matlab数学实验课程设计
matlab数学实验课程设计一、教学目标本课程的目标是让学生掌握MATLAB的基本使用方法,能够利用MATLAB进行数学实验,提高学生的数学建模和计算能力。
具体的教学目标包括:知识目标:使学生了解MATLAB的发展历程、基本功能和应用领域;让学生掌握MATLAB的基本语法、数据类型、运算符、编程技巧等。
技能目标:培养学生利用MATLAB进行数学建模、求解数学问题的能力;使学生能够熟练使用MATLAB进行数据分析、绘图和仿真。
情感态度价值观目标:激发学生对数学实验的兴趣,培养学生的创新精神和团队合作意识;使学生认识到MATLAB在实际生活和科研中的重要性,提高学生运用数学知识解决实际问题的能力。
二、教学内容本课程的教学内容主要包括MATLAB的基本使用方法、编程技巧和数学实验。
具体安排如下:1.MATLAB概述:介绍MATLAB的发展历程、基本功能和应用领域。
2.MATLAB基本语法:讲解MATLAB的数据类型、运算符、编程技巧等。
3.MATLAB数学实验:包括线性方程组求解、函数插值与逼近、数值微积分、常微分方程求解等。
4.MATLAB在实际应用中的案例分析:分析MATLAB在物理学、工程学、经济学等领域的应用实例。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:讲解MATLAB的基本语法和功能,使学生掌握MATLAB的基本使用方法。
2.案例分析法:分析实际应用案例,使学生了解MATLAB在各个领域的应用。
3.实验法:让学生动手进行数学实验,培养学生的实际操作能力。
4.讨论法:学生进行小组讨论,激发学生的创新思维和团队合作意识。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:《MATLAB教程》或《MATLAB数学实验》。
2.参考书:提供相关的数学实验指导书和论文,供学生参考。
3.多媒体资料:制作课件和教学视频,帮助学生更好地理解MATLAB的使用方法。
数学实验(matlab软件的应用)
M脚本文件没有参数传递功能,但M函数文件有 此功能,所以M函数文件用得更为广泛。M函数 文件的格式有严格规定,它必须以“function”开 头,详细格式为:
function 输出变量=函数名称(输入变量)
matlab矩阵及其运算实验所需知识点准备
matlab矩阵及其运算实验所需知识点准备
在进行MATLAB矩阵及其运算实验之前,需要准备以下知识点:
1. MATLAB基本语法和操作:了解MATLAB的基本操作,包括变量定义、赋值和操作符的使用等。
2. 矩阵定义和表示:了解矩阵在MATLAB中的定义和表示方法,包括行向量、列向量以及二
维矩阵的表示。
3. 矩阵运算:熟悉MATLAB中常用的矩阵运算,包括矩阵加法、减法、乘法、转置等。
4. 索引和切片:了解如何使用索引和切片操作来访问和修改矩阵中的元素。
5. 矩阵的特殊操作:了解MATLAB中常用的特殊矩阵操作,包括矩阵的逆、转置、行列式、
特征值和特征向量等计算。
6. 线性方程组求解:了解如何使用MATLAB求解线性方程组,包括高斯消元法、LU分解法、迭代法等。
7. MATLAB中的函数和脚本:了解如何在MATLAB中编写函数和脚本程序,以实现复杂的矩阵运算和算法。
以上是进行MATLAB矩阵及其运算实验所需的基础知识点,但根据实验的具体要求,可能还
需要进一步的准备。
根据实际情况,可以深入学习MATLAB的其他高级特性和函数库,以更
好地应对实验和问题解决。
第11章MATLAB实验
第11章MATLAB 实验11.1 实验一 MATLAB 运算基础一、实验目的(1) 了解MATLAB 的工作环境及其安装步骤。
(2) 认识MATLAB 的各个窗口界面。
(3) 掌握MATLAB 的基本操作。
(4) 掌握MATLAB 表达式的书写规则以及常用函数的使用。
二、实验内容与步骤1. 认识MA TLAB 基本用户窗口熟悉Matlab 操作环境,认识命令窗口、工作区窗口、历史命令窗口以及当前目录浏览窗;2. 学习使用常见的MATLAB 函数在命令窗口调用常用的MATLAB 函数:exist(‘A ’),clear ,who ,whos ,help ,lookfor 等函数;3. 熟悉MA TLAB 常用数学函数,独立完成以下基本数学运算。
练习1:设A =1.2,B =-4.6,C =8.0,D =3.5,E =-4.0,计算步骤:练习2:设a=5.67,b=7.811,计算步骤:练习3:已知圆的半径为15,求其直径,周长及面积。
步骤:练习4:已知三角形三边a=8.5,b=14.6,c=18.4,求三角形面积。
提示:)(*)(*)(*c p b p a p p s ---=。
其中:p=(a+b+c)/2步骤:练习5:已知a=2,b=1,C=[1,2;2 0],D=[1 3;2 1],求: (1)关系运算:a==b ,a~=b ,a==C 和C<D 。
(2)逻辑运算:a&b ,C&D ,a|b ,C|D 。
步骤:三、实验分析总结⎪⎭⎫⎝⎛+=D BC E A T )2/(2arctan ππ)lg(b a e ba ++11.2 实验二 向量和矩阵的运算一、实验目的(1) 熟练掌握向量和矩阵的创建方法。
(2) 掌握特殊矩阵的创建方法。
(3) 掌握向量和矩阵的基本运算。
二、实验内容与步骤 1. 复习第2章内容,在机子上学习巩固向量和矩阵的创建方法,特殊矩阵的创建方法,以及向量和矩阵的基本运算。
matlab数学建模8个实验
实验1 一元函数的图形实验目的1.学习 matlab一元函数绘图命令.2.进一步理解函数概念.实验内容1.学习matlab命令.matlab绘图命令比较多,我们选编一些常用命令,并简单说明其作用,这些命令的调用格式,可参阅例题及使用帮助help查找.表1.1 二维绘图函数表1.2 基本线型和颜色表1.3 二维绘图工具表1.4 axis 命令linspace 创建数组命令,调用格式为:x=linspace(x1,x2,n),创建了x 1到x2之间有n 个数据的数组.funtool 函数工具,在matlab 指令窗键入funtool 可打开“函数计算器”图形用户界面.2.绘制函数图形举例. 例1.1.画出x y sin =的图形解:首先建立点的坐标,然后用plot 命令将这些点绘出并用直线连接起来,采用中学五点作图法,选取五点)0,0(、)1,2(π、)0,(π、)1,23(-π、)0,2(π.输入命令:x=[0,pi/2,pi ,3*pi/2,2*pi];y=sin(x);plot(x ,y) 这里分号表示该命令执行结果不显示.可以想象,随点数增加,图形越来越接近x y sin =的图象.例如,在0到π2之间取30个数据点,绘出的图形与x y sin =的图象已经非常接近了. x=linspace(0,2*pi ,30);y=sin(x);plot(x ,y) 也可以如下建立该图形.x=0:0.1:2*pi ;y=sin(x);plot(x ,y) 还可以给图形加标记、格栅线. x=0:0.1:2*pi ; y=sin(x);plot(x ,y ,’r—‘) title(‘正弦曲线’) xlabel(‘自变量 x’) ylabel(‘函数y=sinx’) text(5.5,0,’y=sinx’) grid上述命令第三行选择了红色虚线,第四行给图加标题“正弦曲线”,第五行给x 轴加标题“自变量x ”,第六行给y 轴加标题“函数x y sin =”,第七行在点)0,5.5(处放置文本“x y sin =”,第八行给图形加格栅线.例1.2.画出x y 2=和x y )2/1(=的图象.解:输入命令:x=-4:0.1:4;y1=2.^x ;y2=(1/2).^x ;plot(x ,y1,x ,y2); axis([-4,4,0,8])matlab 允许在一个图形中画多条曲线.plot(x1,y1,x2,y2,x3,y3)指令绘制)2(2),1(1x f y x f y ==等多条曲线.matlab 自动给这些曲线以不同颜色.例1.3.画出arctgx y =的图象.解: 输入命令:x=-20:0.1:20;y=atan(x);plot(x ,y ,[-20,20],[pi/2,pi/2],[-20,20],[-pi/2,-pi/2]) grid从图上看,arctgx y =是有界函数,2π±=y 是其水平渐近线.例1.4.在同一坐标系中画出tgx y x y x y ===,,sin 的图象. 解:输入命令:x=-pi/2:0.1:pi/2;y1=sin(x);y2=tan(x); plot(x ,x ,x ,y1,x ,y2) axis equalaxis([-pi/2,pi/2,-3,3]) grid从图上看,当0>x 时,tgx x x <<sin ,当0<x 时,tgx x x >>sin ,x y =是x y sin =和tgx y =在原点的切线,因此,当1<<x 时,x tgx x x ≈≈,sin . 例1.5.画出110-=x y 及)1lg(+=x y 的图形.解:输入命令:x1=-1:0.1:2;y1=10.^x1-1;x2=-0.99:0.1:2;y2=log10(x2+1); plot(x1,y1,x2,y2)从图上看,这两条曲线与我们所知的图象相差很远,这是因为坐标轴长度单位不一样的缘故.110-=x y 与)1lg(+=x y 互为反函数,图象关于x y =对称,为更清楚看出这一点,我们再画出x y =的图象. hold onx=-1:0.01:2;y=x ;plot(x ,y ,’r’) axis([-1,2,-1,2]) axis square ;hold offplot 语句清除当前图形并绘出新图形,hold on 语句保持当前图形. 例1.6.画出心形线)cos 1(3a r +=的图象.解:输入命令:x=-2*pi:0.1:2*pi ;r=3*(1+cos(x));polar(x ,r) 例1.7.画出星形线t y t x 33sin 3,cos 3==的图象. 解:这是参数方程,可化为极坐标方程. 322)sin (cos 3a a r +=输入命令:x=0:0.01:2*pi ;r=3./(((cos(x)).^2).^(1/3)+((sin(x)).^2).^(1/3)).^(3/2); polar(x ,r)注意,如果建立r 与t 的关系,此时t 只是参数,不是极坐标系下的极角.练习1. 画出x y arcsin =的图象.2. 画出x y sec =在],0[π之间的图象. 3. 在同一坐标系中画出x y =,2x y =,3x y =,3x y =,x y =的图象.4. 画出3232)1()1()(x x x f ++-=的图象,并根据图象特点指出函数)(x f 的奇偶性. 5. 画出)2ln(1++=x y 及其反函数的图象. 6. 画出321+=x y 及其反函数的图象.实验2 函数极限实验目的1.理解极限概念.2.掌握用matlab 软件求函数极限的方法.实验内容1.学习matlab 命令.matlab 求极限命令可列表如下:表2.1matlab 代数方程求解命令solve 调用格式. solve (函数)(x f ) 给出0)(=x f 的根.2.理解极限概念.数列}{n x 收敛或有极限是指当n 无限增大时,n x 与某常数无限接近或n x 趋向于某一定值,就图形而言,也就是其点列以某一平行与y 轴的直线为渐近线. 例2.1.观察数列}1{+n n 当∞→n 时的变化趋势.解:输入命令:n=1:100;xn=n./(n+1)得到该数列的前100项,从这前100项看出,随n 的增大,1+n n 与1非常接近,画出nx的图形.stem(n ,xn) 或for i=1:100;plot(n(i),xn(i),’r’) hold on end其中for … end 语句是循环语句,循环体内的语句被执行100次,n(i)表示n 的第i 个分量.由图可看出,随n 的增大,点列与直线1=y 无限接近,因此可得结论: 1lim+∞→n n n =1. 对函数的极限概念,也可用上述方法理解.例2.2.分析函数xx x f 1sin )(=,当0→x 时的变化趋势.解:画出函数)(x f 在]1,1[-上的图形.x=-1:0.01:1;y=x.*sin(1./x);plot(x ,y)从图上看,xx 1sin 随着x 的减小,振幅越来越小趋近于0,频率越来越高作无限次振荡.作出x y ±=的图象.hold on ;plot(x ,x ,x ,-x)例2.3.分析函数xx f 1sin )(=当0→x 时的变化趋势.解:输入命令:x=-1:0.01:1;y=sin(1./x);plot(x ,y)从图上看,当0→x 时,x1sin 在-1和1之间无限次振荡,极限不存在.仔细观察该图象,发现图象的某些峰值不是1和-1,而我们知道正弦曲线的峰值是1和-1,这是由于自变量的数据点选取未必使x1sin 取到1和-1的缘故,读者可试增加数据点,比较它们的结果.例2.4.考察函数xx x f sin )(=当0→x 时的变化趋势.解:输入命令:x=linspace(-2*pi ,2*pi ,100);y=sin(x)./x ;plot(x ,y) 从图上看,xx sin 在0=x 附近连续变化,其值与1无限接近,可见xx x sin lim 0→=1.例2.5.考察x xx f )11()(+=当∞→x 时的变化趋势.解:输入命令:x=1:20:1000;y=(1+1./x).^x ;plot(x ,y)从图上看,当∞→x 时,函数值与某常数无限接近,我们知道,这个常数就是e . 3.求函数极限 例2.6.求)1311(lim 31+-+-→x x x . 解:输入命令:syms x ;f=1/(x+1)-3/(x^3+1);limit(f ,x ,-1) 得结果ans=-1.画出函数图形.ezplot(f);hold on ;plot(-1,-1,’r.’) 例2.7.求30sin limx xtgx x -→.解:输入命令:limit((tan(x)-sin(x))/x^3) 得结果:ans=1/2例2.8.求x x x x )11(lim -+∞→.解:输入命令:limit(((x+1)/(x-1))^x ,inf) 得结果:ans=exp(2) 例2.9.求x x x +→0lim .解:输入命令:limit(x^x ,x ,0,’right’) 得结果:ans =1例2.10.求x x ctgx ln 10)(lim+→.解:输入命令:limit((cot(x))^(1/log(x)),x ,0,’right’) 得结果:ans=exp(-1)4.求方程的解. 例2.11.解方程02=++c bx ax . 解:输入命令:syms a b c x ;f=a*x^2+b*x+c ;solve(f) 得结果:ans=[ 1/2/a*(-b+(b^2-4*a*c)^(1/2))] [ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]如果不指明自变量,系统默认为x ,也可指定自变量,比如指定b 为自变量. solve(f ,b)得结果:ans=-(a*x^2+c)/x例2.12.解方程0155=--x x . 解:输入命令:f=x^5-5*x-1;solve(f) 得结果:ans=[ -1.4405003973415600893186320629653] [ -.20006410262997539129073370075959] [.49456407933505360591791681140791e-1 -1.4994413672391491358223492788056*i] [.49456407933505360591791681140791e-1 +1.4994413672391491358223492788056*i] [ 1.5416516841045247594257824014433]画出图象ezplot(f ,[-2,2]);hold on ;plot([-2,2],[0,0])练习1. 计算下列函数的极限.(1)xx x 4cos 12sin 1lim 4-+π→. (2)x x x sec 32)cos 1(lim +π→.(3)2)2(sin ln lim x x x -ππ→. (4)2120lim x e x →.(5))215(lim 122x x x x+-∞→. (6)x x x x x -+-→32112lim . (7)x x x 11lim20-+→. (8))3sin(cos 21lim 3π--π→x x x .(9)tgx x x)1(lim 0+→. (10)x x arctgx )2(lim π+∞→.2. 解方程012=-⋅x x .3. 解方程1sin 3+=x x .4. 解方程03=++q px x .(p 、q 为实数)实验3 导数及偏导数计算实验目的1.进一步理解导数概念及其几何意义. 2.学习matlab 的求导命令与求导法.实验内容1.学习matlab 命令.建立符号变量命令sym 和syms 调用格式: x=sym(`x `), 建立符号变量x ;syms x y z , 建立多个符号变量x ,y ,z ; matlab 求导命令diff 调用格式:diff (函数)(x f ) , 求)(x f 的一阶导数)(x f '; diff (函数)(x f , n ) , 求)(x f 的n 阶导数)()(x fn (n 是具体整数);diff (函数),(y x f ,变量名x ), 求),(y x f 对x 的偏导数xf ∂∂; diff (函数),(y x f , 变量名x ,n ) ,求),(y x f 对x 的n 阶偏导数nn x f∂∂;matlab 求雅可比矩阵命令jacobian ,调用格式:jacobian ([函数),,(z y x f ;函数),,(z y x g ; 函数),,(z y x h ], [z y x ,,])给出矩阵:⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂z h yh x h z g y g x gz f y f x f 2.导数概念.导数是函数的变化率,几何意义是曲线在一点处的切线斜率. (1)点导数是一个极限值.例3.1.设x e x f =)(,用定义计算)0(f '. 解:)(x f 在某一点0x 的导数定义为极限: xx f x x f x ∆-∆+→∆)()(lim000我们记x h ∆=,输入命令:syms h ;limit((exp(0+h)-exp(0))/h ,h ,0) 得结果:ans=1.可知1)0(='f(2)导数的几何意义是曲线的切线斜率.例3.2.画出x e x f =)(在0=x 处()1,0(P )的切线及若干条割线,观察割线的变化趋势.解:在曲线x e y =上另取一点),(h e h M ,则PM 的方程是:101--=--h e x y h .即 11+-=x he y h取01.0,1.0,1,2,3=h ,分别作出几条割线.h=[3,2,1,0.1,0.01];a=(exp(h)-1)./h ;x=-1:0.1:3; plot(x ,exp(x),’r’);hold on for i=1:5;plot(h(i),exp(h(i)),’r.’) plot(x ,a(i)*x+1) endaxis square作出x e y =在0=x 处的切线1+=x yplot(x ,x+1,’r’)从图上看,随着M 与P 越来越接近,割线PM 越来越接近曲线的割线. 3.求一元函数的导数. (1))(x f y =的一阶导数. 例3.3.求xx y )sin(=的导数. 解:打开matlab 指令窗,输入指令:dy_dx=diff(sin(x)/x). 得结果:dy_dx=cos(x)/x-sin(x)/x^2.matlab 的函数名允许使用字母、空格、下划线及数字,不允许使用其他字符,在这里我们用dy_dx 表示x y '.例3.4.求)ln(sin x y =的导数. 解: 输入命令:dy_dx=diff(log(sin(x))). 得结果:dy_dx=cos(x)/sin(x).在matlab 中,函数x ln 用log(x)表示,而log10(x)表示x lg . 例3.5.求202)2(x x y +=的导数.解: 输入命令:dy_dx=diff((x^2+2*x)^20). 得结果:dy_dx=20*(x^2+2*x)^19*(2*x+2). 注意x 2输入时应为2*x. 例3.6.求x x y =的导数. 解: 输入命令:dy_dx=diff(x^x). 得结果:dy_dx =x^x*(log(x)+1).利用matlab 命令diff 一次可以求出若干个函数的导数. 例3.7.求下列函数的导数: 1.5221+-=x x y .2.x x y 2cos 2cos 22+=.3.x y sin 34=.4.x y ln ln 4=.解: 输入命令:a=diff([sqrt(x^2- 2*x+5),cos(x^2)+2*cos(2*x),4^(sin(x)), log(log(x))]). 得结果: a=[1/2/(x^2-2*x+5)^(1/2)*(2*x-2),-2*sin(x^2)*x-4*sin(2*x), 4^sin(x)*cos(x)*log(4), 1/x/log(x)]. dy1_dx=a(1)↵.dy1_dx=1/2/(x^2-2*x+5)^(1/2)*(2*x-2). dy2_dx=a(2)↵.dy2_dx=-2*sin(x^2)*x-4*sin(2*x). dy3_dx=a(3)↵.dy3_dx=4^sin(x)*cos(x)*log(4). dy4_dx=a(4)↵.dy4_dx=1/x/log(x).由本例可以看出,matlab 函数是对矩阵或向量进行操作的,a(i)表示向量a 的第i 个分量.(2)参数方程所确定的函数的导数.设参数方程⎩⎨⎧==)()(t y y t x x 确定函数)(x f y =,则y 的导数)()(t x t y dx dy ''=.例3.8.设⎩⎨⎧-=-=)cos 1()sin (t a y t t a x ,求dx dy .解: 输入命令:dx_dt=diff(a*(t-sin(t)));dy_dt=diff(a*(1-cos(t))); dy_dx=dy_dt/dx_dt. 得结果:dy_dx=sin(t)/(1-cos(t)). 其中分号的作用是不显示结果. 4.求多元函数的偏导数.例3.9.设 u=222z y x ++求 u 的一阶偏导数. 解: 输入命令:diff((x^2+y^2+z^2)^(1/2), x). 得结果:ans=1/(x^2+y^2+z^2)^(1/2)*x. 在命令中将末尾的x 换成y 将给出y 的偏导数:ans=1/(x^2+y^2+z^2)^(1/2)*y.也可以输入命令:jacobian((x^2+y^2+z^2)^(1/2),[x y]). 得结果:ans=[1/(x^2+y^2+z^2)^(1/2)*x , 1/(x^2+y^2+z^2)^(1/2)*y]给出矩阵⎪⎭⎫⎝⎛∂∂∂∂y u x u ,.例3.10.求下列函数的偏导数: 1.)(1xy arctg z =. 2.y x z =2 .解: 输入命令:diff(atan(y/x).得结果:ans=-y/x^2/(1+y^2/x^2). 输入命令:diff(atan(y/x), y). 得结果:ans=1/x/(1+y^2/x^2). 输入命令:diff(x^y , x). 得结果:ans=x^y*y/x . 输入命令:diff(x^y , y).得结果:ans=x^y*log(x).使用jacobian 命令求偏导数更为方便. 输入命令:jacobian([atan(y/x),x^y],[x ,y]). 得结果:ans=[ -y/x^2/(1+y^2/x^2), 1/x/(1+y^2/x^2)] [ x^y*y/x , x^y*log(x)]. 5.求高阶导数或高阶偏导数. 例3.11.设x e x x f 22)(= ,求)()20(x f.解:输入指令:diff(x^2*exp(2*x),x ,20). 得结果: ans =99614720*exp(2*x)+20971520*x*exp(2*x)+1048576*x^2*exp(2*x) 例3.12.设224623y x y x z +-=,求yx z y z x z ∂∂∂∂∂∂∂22222,,. 解:输入命令:diff(x^6-3*y^4+2*x^2*y^2,x ,2)可得到22x z ∂∂:ans=30*x^4+4*y^2.将命令中最后一个x 换为y 得22yz∂∂:ans=-36*y^2+4*x^2.输入命令:diff(diff(x^6-3*y^4+2*x^2*y^2,x),y) 可得yx z ∂∂∂2: ans=8*x*y 同学们可自己计算xy z ∂∂∂2比较它们的结果. 注意命令:diff(x^6-3*y^4+2*x^2*y^2,x ,y),是对y 求偏导数,不是求yx z ∂∂∂2. 6.求隐函数所确定函数的导数或偏导数 例3.13.设e ex xy =+-ln ,求dxdy 解:e ex y x F y -+=-ln ),(,先求x F ',再求yF '. 输入命令:df_dx=diff(log(x)+exp(-y/x)-exp(1),x) 得到x F ':df_dx=1/x+y/x^2*exp(-y/x).输入命令:df_dy=diff(log(x)+exp(-y/x)-exp(1),y)得到yF ': df_dy=-1/x*exp(-y/x) 输入命令:dy_dx=-df_dx/df_dy可得所求结果:dy_dx=-(-1/x-y/x^2*exp(-y/x))*x/exp(-y/x). 例3.14.设0)()cos()sin(=++xz tg yz xy ,求yz x z ∂∂∂∂,解:)()cos()sin()(xz tg yz xy x F ++=输入命令:a=jacobian(sin(x*y)+cos(y*z)+tan(z*x),[x ,y ,z])可得矩阵()z y xF F F ''',, a=[cos(x*y)*y+(1+tan(z*x)^2)*z ,cos(x*y)*x-sin(y*z)*z , -sin(y*z)*y+(1+tan(z*x)^2)*x]. 输入命令:dz_dx=-a(1)/a(3)得:dz_dx=(-cos(x*y)*y-(1+tan(z*x)^2)*z)/(-sin(y*z)*y+(1+tan(z*x)^2)*x) 输入命令:dz_dy=-a(2)/a(3)得:dz_dy=(-cos(x*y)*x+sin(y*z)*z)/(-sin(y*z)*y+(1+tan(z*x)^2)*x)练习1.求下列函数的导数.(1))11)(1(-+=xx y (2)x x x y ln sin =(3)221sin 2xy = (4))ln(22a x x y ++=2.求下列参数方程所确定的函数的导数.(1)⎩⎨⎧==t y t x 44 (2)⎩⎨⎧-=+=arctgt t y t x )1ln(23.求下列隐函数的导数.(1)22ln y x xyarctg+= (2)x y y x =4.设x e y x cos =,求)4(y .5.验证x e y x sin =满足关系式:022=+'-''y y y 6.求下列函数的偏导数.(1))sin(2xy x z = (2)zy x u ⎪⎭⎫ ⎝⎛= 7.设)ln(y x x u +=,求22x u ∂∂,22y u ∂∂,yx u ∂∂∂2. 8.求下列多元隐函数的偏导数yz x z ∂∂∂∂,. (1)1cos cos cos 222=++z y x (2)xyz e z =9.证明函数22)()(ln b y a x u -+-=(b a ,为常数)满足拉普拉斯方程:02222=∂∂+∂∂y u x u (提示:对结果用simplify 化简)实验4 积分计算实验目的1.通过本实验加深理解积分理论中分割、近似、求和、取极限的思想方法. 2.学习并掌握用matlab 求不定积分、定积分、二重积分、曲线积分的方法. 3.学习matlab 命令sum 、symsum 与int .实验内容1.学习matlab 命令(1)求和命令sum 调用格式.sum(x),给出向量x 的各个元素的累加和,如果x 是矩阵,则sum(x)是一个元素为x 的每列列和的行向量.例4.1.x=[1,2,3,4,5,6,7,8,9,10];↵ sum(x)↵ ans=55例4.2.x=[1,2,3;4,5,6;7,8,9]↵ x=1 2 3 4 5 6 7 8 9 sum(x)↵ans=12 15 18 (2)求和命令symsum 调用格式.symsum(s ,n), 求∑nssymsum(s ,k ,m ,n),求∑=nmk s当x 的元素很有规律,比如为表达式是)(k s 的数列时,可用symsum 求得x 的各项和,即 symsum ),1),((n k s =)()2()1(n s s s +++symsum )()1()(),,),((n s m s m s n m k k s ++++= 例4.3.syms k n ↵ symsum(k ,1,10)↵ ans=55symsum(k^2,k ,1,n)↵ans=1/3*(n+1)^3-1/2*(n+1)^2+1/6*n+1/6 (3)matlab 积分命令int 调用格式 int (函数)(x f ) 计算不定积分⎰dx x f )(int (函数),(y x f ,变量名x ) 计算不定积分⎰dx y x f ),(int (函数b a x f ,),() 计算定积分⎰badx x f )(int (函数),,(y x f 变量名b a x ,,) 计算定积分⎰badx y x f ),(2.计算不定积分 例4.4.计算xdx x ln 2⎰解:输入命令:int(x^2*log(x))可得结果:ans=1/3*x^3*log(x)-1/9*x^3 注意设置符号变量.例4.5.计算下列不定积分: 1.dx x a ⎰-222.⎰++dx x x 3131 3.⎰xdx x arcsin 2 解:首先建立函数向量. syms xsyms a realy=[sqrt(a^2-x^2),(x-1)/(3*x-1)^(1/3),x^2*asin(x)]; 然后对y 积分可得对y 的每个分量积分的结果. int(y ,x)↵ ans =[1/2*x*(a^2-x^2)^(1/2)+1/2*a^2*asin((1/a^2)^(1/2)*x), -1/3*(3*x-1)^(2/3)+1/15*(3*x-1)^(5/3),1/3*x^3*asin(x)+1/9*x^2*(1-x^2)^(1/2)+2/9*(1-x^2)^(1/2)] 3.定积分的概念.定积分是一个和的极限.取x e x f =)(,积分区间为]1,0[,等距划分为20个子区间. x=linspace(0,1,21);选取每个子区间的端点,并计算端点处的函数值. y=exp(x);取区间的左端点乘以区间长度全部加起来. y1=y(1:20);s1=sum(y1)/20 s1=1.6757 s1可作为⎰1dx e x 的近似值.若选取右端点:y2=y(2:21);s2=sum(y2)/20 s2=1.7616s2也可以作为⎰1dx e x 的近似值.下面我们画出图象. plot(x ,y);hold on for i=1:20fill([x(i),x(i+1),x(i+1),x(i),x(i)],[0,0,y(i),y(i),0],’b’) end如果选取右端点,则可画出图象. for i=1:20; fill([x(i),x(i+1),x(i+1),x(i),x(i)],[0,0,y(i+1),y(i+1),0],’b’) hold on endplot(x ,y ,’r’)在上边的语句中,for … end 是循环语句,执行语句体内的命令20次,fill 命令可以填充多边形,在本例中,用的是兰色(blue)填充.从图上看2110s dx e s x <<⎰,当分点逐渐增多时,12s s -的值越来越小,读者可试取50个子区间看一看结果怎样.下面按等分区间计算∑∑=∞→=∞→=∆ξni in ni i n nex f 111lim)(limsyms k ns=symsum(exp(k/n)/n ,k ,1,n); limit(s ,n ,inf) 得结果ans=exp(1)-1 4.计算定积分和广义积分. 例4.6.计算⎰1dx e x .解:输入命令:int(exp(x),0,1)得结果ans=exp(1)-1.这与我们上面的运算结果是一致的. 例4.7.计算⎰-21dx x解:输入命令:int(abs(x-1),0,2)得结果ans =1.本例用mathematica 软件不能直接求解. 例4.8.判别广义积分⎰+∞11dx x p 、⎰+∞∞--πdx e x 221与⎰-202)1(1dx x 的敛散性,收敛时计算积分值.解:对第一个积分输入命令:syms p real ;int(1/x^p ,x ,1,inf)得结果ans =limit(-1/(p-1)*x^(-p+1)+1/(p-1),x = inf).由结果看出当1<p 时,x^(-p+1)为无穷,当1>p 时,ans=1/(p-1),这与课本例题是一致的. 对第二个积分输入命令:int(1/(2*pi)^(1/2)*exp(-x^2/2),-inf ,inf) 得结果:ans=7186705221432913/18014398509481984*2^(1/2)*pi^(1/2) 由输出结果看出这两个积分收敛.对后一个积分输入命令:int(1/(1-x)^2,0,2)结果得ans=inf .说明这个积分是无穷大不收敛.例4.9.求积分⎰tdx xx 0sin解:输入命令:int(sin(x)/x ,0,t),可得结果sinint(t),通过查帮助(help sinint )可知sinint(t)=⎰t dx xx 0sin,结果相当于没求!实际上matlab 求出的只是形式上的结果,因为这类积分无法用初等函数或其值来表示.尽管如此,我们可以得到该函数的函数值.输入vpa(sinint(0.5))可得sinint(0.5)的值.5.二重积分计算 例4.10.求二次积分⎰⎰+12102x xxydy dx解:输入命令:int(int(x*y ,y ,2*x ,x^2+1),x ,0,1) 得结果ans=1/12. 例4.11.求⎰⎰≤++π12222))(sin(y x dxdy y x解:积分区域用不等式可以表示成2211,11x y x x -≤≤--≤≤-,二重积分可化为二次积分⎰⎰----+π22112211)(sin(x x dy y x dx,输入命令:int(int(sin(pi*(x^2+y^2)),y ,-sqrt(1-x^2),sqrt(1-x^2)),x ,-1,1) 由输出结果可以看出,结果中仍带有int ,表明matlab 求不出这一积分的值.采用极坐标可化为二次积分⎰⎰ππ2012)sin(dr r r da ,输入命令:int(int(r*sin(pi*r^2),r ,0,1),a ,0,2*pi) 可得结果为ans=2.6.曲线积分 例4.12.求曲线积分⎰L xyds ,其中L 为曲线122=+y x 在第一象限内的一段.解:曲线的参数方程是)20(,s i n ,c o s π≤≤==t t y t x 曲线积分可以化为⎰π⋅20sin cos tdt t .输入命令:int(cos(t)*sin(t),0,pi/2) 执行后即可求出曲线积分结果1/2.练习:1.计算下列不定积分.(1)⎰+dx x x 12 (2)⎰+x xdx 2sin 12sin(3)⎰+52x dx (4)⎰+++dx x x x 112 (5)⎰-dx e x x 22 (6)⎰dx x x 2arcsin2.计算下列定积分. (1)⎰exdx x 1ln (2)⎰ππ2sin dx xx(3)⎰edx x 1)sin(ln (4)⎰-++11242312sin dx x x x x 3.求⎰+tdx x x x 12)ln (ln 1并用diff 对结果求导. 4.求摆线)cos 1(),sin (t a y t t a x -=-=的一拱(π≤≤20t )与x 轴所围成的图形的面积.5.计算二重积分 (1)⎰⎰≤++122)(y x dxdy y x (2)⎰⎰≤++xy x dxdy y x 22)(226.计算⎰+Lds y x 22 L 为圆周)0(22>=+a ax y x7.计算⎰++-L dy y x dx y x )()(2222,其中L 为抛物线2x y =上从点(0,0)到点(2,4)的一段弧.实验5 matlab 自定义函数与导数应用实验目的1.学习matlab 自定义函数.2.加深理解罗必塔法则、极值、最值、单调性.实验内容1.学习matlab 自定义函数及求函数最小值命令.函数关系是指变量之间的对应法则,这种对应法则需要我们告诉计算机,这样,当我们输入自变量时,计算机才会给出函数值,matlab 软件包含了大量的函数,比如常用的正弦、余弦函数等.matlab 允许用户自定义函数,即允许用户将自己的新函数加到已存在的matlab 函数库中,显然这为matlab 提供了扩展的功能,无庸置疑,这也正是matlab 的精髓所在.因为matlab 的强大功能就源于这种为解决用户特殊问题的需要而创建新函数的能力.matlab 自定义函数是一个指令集合,第一行必须以单词function 作为引导词,存为具有扩展名“.m ”的文件,故称之为函数M -文件.函数M -文件的定义格式为:function 输出参数=函数名(输入参数) 函数体 …… 函数体一旦函数被定义,就必须将其存为M -文件,以便今后可随时调用.比如我们希望建立函数12)(2++=x x x f ,在matlab 工作区中输入命令:syms x ;y=x^2+2*x+1;不能建立函数关系,只建立了一个变量名为y 的符号表达式,当我们调用y 时,将返回这一表达式. y ↵y=x^2+2*x+1当给出x 的值时,matlab 不能给出相应的函数值来. x=3;y ↵y=x^2+2*x+1 如果我们先给x 赋值.x=3;y=x^2+2*x+1 得结果:y=16若希望得出2|=x y 的值,输入:x=2;y ↵得结果:y=16,不是2=x 时的值.读者从这里已经领悟到在matlab 工作区中输入命令:y=x^2+2*x+1不能建立函数关系,如何建立函数关系呢?我们可以点选菜单Fill\New\M-fill 打开matlab 文本编辑器,输入: function y=f1(x)y=x^2+2*x+1;存为f1.m .调用该函数时,输入: syms x ;y=f1(x)↵ 得结果:y= x^2+2*x+1.输入: y1=f1(3)↵得结果:y1=16matlab 求最小值命令fmin 调用格式:fmin(‘fun’,a ,b) 给出)(x f 在),(b a 上的最小值点. 2.自定义函数例5.1.建立正态分布的密度函数222)(21),.,(σμ--σπ=μσx e x f解:打开文本编辑器,输入:function y=zhengtai(x ,a ,b)y=1/sqrt(2*pi)/a*exp(-(x-b).^2/2/a^2); 存为zhengtai.m .调用时可输入命令: y=zhengtai(1,1,0)得结果:y=0.2420.此即)0,1,1(f 的值.如果想画出标准正态分布的密度函数的图象,输入: ezplot(zhengtai(x ,1,0))例5.2.解一元二次方程02=++c bx ax .解:我们希望当输入c b a ,,的值时,计算机能给出方程的两个根.在文本编辑器中建立名为rootquad.m 的文件.function [x1,x2]=rootquad(a ,b ,c) d=b*b-4*a*c ;x1=(-b+sqrt(d))/(2*a) x2=(-b-sqrt(d))/(2*a) 比如求方程07322=-+x x 的根,可用语句: [r1,r2]=rootquad(2,3,-7) 得结果:r1=1.2656 r2=-2.76562.验证罗必塔法则.罗必塔法则是指在求00及∞∞的极限时,可用导数之比的极限来计算(如果导数之比的极限存在或∞)例5.3.以xb a xx x -→0lim 为例验证罗必塔法则.解:这是00型极限f=a^x-b^x ;g=x ;L=limit(f/g ,x ,0)得结果:L=log(a)-log(b)df=diff(f ,x);dg=diff(g ,x);L1=limit(df/dg ,x ,0)得结果:L1=log(a)-log(b)从结果看出:L=L1,即xb a x x x -→0lim =x b a x x x '-→'0)(lim 4.函数的单调性与极值.例5.4.求函数396)(23++-=x x x x f 的单调区间与极值.解:求可导函数的单调区间与极值,就是求导函数的正负区间与正负区间的分界点,利用matlab 解决该问题,我们可以先求出导函数的零点,再画出函数图象,根据图象可以直观看出函数的单调区间与极值.输入命令:f=x^3-6*x^2+9*x+3;df=diff(f ,x);s=solve(df)得结果:ans=[1,3],画出函数图象.ezplot(f ,[0,4])从图上看,)(x f 的单调增区间为)1,(-∞、),1(+∞,单调减区间是)3,1(,极大值7)1(=f ,极小值3)3(=f .我们可以建立一个名为dandiao.m 的M —文件,用来求求函数的单调区间.disp(‘输入函数(自变量为x )’)syms xf=input('函数f(x)=')df=diff(f);s=solve(df)a=[];for i=1:size(s);a(i)=s(i); endezplot(f ,[min(a)-1,max(a)+1])要求函数)1ln(x x y +-=的单调区间与极值,可调用dandiao.m .输入: dandiao ↵在matlab 工作区出现以下提示:输入函数(自变量为x )函数f(x)=在光标处输入:x-log(1+x),可得结果s=0.从图上看,)(x f 的单调增区间为),0(+∞,单调减区间是)0,(-∞,极小值0)0(=f .5.函数的最值调用求函数最小值命令fmin 时,可得出函数的最小值点,为求最小值,必须建立函数M —文件.例5.5.求函数1)3()(2--=x x f 在区间)5,0(上的最小值.解:我们可以建立一个名为f.m 的函数M -文件.function y=f(x)y=(x-3).^2-1;并且调用fminx=fmin((‘f’,0,5)得:x=3,)(x f 在最小值点处的值(函数最小值)是1)3(-=f .求最大值时可用x=fmin(‘-f(x)’,a ,b)练习1.建立函数x x a a x f 3sin 31sin ),(+=,当a 为何值时,该函数在3π=x 处取得极值,它是极大值还是极小值,并求此极值.2.确定下列函数的单调区间.(1)7186223---=x x x y (2))0(82>+=x x x y(3))1ln(2x x y ++= (4)3)1)(1(+-=x x y3.求下列函数的最大值、最小值.(1)2332x x y -=41≤≤-x (2)312824≤≤-+-=x x x y实验6 matab 矩阵运算与数组运算实验目的:1.理解矩阵及数组概念.2.掌握matlab 对矩阵及数组的操作命令.实验内容:1.矩阵与数组的输入.对于较小较简单的矩阵,从键盘上直接输入矩阵是最常用的数值矩阵创建方法.用这种方法输入矩阵时注意以下三点:(1)整个输入矩阵以方括号“[ ]”为其首尾;(2)矩阵的元素必须以逗号“,”或空格分隔;(3)矩阵的行与行之间必须用分号“;”或回车键隔离.例1:下面的指令可以建立一个3行4列的矩阵 a .a=[1 2 3 4;5 6 7 8;9 10 11 12](下面是屏幕的显示结果)a =1 2 3 45 6 7 89 10 11 12分号“;”有三个作用:(1)在“[ ]”方括号内时它是矩阵行间的分隔符.例子如上.(2)它可用作指令与指令间的分隔符.(3)当它存在于赋值指令后时,该指令执行后的结果将不显示在屏幕上.例如,输入指令:b=[1 2 0 0;0 1 0 0;1 1 1 1];矩阵b将不被显示,但b已存放在matlab的工作内存中,可随时被以后的指令所调用或显示.例如,输入指令:b得结果:b =1 2 0 00 1 0 01 1 1 1数值矩阵的创建还可由其他方法实现.如:利用matlab函数和语句创建数值矩阵;利用m文件创建数值矩阵;从其他文件获取数值矩阵.有兴趣的读者可参阅其他参考书.数组可以看成特殊的矩阵,即1行n列的矩阵,数组的输入可以采用上面矩阵的输入方法.例2:输入以下指令以建立数组c.c=[1 2 3 4 5 6 7 8]c =1 2 3 4 5 6 7 8另外还有两种方法输入数组.请看下面两个例子.例3:在0和2中间每隔0.1一个数据建立数组d.解:输入指令:d=0:0.1:2d =Columns 1 through 70 0.1000 0.2000 0.3000 0.4000 0.50000.6000Columns 8 through 140.7000 0.8000 0.9000 1.0000 1.1000 1.20001.3000Columns 15 through 211.4000 1.5000 1.6000 1.7000 1.8000 1.90002.0000注意“:”的使用方法.例4:在0和2之间等分地插入一些分点,建立具有10个数据点的数组e.解:输入指令:e=linspace(0,2,10)e =Columns 1 through 70 0.2222 0.4444 0.6667 0.8889 1.11111.3333Columns 8 through 101.5556 1.77782.0000linspace(a,b,n)将建立从a到b有n个数据点的数组.2.常用矩阵的生成.matlab为方便编程和运算,提供了一些常用矩阵的生成指令:n⨯单位矩阵eye(n) nn⨯全1矩阵ones(n) nn⨯零矩阵zeros(n) nm⨯标准型矩阵eye(m,n) nm⨯全1矩阵ones(m,n) nm⨯零矩阵zeros(m,n) neye(size(A)) 与A同型的标准型矩阵ones(size(A)) 与A同型的全1矩阵zeros(size(A))与A同型的零矩阵其中指令size(A)给出矩阵A的行数和列数.例5:生成以下矩阵.(1)33⨯零矩阵.(2)63⨯全1矩阵.(3)与例1中矩阵a同型的标准型矩阵.解:输入下面指令:d=zeros(3)d =0 0 00 0 00 0 0e=ones(3,6)e =1 1 1 1 1 11 1 1 1 1 11 1 1 1 1 1f=eye(size(a))f =1 0 0 00 1 0 00 0 1 03.矩阵元素的标识矩阵的元素、子矩阵可以通过标量、向量、冒号的标识来援引和赋值.(1)矩阵元素的标识方式A(ni,nj).ni,nj都是标量.若它们不是整数,则在调用格式中会自动圆整到最临近整数.ni指定元素的行位置,nj指定元素的列位置.(2)子矩阵的序号向量标识方式A(v,w).v,w是向量,v,w中的任意一个可以是冒号“:”,他表示取全部行(在v位置)或全部列(在w位置).v,w中所用序号必须大于等于1且小于等于矩阵的行列数.例6:元素和矩阵的标识a=[1 2 3 4;5 6 7 8;9 10 11 12]a =1 2 3 45 6 7 89 10 11 12a24=a(2,4)a24 =8a1=a([1,2],[2,3,4])a1 =2 3 46 7 8a2=a([1,2],[2,3,1])a2 =2 3 16 7 5a3=a([3,1],:)a3 =9 10 11 121 2 3 4a([1,3],[2,4])=zeros(2)a =1 0 3 05 6 7 89 0 11 04.矩阵运算和数组运算.矩阵运算的指令和意义如下:A' 矩阵A的共轭转置矩阵,当A是实矩阵时,A'是A的转置矩阵.A+B 两个同型矩阵A与B相加.A-B 两个同型矩阵A与B相减.A*B 矩阵A与矩阵B相乘,要求A的列数等于B的行数.s+B 标量和矩阵相加(matlab约定的特殊运算,等于s加B的每一个分量).s-B B-s 标量和矩阵相减(matlab约定的特殊运算,含意同上).s*A 数与矩阵A相乘.例7:a=[1 2 3;4 5 6]a =1 2 34 5 6b=[-1 0 1;3 1 2]b =-1 0 13 1 2a'ans =1 42 53 6a+bans =0 2 47 6 8a-bans =2 2 21 4 41+aans =2 3 45 6 7a-1ans =0 1 23 4 52*bans =-2 0 26 2 4c=[2 4;1 3;0 1]c =2 41 30 1a*cans =4 1313 37数组可以看成特殊矩阵即一行n列的矩阵,矩阵运算的指令和含意同样适用于数组运算.如果在运算符前加“.”,含意将有所不同.A.*B 同维数组或同型矩阵对应元素相乘.A./B A的元素被B的元素对应除.A.^n A的每个元素n次方.p.^A 以p为底,分别以A的元素为指数求幂.例8:a=[1 2 3;4 5 6]a =1 2 34 5 6b=[-1 0 1;3 1 2]b =-1 0 13 1 2a.*bans =-1 0 312 5 12a./bWarning: Divide by zero.ans =-1.0000 Inf 3.00001.3333 5.0000 3.0000a.^2ans =1 4 916 25 362.^aans =2 4 816 32 64练习1. 计算(1)⎪⎪⎪⎭⎫ ⎝⎛--521111204321+⎪⎪⎪⎭⎫ ⎝⎛--232002101041221(2)⎪⎪⎭⎫ ⎝⎛-01301213⎪⎪⎪⎪⎪⎭⎫ ⎝⎛030101020501⎪⎪⎪⎭⎫ ⎝⎛-205101 (3)52422⎪⎪⎭⎫ ⎝⎛- 2.设⎪⎪⎪⎭⎫ ⎝⎛-=243121013A ,⎪⎪⎪⎭⎫ ⎝⎛-=112111201B ,求满足关系B X A =-23的X .实验7矩阵与线性方程组实验目的:1.掌握matlab求矩阵的秩命令.2.掌握matlab求方阵的行列式命令.3.理解逆矩阵概念,掌握matlab求逆矩阵命令.4.会用matlab求解线性方程组.实验内容:1.矩阵的秩.指令rank(A)将给出矩阵A的秩.例1:a=[3 2 -1 -3 -2;2 -1 3 1 -3;7 0 5 -1 -8]a =3 2 -1 -3 -22 -13 1 -37 0 5 -1 -8rank(a)ans =22.方阵的行列式.指令det(A)给出方阵A的行列式.例2:b=[1 2 3 4;2 3 4 1;3 4 1 2;4 1 2 3];det(b)ans =160det(b')ans =160c=b;c(:,1)=2*b(:,1);det(c)ans =320det(b(:,[3 2 1 4]))ans =-160d=b;d(2,:);det(d)ans =160你能解释上例中的运算结果吗?在这里我们实际上验证了行列式的性质.3.逆矩阵指令inv(A)给出方阵A 的逆矩阵,如果A 不可逆,则inv(A)给出的矩阵的元素都是Inf .例3:设⎪⎪⎪⎭⎫ ⎝⎛=343122321A ,求A 的逆矩阵.解:输入指令:A=[1 2 3;2 2 1;3 4 3];B=inv(A)B =1.0000 3.0000 -2.0000-1.5000 -3.0000 2.50001.0000 1.0000 -1.0000还可以用伴随矩阵求逆矩阵,打开m 文件编辑器,建立一个名为companm 的M-文件文件内容为:function y=companm(x)[n,m]=size(x);y=[];for j=1:n;a=[];for i=1:n;x1=det(x([1:i-1,i+1:n],[1:j-1,j+1:n]))*(-1)^(i+j);a=[a,x1];endy=[y;a];end利用该函数可以求出一个矩阵的伴随矩阵.输入命令:C=1/det(A)*companm(A)C =1.0000 3.0000 -2.0000-1.5000 -3.0000 2.50001.0000 1.0000 -1.0000利用初等变换也可以求出逆矩阵,构造n 行2n 列的矩阵(A E),并进行行初等变换,当把A 变为单位矩阵时,E 就变成了A 的逆矩阵.利用matlab 命令rref 可以求出矩阵的行简化阶梯形.输入命令:D=[A,eye(3)]D =1 2 3 1 0 02 2 1 0 1 03 4 3 0 0 1rref(D)ans =1.0000 0 0 1.0000 3.0000 -2.0000 0 1.0000 0 -1.5000 -3.0000 2.5000 0 0 1.0000 1.0000 1.0000 -1.0000 n m ⨯线性方程组B AX =的求解是用矩阵除来完成的,B A X \=,当n m =且A 可逆时,给出唯一解.这时矩阵除B A \相当于B A inv *)(;当m n >时,矩阵除给出方程的最小二乘解;当m n <时,矩阵除给出方程的最小范数解.例4:解方程组:⎪⎪⎩⎪⎪⎨⎧=-+=++=+-+=++-12121243132143214321x x x x x x x x x x x x x x 解:输入命令:a=[1 -1 1 2;1 1 -2 1;1 1 1 0;1 0 1 -1];b=[1;1;2;1];x=a\bx =0.83330.75000.41670.2500输入命令:z=inv(a)*bz =0.83330.75000.41670.2500例5:解方程组:⎪⎩⎪⎨⎧=-++-=-++-=--++8343242222543215432154321x x x x x x x x x x x x x x x解:方程的个数和未知数不相等,用消去法,将增广矩阵化为行简化阶梯形,如果系数矩阵的秩不等于增广矩阵的秩,则方程组无解;如果系数矩阵的秩等于增广矩阵的秩,则方程组有解,方程组的解就是行简化阶梯形所对应的方程组的解.输入命令:a=[2 1 1 -1 -2 2;1 -1 2 1 -1 4;2 -3 4 3 -1 8];rref(a)ans =1 0 0 0 0 00 1 0 -1 -1 00 0 1 0 -1 2由结果看出,4x ,5x 为自由未知量,方程组的解为:01=x542x x x +=532x x +=例6:解方程组:⎪⎪⎩⎪⎪⎨⎧=+--=--=-+-=+--0320030432142143214321x x x x x x x x x x x x x x x 解:输入命令:a=[1 -1 -1 1;1 -1 1 -3;1 -1 0 -1;1 -1 -2 3];rref(a)ans =1 -1 0 -10 0 1 -20 0 0 00 0 0 0由结果看出,2x ,4x 为自由未知量,方程组的解为:421x x x +=432x x =练习1.求下列矩阵的秩.(1)⎪⎪⎪⎭⎫ ⎝⎛-321110021 (2)⎪⎪⎪⎪⎪⎭⎫ ⎝⎛4820322513454947513253947543173125 2.求下列矩阵的行列式,如可逆,试用不同的方法求其逆矩阵.(1)⎪⎪⎪⎭⎫ ⎝⎛--285421122 (2)⎪⎪⎪⎪⎪⎭⎫ ⎝⎛---6201111121324321 (3)⎪⎪⎪⎪⎪⎭⎫ ⎝⎛------11111111111111113.设X ⎪⎪⎪⎭⎫ ⎝⎛-111012111=⎪⎪⎪⎭⎫ ⎝⎛521234311求X .4.解下列线性方程组.(1)⎪⎪⎩⎪⎪⎨⎧=--+=+-+=+-+=+-+6223312433862344224221432143214321x x x x x x x x x x x x x x x x (2)⎪⎪⎩⎪⎪⎨⎧-=+--=+--=-+-212201432143214321x x x x x x x x x x x x(3)⎪⎪⎩⎪⎪⎨⎧=+-+-=-+--=-+-+=+-+-02252022303220254321543215432154321x x x x x x x x x x x x x x x x x x x x 实验8 常微分方程与级数实验目的:1.学习用matlab 求解微分方程命令dsolve.2.学习matlab 泰勒级数展开命令.3.巩固幂级数的收敛半径、和等概念.实验内容:1.学习matlab 命令.matlab 求解微分方程命令dsolve ,调用格式为:dsolve(‘微分方程’)给出微分方程的解析解,表示为t 的函数.dsolve(‘微分方程’,‘初始条件’)给出微分方程初值问题的解,表示为t 的函数.dsolve(‘微分方程’,‘变量x ’)给出微分方程的解析解,表示为x 的函数.dsolve(‘微分方程’,‘初始条件’,‘变量x ’)给出微分方程初值问题的解,表示为x 的函数.求已知函数的taylor 展开式taylor 命令,调用格式为:taylor(函数f(x)) f(x)的5次taylor 多项式.taylor(函数f(x),n) f(x)的n-1次taylor 多项式.taylor(函数f(x),a) f(x)在a 点的taylor 多项式.求级数的和命令symsum 调用格式为:symsum(S,n),求∑nSsymsum(S,k,m,n),求∑=n m k Smatlab 求极限命令limit 调用格式为:limit(函数f(x),变量x ,自变量的趋向值)2.求解一阶微分方程.微分方程在输入时,y '应输入Dy ,y ''应输入D2y 等,D 应大写. 例1:求微分方程22x xe xy dxdy -=+的通解. 解:输入命令:dsolve('Dy+2*x*y=x*exp(-x^2)')结果为ans =1/2*(1+2*exp(-2*x*t)*C1*exp(x^2))/exp(x^2)系统默认的自变量是t ,显然系统把x 当作常数,把y 当作t 的函数求解.输入命令:dsolve('Dy+2*x*y=x*exp(-x^2)','x')得正确结果:ans =1/2*(x^2+2*C1)/exp(x^2)例2:求微分方程0=-+'x e y y x 在初始条件e y x 21==下的特解. 解:输入命令:dsolve('x*Dy+y-exp(x)=0','y(1)=2*exp(1)','x')得结果为:ans =1/x*(exp(x)+exp(1))例3:求微分方程0cos 2)1(2=-+-x xy dxdy x 在初始条件10==x y 下的特解.解:输入命令:dsolve('(x^2-1)*Dy+2*x*y-cos(x)=0','y(0)=1','x')得结果为ans =1/(x^2-1)*(sin(x)-1)3.求解二阶微分方程.例4:求03=+'+''x e y y 的通解.解:输入命令:dsolve('D2y+3*Dy+exp(x)=0','x')得结果:ans =-1/4*exp(x)+C1+C2*exp(-3*x)例5:求解微分方程.02='-''y e y y解:输入命令:dsolve('D2y-exp(2*y)*Dy=0','x')得结果:ans =1/2*log(-2*C1/(-1+exp(2*x*C1+2*C2*C1)))+x*C1+C2*C14.taylor 展开式.例6:求函数y=cosx 在x=0点处的5阶taylor 展开式及在3π=x 处的6阶taylor 展开式.解:输入命令:syms x;taylor(cos(x))得结果:ans =1-1/2*x^2+1/24*x^4输入命令:taylor(cos(x),pi/3,7)得结果:ans =1/2-1/2*3^(1/2)*(x-1/3*pi)-1/4*(x-1/3*pi)^2+1/12*3^(1/2)*(x- 1/3*pi)^3+1/48*(x-1/3*pi)^4-1/240*3^(1/2)*(x-1/3*pi)^5-1/1440*(x-1/3*pi)^6 5.级数求和.例7:求∑∞=121n n . 解:输入命令:syms n;symsum(1/2^n,1,inf)得结果:ans =1例8:求幂级数∑∞=⨯12n n nn x 的和函数. 解:输入命令:symsum(x^n/(n*2^n),n,1,inf)得结果ans =-log(1-1/2*x)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学实验与Matlab 1 实验矩阵运算与Matlab命令1.1 知识要点与背景:日常矩阵及其运算【A=[4 2 3;1 3 2;1 3 3;3 2 2], % 表1-1、表1-2的数据分别写成矩阵形式B=[35 20 60 45;10 15 50 40;20 12 45 20] 】【C=A*B %矩阵乘法,求各订单所对应的原材料和劳动力。
】【whos % 查看Matlab工作空间中变量及其规模】1.2实验与观察:矩阵和Matlab语言1.2.1 向量的生成和运算【x=linspace(0,4*pi,100); %将[0,4π]区间100等分,产生了一个100维向量y=sin(x); %计算函数值,产生了一个与x同维的100维函数向量yy1=sin(x).^2; %计算函数向量,注意元素群运算y2=exp(-x).*sin(x);%以x为横坐标,y为纵坐标画函数的图用不同的线型将函数曲线绘制在一个图上plot(x,y,'-',x,y1,'-',x,y2,'.-') 】1. 向量的创建◆直接输入向量。
【x1=[1 2 4],x2=[1,2,1],x3=x1' 】◆冒号创建向量。
【x1=3.4:6.7x2=3.4:2:6.7数学实验与Matlab 2 x3=2.6:-0.8:0 】◆生成线性等分向量。
【x=linspace(0,1,5) 】2. 向量的运算【y=sin(x) 】【y1=sin(x).^2; y2=exp(-x).*sin(x); 】1.2.2.矩阵创建和运算1.创建矩阵(1)数值矩阵的创建◆直接输入法创建简单矩阵。
【A=[1 2 3 4; 5 6 7 8; 9 10 11 12] 】【B=[-1.3,sqrt(3);(1+2)*4/5,sin(5);exp(2),6] 】(2)符号矩阵的创建◆【syms a11 a12 a13 a14 a21 a22 a23 a24 a31 a32 a33 a34 …b11 b12 b13 b14 b21 b22 b23 b24 b31 b32 b33 b34A1=[a11 a12 a13 a14 ;a21 a22 a23 a24; a31 a32 a33 a34],B1=[b11 b12 b13 b14 ;b21 b22 b23 b24; b31 b32 b33 b34] 】2.矩阵的运算【C=A1+B1,D=A1-B1 】【syms ccA=c*A1 】【C=A1*B1 】数学实验与Matlab 3 { ??? Error using ==> sym/mtimes, Inner matrix dimensions must agree. }【A2=A1(:,1:3), B1 】【G=A2*B1 】【g11=A2(1,:)*B1(:,1) 】【A, A_trans=A' 】【H=[1 2 3 ; 2 1 0 ; 1 2 3 ], K=[1 2 3 ; 2 1 0 ; 2 3 1]h_det=det(H),k_det=det(K),H_inv=inv(H),K_inv=K^-1 】【A=[3 0 1; 1 1 0;0 1 4];B=inv(A-2*eye(3))*A, B=(A-2*eye(3))\A 】3.分块矩阵:矩阵的裁剪、分割、修改与抽取(1)【A=[1 0 1 1 2;0 1 -1 2 3;3 0 5 1 0;2 3 1 2 1], vr=[1,3];vc=[1,3];A1=A(vr,vc) %取出A的1、3行和1、3列的交叉处元素构成新矩阵A1】◆将上面的矩阵A分为四块,并把它们赋值到矩阵B中,观察运行后的结果。
【A11=A(1:2,1:2),A12=A(1:2,3:5),A21=A(3:4,1:2),A22=A(3:4,3:5) B=[A11 A12;A21 A22] 】(2)矩阵的修改和提取◆【A=[1 0 1 1 2;0 1 -1 2 3;3 0 5 1 0;2 3 1 2 1]A(1,:)=[0 0 0 0 0]; A 】◆观察:【B(:,[2,4])=[ ] %删除矩阵B的第2、4列】数学实验与Matlab 4 (3)矩阵元素的抽取4.生成特殊矩阵。
◆【y1=rand(1,5), y2=rand(1,5),rand('seed',3), x1=rand(1,5), rand('seed',3), x2=rand(1,5) 】5. 常用矩阵函数6. 数据的简单分析◆【rand('seed',1);A=rand(3,6),Asort=sort(A), Amax=max(A), Asum=sum(A) 】1.2.3 Matlab工作环境和编程2.Matlab的基本设计1.3应用、思考与练习1.3.1关系矩阵1.3.2 投入产出1.3.3 循环比赛的名次【A=[0 1 1 0; 0 0 1 1; 0 0 0 1; 1 0 0 0],e=ones(4,1); c=A*e;s=c' 】数学实验与Matlab 5 ★画矩阵结构图的gplot指令。
◆(3)【clf, A=[0 1 1 0;0 0 1 1;0 0 0 1;1 0 0 0]; xy=[0 1;0 0;-1 –0.5;1 –0.5];graphy_plot(A,xy,1,0.5), % gplot(A,xy) 】1.3.4 参考程序graphy_plot.m【function y=graphy_plot(A,xy,l,p)%画矩阵的有向结构图。
A为邻接矩阵,xy为顶点坐标,l控制参数,l=0,画无向图;%l~=0,画有向图。
p为控制箭头大小的参数。
a=-max(abs(xy(:,1)))*1.1;b=max(abs(xy(:,1)))*1.1;c=-max(abs(xy(:,2)))*1.1;d=max(abs(xy(:,2)))*1.1;if l=0gplot(A,xy),axis([a b c d]),hold on,elseif l~=0U=[];V=[];X=[];Y=[];n=length(A(:,1)) ;for i=1:nk=find(A(i,:)~=0);m=length(k);if(m~=0)for j=1:mu(1)=(xy(k(j),1)-xy(i,1)); v(1)=(xy(k(j),2)-xy(i,2));u(2)=eps; v(2)=eps; U=[u;U];V=[v;V];X=[[xy(i,1) xy(k(j),1)];X]; Y=[[xy(i,2) xy(k(j),2)];Y];endtext(xy(i,1),xy(i,2),['\bullet\leftarrow\fontsize{16}\it{V}',…um2str(i)]); hold on,endendgplot(A,xy),axis([a b c d]),hold on,h=quiver(X,Y,U,V,p);set(h,'color','red');hold on,数学实验与Matlab 6 plot(xy(:,1),xy(:,2),'k.','markersize',12),hold on,end , hold off 】实验2.函数的可视化与Matlab作2.1 实验与观察:函数的可视化2.1.1 Matlab二维绘图命令1.周期函数与线性p-周期函数◆观察:【clf, x=linspace(0,8*pi,100);F=inline('sin(x+cos(x+sin(x)))');y1=sin(x+cos(x+sin(x))); y2=0.2*x+sin(x+cos(x+sin(x)));plot(x,y1,'k:',x,y2,'k-')legend('sin(x+cos(x+sin(x))','0.2x+sin(x+cos(x+sin(x)))',2) 】2. plot指令:绘制直角坐标的二维曲线3. 图形的属性设置和屏幕控制【h=plot([0:0.1:2*pi],sin([0:0.1:2*pi])); grid onset(h,'LineWidth',5,'color','red');set(gca,'GridLineStyle','-','fontsize',16) 】◆设置y坐标的刻度并加以说明,并改变字体的大小。
【h=plot([0:0.1:2*pi],sin([0:0.1:2*pi]));grid on,set(gca,'ytick',[-1 -0.5 0 0.5 1]), set(gca,'yticklabel','a|b|c|d|e'),set(gca,'fontsize',20) 】4. 文字标注指令【plot(x,y1,'b',x,y2,'k-') ,数学实验与Matlab7set(gca,'fontsize',15,'fontname','times New Roman'), %设置轴对象的字体为times% New Roman ,字体的大小为15title(' \it{Peroid and linear peroid function}'); %加标题,注意文字用单引号' ' 加上%斜杠'\'后可输入不同的设置,例如it{…}表示花括号里的文字为斜体;如果有多项设置,%则可用\…\…\…连续输入。
xlabel('x from 0 to 8*pi it{t}\'); ylabel('\it{y}'); %说明坐标轴text(x(49),y1(50)-0.4,'\fontsize{15}\bullet\leftarrowThe period function {\itf(x)}');%在坐标(x(49),y1(50)-0.4)处作文字说明, 各项设置用"\"隔开。
%\fontsize{15}\bullet\leftarrow 的意义依次是:\字体大小=15 \ 画圆点 \左箭头text(x(14),y2(50)+1,'\fontsize{15}The linear period function{\itg(x)}\rightarrow\bullet') %与上一语句类似,用右箭头 】 ◆观察指令legend 和num2str 的用法:在同一张图上画出t e y t y 5.03)s i n (-==和, 这里]3,0[π∈t , 并进行适当的标注。