实验一B Matlab基本操作与微积分计算
实验一B Matlab基本操作与微积分计算
实验一Matlab基本操作与微积分计算实验目的1.进一步理解导数概念及其几何意义.2.学习matlab的求导命令与求导法.3.通过本实验加深理解积分理论中分割、近似、求和、取极限的思想方法.4.学习并掌握用matlab求不定积分、定积分、二重积分、曲线积分的方法.5.学习matlab命令sum、symsum与int.实验内容一、变量1、变量MATLAB中变量的命名规则是:(1)变量名必须是不含空格的单个词;(2)变量名区分大小写;(3)变量名最多不超过19个字符;(4)变量名必须以字母打头,之后可以是任意字母、数字或下划线,变量名中不允许使用标点符号.1、创建简单的数组x=[a b c d e f ]创建包含指定元素的行向量x=first:step: last创建从first起,逐步加step计数,last结束的行向量, step缺省默认值为1x=linspace(first,last,n)创建从first开始,到last结束,有n个元素的行向量x=logspace(first,last,n)创建从first开始,到last结束,有n个元素的对数分隔行向量.注:以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素.2、数组元素的访问(1)访问一个元素: x(i)表示访问数组x的第i个元素.(2)访问一块元素: x(a :b :c)表示访问数组x的从第a个元素开始,以步长为b到第c个元素(但不超过c),b可以为负数,b缺损时为1.(3)直接使用元素编址序号: x ([a b c d]) 表示提取数组x的第a、b、c、d个元素构成一个新的数组[x (a) x (b) x(c) x(d)].3、数组的运算(1)标量-数组运算数组对标量的加、减、乘、除、乘方是数组的每个元素对该标量施加相应的加、减、乘、除、乘方运算.设:a=[a1,a2,…,an], c=标量, 则:a+c=[a1+c,a2+c,…,an+c]a .*c=[a1*c,a2*c,…,an*c]a ./c= [a1/c,a2/c,…,an/c](右除)a .\c= [c/a1,c/a2,…,c/an] (左除)a .^c= [a1^c,a2^c,…,an^c]c .^a= [c^a1,c^a2,…,c^an](2)数组-数组运算当两个数组有相同维数时,加、减、乘、除、幂运算可按元素对元素方式进行的,不同大小或维数的数组是不能进行运算的.设: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]三、矩阵1、矩阵的建立矩阵直接输入:从“[ ” 开始,元素之间用逗号“,”(或空格),行之间用分号“;”(或回车),用“ ]”结束.特殊矩阵的建立:a=[ ] 产生一个空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵的大小为零.b=zeros (m,n) 产生一个m行、n列的零矩阵c=ones (m,n) 产生一个m行、n列的元素全为1的矩阵d=eye (m,n) 产生一个m行、n列的单位矩阵eye (n) %生成n维的单位向量eye (size (A)) %生成与A同维的单位阵2、矩阵中元素的操作(1)矩阵A的第r行A(r,:)(2)矩阵A的第r列A(:,r)(3)依次提取矩阵A的每一列,将A拉伸为一个列向量A(:)(4)取矩阵A的第i1~i2行、第j1~j2列构成新矩阵:A(i1:i2, j1:j2)(5)以逆序提取矩阵A的第i1~i2行,构成新矩阵:A(i2:-1:i1,:)(6)以逆序提取矩阵A的第j1~j2列,构成新矩阵:A(:, j2:-1:j1 )(7)删除A的第i1~i2行,构成新矩阵:A(i1:i2,:)=[ ](8)删除A的第j1~j2列,构成新矩阵:A(:, j1:j2)=[ ](9)将矩阵A和B拼接成新矩阵:[A B];[A;B]3、矩阵的运算(1)标量-矩阵运算同标量-数组运算.(2)矩阵-矩阵运算a. 元素对元素的运算,同数组-数组运算.(A/B %A右除B; B\A %A左除B)b. 矩阵运算:矩阵加法:A+B矩阵乘法:A*B方阵的行列式:det(A)方阵的逆:inv(A)方阵的特征值与特征向量:[V,D]=eig[A] A 的转置 A’ A 的n 次幂A^n 四、导数及偏导数计算 1.学习matlab 命令.建立符号变量命令sym 和syms 调用格式: x=sym(‘x’), 建立符号变量x ;syms x y z , 建立多个符号变量x,y,z ; matlab 求导命令diff 调用格式:diff (函数()f x ) , 求()f x 的一阶导数()f x ';diff (函数()f x , n ) , 求()f x 的n 阶导数()()n f x (n 是具体整数); diff (函数(,)f x y ,变量名x ), 求(,)f x y 对x 的偏导数f x∂∂; diff (函数(,)f x y , 变量名x ,n ) ,求(,)f x y 对x 的n 阶偏导数n n fx∂∂;matlab 求雅可比矩阵命令jacobian ,调用格式:jacobian ([(,,)f x y z ;(,,)g x y z ;(,,)h x y z ], [,,x y z ])给出: f f f x y z gg g x y z h h h xyz ⎛⎫∂∂∂ ⎪∂∂∂ ⎪ ⎪∂∂∂⎪∂∂∂ ⎪ ⎪∂∂∂ ⎪∂∂∂⎝⎭2.求一元函数的导数. (1)()y f x =的一阶导数. 例1.1 设()x f x e =,用定义计算(0)f '. 解:()f x 在某一点0x 的导数定义为极限: 000()()limx f x x f x x∆→+∆-∆我们记h x =∆,输入命令:syms h;limit((exp(0+h)-exp(0))/h,h,0) 得结果:ans=1.可知(0)1f '= 例1.2 求ln(sin )y x =的导数. 解: 输入命令:dy_dx=diff(log(sin(x))). 得结果:dy_dx=cos(x)/sin(x).在matlab 中,函数x ln 用log(x)表示,而log10(x)表示x lg .例1.3 求下列函数的导数: %利用matlab 命令diff 一次可以求出若干个函数的导数.1.1y =2.22cos 2cos2y x x =+.3.xy sin 34=.4.xy 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)].由本例可以看出,matlab 函数是对矩阵或向量进行操作的,a(i)表示向量a 的第i 个分量.函数向量的第i 个函数的导数为导数向量中对应的元素。
实验一 matlab的基本操作
实验一:MATLAB 的基本操作 实验名称: MA TLAB 操作实验日期: 2020 年 4 月 18 日姓名: 班级学号:成绩:一、实验目的1、熟悉MATLAB 的界面和基本操作;2、掌握MATLAB 的基本运算方法;3、掌握MATLAB 中帮助命令的使用方法。
二、实验内容及步骤1、进入Matlab 工作环境,熟悉各窗口的功能。
(1)双击桌面图标,或从“开始”菜单打开MATLAB.exe ,启动MATLAB 。
(2)查看MA TLAB 界面各窗口的布局、了解其功能,并完成各窗口之间的切换。
(3)设置当前工作目录。
在D 盘创建mymatlab 目录,并将其作为当前工作目录。
今后的实验过程中以此目录作为当前工作目录。
2、计算225.389.1753cos 54.5e -÷⎪⎭⎫ ⎝⎛+π的值。
(1)在命令窗口(Command Window )中输入程序:5.54^2+cos(3/5*pi)*sqrt(17.89)/3.5-exp(2)(2)按回车键运行,如果出现“Error ”(出错信息),则应找出原因并改正,再运行。
(3)运行结果: 22.9291 3、输入矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=913652824A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=333222111B ,在命令窗口中执行下列表达式,掌握其含义:A(2,3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A(1)在命令窗口键入 A=[4,2,8;2,5,6;3,1,9] ,生成矩阵A ;键入B=[1,1,1;2,2,2;3,3,3] ,生成矩阵B ;(2)记录执行以下表达式的结果:A(2, 3)= 6 A(6)= 1 A(:,2)= [2;5; 1] A(3,:) = [3 1 9] A(:,1:2:3)= [4 8;2 6;3 9] A(:,3).*B(:,2)= [8;12;27]A(:,3)*B(2,:)= [16 16 16;12 12 12;18 18 18]A*B= [32 32 32;30 30 30;32 32 32] A.*B= [4 2 8;4 10 12;9 3 27] A^2= [44 26 116;36 35 100;41 20 111]A.^2= [16 4 64;4 25 36;9 1 81]B/A= [0.5000 0.0769 -0.3846;1.0000 0.1538 -0.7692;1.5000 0.2308 -1.1538]B./A= [0.2500 0.5000 0.1250;1.000 0.4000 0.3333;1.0000 3.0000 0.3333]B.\A= [4.0000 2.0000 8.0000;1.0000 2.5000 3.0000;1.0000 0.3333 3.0000]4、产生一个5阶魔方矩阵,将矩阵的第3行4列元素赋值给变量a ;将由矩阵第2,3,4行第2,5列构成的子矩阵赋值给变量b 。
MATLAB 《数学实验》报告10-Matlab中的各种积分运算
《数学实验》报告学号10120 姓名成绩实验内容:Matlab中的各种积分运算一实验目的熟悉Matlab中关于积分运算的各种命令,掌握利用MATLAB 软件进行求不定积分,定积分等积分运算方法。
二预备知识(1)熟悉不定积分及定积分的运算原理。
(2)熟悉用Matlab软件提供的命令函数int()可以完成积分运算,如int(fun),int(fun,x),int(fun,x,a,b).三实验内容与要求(1)求函数的积分∫(x^5+x^3-(√x)/4)dx ∫(sinax sinbx sincx) dx (x*)/(1+x)^2 dxMatlab命令结果(1)cleary = sym('x^5 +x^3 -sqrt(x)/4')int(y)(2)clearsyms x a b cy =sym(sin(a*x)*sin(b*x)*sin(c *x)) y = x^5 +x^3 - sqrt(x)/4ans = 1/6*x^6+1/4*x^4-1/6*x^(3/2)y = sin(a*x)*sin(b*x)*sin(c*x)ans =(2)求二重积分(3)求三重积分。
(4)σdxyxD⎰⎰-+)(22,其中D是由直线xyy==,2及xy2=所围成的区域。
(5)计算⎰⎰⎰Ωxyzdxdydz ,其中Ω为球面1222=++z y x 及三个坐标面所围成的(6)计算⎰⎰⎰Ωzdxdydz 其中Ω为由曲面222y x z +=及22x z -=所围成的闭。
Matlab中常用的积分和微分算法解析
Matlab中常用的积分和微分算法解析积分和微分是数学中重要的概念和工具,广泛应用于科学、工程和计算领域。
在Matlab中,提供了丰富的积分和微分算法,可以方便地进行数值计算和符号计算。
在本文中,我们将解析Matlab中常用的积分和微分算法,并探讨其应用。
一、数值积分算法数值积分是通过将求和转化为积分的方式,对函数在一定区间内的近似计算。
在Matlab中,有许多数值积分算法可供选择,包括梯形法则、辛普森法则和高斯求积法等。
1. 梯形法则梯形法则是一种基本的数值积分算法。
它将区间分成多个小梯形,并将每个小梯形的面积近似表示为梯形的面积,然后将这些面积相加得到最终的近似积分值。
在Matlab中,可以使用trapz函数来实现梯形法则的计算。
例如,对函数f(x)在区间[a, b]上进行积分,可以使用如下代码:```matlaba = 0;b = 1;x = linspace(a, b, 100);y = f(x);integral_value = trapz(x, y);```其中,linspace函数用于生成均匀分布的点,f(x)是待积分的函数。
trapz函数可以自动计算积分值。
2. 辛普森法则辛普森法则是一种更精确的数值积分算法。
它将区间分成多个小三角形,并将每个小三角形的面积近似表示为一个带有二次多项式的面积,然后将这些面积相加得到最终的近似积分值。
在Matlab中,可以使用quad函数来实现辛普森法则的计算。
例如,对函数f(x)在区间[a, b]上进行积分,可以使用如下代码:```matlaba = 0;b = 1;integral_value = quad(@f, a, b);```其中,@f表示函数句柄,quad函数可以自动计算积分值。
3. 高斯求积法高斯求积法是一种更高精度的数值积分算法。
它利用多个节点和权重,通过插值的方式来近似积分值。
在Matlab中,可以使用gaussquad函数来实现高斯求积法的计算。
实验一MATLAB基本操作及运算
实验一MATLAB基本操作及运算MATLAB是一种强大的数值计算和数据可视化工具,广泛应用于科学研究、工程设计、数据分析等领域。
本文将介绍MATLAB的基本操作和运算。
首先,我们需要了解MATLAB中的基本数据类型,包括数值型、字符型和逻辑型。
数值型可以是整数、实数、复数等;字符型用单引号或双引号包围字符;逻辑型用true和false表示。
MATLAB提供了各种数学运算函数,包括四则运算、三角函数、指数函数等。
例如,加法可以使用加号(+),减法可以使用减号(-),乘法可以使用乘号(*),除法可以使用除号(/)。
三角函数可以使用sin、cos、tan等函数,指数函数可以使用exp函数。
此外,还可以使用log 函数进行对数运算。
MATLAB还可以进行矩阵运算。
矩阵可以使用方括号([])表示,每一行用分号(;)分隔。
可以使用矩阵乘法运算符(*)进行矩阵相乘,使用点乘运算符(.)进行矩阵对应元素的运算。
矩阵还可以进行转置、逆运算等。
除了基本运算,MATLAB还提供了各种其他功能。
例如,可以使用plot函数进行数据可视化,使用subplot函数绘制多个图形。
可以使用for循环和while循环进行循环操作,使用if语句进行条件判断。
MATLAB还可以进行文件读写操作。
可以使用load函数从文件中加载数据,使用save函数将数据保存到文件中。
可以使用fopen函数打开文件,使用fclose函数关闭文件。
可以使用fprintf函数写入文本文件,使用fscanf函数读取文本文件。
还可以使用imread函数读取图像文件,使用imwrite函数保存图像文件。
MATLAB还具备向量化的能力。
向量化是指使用矩阵代替循环进行计算,能够提高代码的执行效率。
例如,可以使用点乘运算符(.)对矩阵的每个元素进行计算,而不是使用循环逐个计算。
使用向量化的方法,可以更加简洁地编写代码。
在MATLAB中还有很多强大的功能等待探索,例如符号计算、模拟仿真、深度学习等。
matlab 《数学实验》报告9-matlab的极限和微分运算
matlab 《数学实验》报告9-matlab的极限和微分运算《数学实验》报告学号姓名成绩实验内容:Matlab的极限和微分运算。
一实验目的熟悉MATLAB软件中关于极限和微分运算的基本命令,掌握利用MATLAB软件求极限和微分运算的方法。
二预备知识(1)求函数的极限和微分的运算。
(2) Matlab基本命令limit,初等函数的表示方法。
三实验内容与要求1.求下列极限,将完成实验的程序写到文件sy31.m中xarctanF,(1); 1limxx,0Matlab命令结果clear%µÚ?þÖÖ???? =syms x atan(x)/xf=atan(x)/x ans =limit(f,'x',0) 1121,x,,F,(2) ,,2lim1,x,,x,0Matlab命令结果1clear F2 =syms x ((1+x)/(1-x))^(1/x) F2=((1+x)/(1-x))^(1/x) ans =limit(F2,'x',0) exp(2)xln(1x),F,(3) 3lim2x,0sinxMatlab命令结果 clear F3 =syms x x*log(1+x)/sin(x^2) F3=x*log(1+x)/sin(x^2) ans = limit(F3,'x',0) 1xarctanF,(4) 4limxx,,Matlab命令结果 clear F4 =syms x atan(x)/xF4=atan(x)/x ans =limit(F4,'x',inf) 011,,limF,,(5) ,,531x,1x,,,x1,Matlab命令结果 clear F5 =1/(1-x)-1/(1-x^3) syms xF5=1/(1-x)-1/(1-x^3) ans =limit(F5,'x',1) NaN2、求下列函数的倒数,将完成实验的程序写到文件sy32.m中3(1); y,cosx,cos3x1Matlab命令结果2clear%diyi y1 =syms x cos(x)^3-cos(3*x) y1=(cos(x))^3-cos(3*x) ans = diff(y1,x) -3*cos(x)^2*sin(x)+3*sin(3*x) (2) y,xsinxlnx2 Matlab命令结果 clear%dier y2 =syms xy2=x*sin(x)*log(x) x*sin(x)*log(x)diff(y2,x) ans =sin(x)*log(x)+x*cos(x)*log(x)+sin(x)xxe,1(3)y, 3sinxMatlab命令结果 clear%disan y3 =syms x (x*exp(x)-1)/sin(x) y3=(x*exp(x)-1)/sin(x) ans =diff(y3,x)(exp(x)+x*exp(x))/sin(x)-(x*exp(x)-1)/sin(x)^2*cos(x)x,,4(4),计算; y,ecosxy4Matlab命令结果 clear%disi y3 =exp(x)*cos(x) syms xans = y3=exp(x)*cos(x)diff(y3,x,4) -4*exp(x)*cos(x)2,,20y,xsin2x(5),计算 yMatlab命令结果 clear%diwu y5 =syms x x^2*sin(2*x)y5=x^2*sin(2*x) ans =-99614720*sin(2*x)-20971520*x*cos(2*x)+1048576*x^2*sindiff(y5,x,20) (2*x)3谣言:吃太咸了会得病,导语:“人体每日摄入食盐不应过多,否则易患多种疾病。
实验一 MATLAB基本操作及运算(含实验报告)
实验一 MATLAB基本操作及运算(含实验报告)实验一matlab基本操作及运算(含实验报告)实验一matlab基本操作及运算一、实验目的1、理解matlab数据对象的特点;2、掌握基本matlab运算规则;3、掌握matlab帮助的使用方法;二、实验的设备及条件计算机一台(带有matlab7.0以上的软件环境)。
三、实验内容要求建立一个名为experiment01.m的,把与实验内容1-7相关的实验命令都放入该文件中,题与题之间用相应注释分割。
注意对实验中出现的相关函数或变量,请使用help 或doc查询相关帮助文档,学习函数的用法。
1、创建以下标量:1)a=102)b=2.5×10233)c=2+3i,(i为虚数单位)4)d=ej2?/3,(j为虚数单位,这里要用到exp,pi)2、建立以下向量:1)avec=[3.1415926]2.7182)bvec=??28182??3)cvec=[54.8…-4.8-5](向量中的数值从5到-5,步长为-0.2)4)dvec=[100100.01…100.99101](产生1至10之间的等对数间隔向量,参照logspace,特别注意向量的长度)3、建立以下矩阵:221)amat2?2??amat一个9×9的矩阵,其元素全系列为2;(参照ones或zeros)10??10??0?02)bmat050??0?0?01??0?bmat是一个9×9的矩阵,除主对角上的元素为[123454321]外,其余元素均为0。
(参考diag)。
111?129192?2?3)cmat?1020?100cmat为一个10×10的矩阵,可有1:100的向量来产生(参考reshape)nan4)dmatnan??nannannannannannannannan?nan??nan??dmat为3×4的nan矩阵,(参照nan)13155)emat2210?87?6)产生一个5×3随机整数矩阵fmat,其值的范围在-3到3之间。
Matlab微积分问题计算机求解实验
>> q2=quad('quad1',0,1)
【例】求exp(-x2)在[0,1]上的积分。
数值积分
3、编写被积函数表达式,函数名为f=@(x).exp(-x.^2);
>> q2=quad(f,0,1)
数值积分
(2)梯形法(被积函数由一个表格定义)
trapz函数采用梯形法求取数值积分,适用于由表格形式定义的函数关系的求定积分问题,求值速度快, 但精度差。
syms x; f=abs(x)/x;%给出待展开的函数 xx=[-pi:pi/200:pi]; xx=xx(xx~=0); xx=sort([xx,-eps,eps]);
Fourier级数的Matlab程序
yy=subs(f,x,xx);%计算f(x)的值 for i=1:20
[A,B,F]=fseries(f,x,n); y=subs(F,x,xx); subplot(4,5,n); plot(xx,yy);%画出f(x)的图像 hold on plot(xx,y);%画出Fourier级数的图像 end
K ex2dx 0
计算积分
21
( x1)2
练习:
e 2 dx,
0 2
e2t 2 x 2 1
dx
cost (2 x 2 3 x 1)2
符号求和
symsum(u,n,n0,nn): symsum(f,a,b): 关于默认变量求和
例:计算级数
S 1 及其前100项的部2 分和 n n 1
>> syms n; f=1/n^2;
>> S=symsum(f,n,1,inf)
>> S100=symsum(f,n,1,100)
数学实验MATLAB版课程设计
数学实验MATLAB版课程设计选题背景数学实验是数学教育中不可或缺的一部分。
随着科技的发展,各类软件工具也逐渐进入了数学实验领域。
MATLAB作为一款广泛应用于科技领域的数学计算软件,被越来越多的教师和学生所使用。
本课程设计旨在利用MATLAB软件,进行一系列有趣且具有实际意义的数学实验,以提高学生对数学的兴趣和实际应用能力。
选题内容本课程设计共包含以下三个实验项目:实验一:数学模型的建立与求解本实验旨在让学生了解数学模型的概念和建立方法,并通过MATLAB软件进行模型的求解。
具体步骤如下:1.学生自主选择一个实际问题,如某产品销售量的预测、某城市的交通流量分析等,并对问题进行分析,确定所需变量和关系。
2.学生利用所学知识建立相应的数学模型,并用MATLAB进行求解。
3.学生根据实际情况,对模型和求解结果进行分析和评价。
实验二:微积分理论的应用本实验旨在让学生了解微积分的基本理论和应用,以及MATLAB软件在微积分计算中的作用。
具体步骤如下:1.学生自主选择一个数学问题,如函数求极值、曲线积分计算等,并对问题进行分析。
2.学生利用所学知识,通过MATLAB软件进行计算和绘图,并对结果进行分析和评价。
实验三:离散数学的应用本实验旨在让学生了解离散数学的基本知识和应用,在MATLAB软件中实现离散数学的计算。
具体步骤如下:1.学生自主选择一个数学问题,如概率统计分析、图论问题等,并对问题进行分析。
2.学生利用所学知识,通过MATLAB软件进行计算和可视化,并对结果进行分析和评价。
实验要求1.学生需在规定时间内完成实验报告的撰写,并按要求提交。
2.学生需在实验前自行学习相关知识,具备独立思考和解决问题的能力。
3.学生需积极合作,认真对待实验和实验报告的撰写。
实验评估本课程设计采用综合评估方式,主要考虑以下四个方面:1.实验报告的撰写质量,包括实验目的、原理、步骤、结果和分析等。
2.实验过程中的表现,包括合作精神、独立思考能力、问题解决能力等。
matlab解微积分方程
matlab解微积分方程Matlab是一种功能强大的数值计算软件,可以用于解决各种数学问题,包括微积分方程。
微积分方程是描述自然界中许多现象的数学模型,它们在物理、化学、生物等领域有着广泛的应用。
本文将介绍如何使用Matlab解微积分方程。
我们需要明确什么是微积分方程。
微积分方程是包含未知函数及其导数的方程,通常可以写成形如y''(x) + p(x)y'(x) + q(x)y(x) = f(x)的形式。
其中y(x)是未知函数,p(x)、q(x)和f(x)是已知函数。
解微积分方程的过程可以分为两步:建立方程和求解方程。
建立方程是将实际问题转化为数学模型,而求解方程则是找到满足方程的函数。
在Matlab中,可以使用dsolve函数来求解微积分方程。
dsolve 函数可以根据方程的类型自动选择合适的求解方法,并给出满足方程的函数表达式。
例如,对于一阶线性微分方程dy/dx + p(x)y = q(x),可以使用以下代码求解:syms x y(x)p = input('请输入p(x)的表达式:'); % 输入p(x)的表达式q = input('请输入q(x)的表达式:'); % 输入q(x)的表达式eqn = diff(y,x) + p*y - q == 0; % 建立微分方程sol = dsolve(eqn); % 求解微分方程disp('方程的解为:');disp(sol);在以上代码中,首先使用syms命令定义符号变量x和y(x),然后使用input命令分别输入p(x)和q(x)的表达式。
接下来,使用diff 命令计算y'(x),然后将其代入微分方程中得到eqn。
最后,使用dsolve命令求解方程,并将结果存储在sol中,最后将结果打印出来。
对于更高阶的微积分方程,可以使用符号变量来表示未知函数及其导数的各阶,并按照相应的形式建立方程。
上机实验1:熟悉matlab基本操作
上机实验1:熟悉matlab基本操作实验目的:熟悉matlab的基本操作,掌握一些常用命令的用法。
实验内容:1.编写matlab命令(函数),可以完成以下任务:(1)matlab中的PI?(=Pi)大约等于?(2)如何使用sum命令?(3)函数max的作用?举例说明。
(4)命令help,lookfor,demo的用法?102? 5.Sin6(5)计算7.Tan62。
回答以下问题:(1)matlab是什么意思?(2)matlab命令who与whos有什么区别?(3)matlab命令clear与clc有什么区别?(4)命令:与linspace,logspace的区别?计算机实验2:矩阵运算与matlab命令实验目的:熟悉matlab矩阵运算命令。
实验内容:1.请直接在Matlab下输入以下常数,查看它们的值:(1)I,J,EPS(2)inf,Nan,PI(3)realmax(4)realmin2、使用lookfor指令,找出具有下列功能的matlab指令。
(1)求矩阵的大小(即行维度和列维度)(2)找出矩阵每一直行的最大值(3)对矩阵的每一直行进行排序(4)逆矩阵(inversematrix)的计算(5)求矩阵的rank几个常见的matlab命令:*zerooneseyelinspaceranddiag\\/detinveigrank计算机实验3:MATLAB程序设计实验目的:熟悉matlab程序控制结构,掌握用m文件或函数的编写方法。
实验内容:x2x6,x0且x??4?1、f(x)的定义如下:f(x)??x2?5x?6,0?x?10,x?2且x?3,写一个matlab函x2?十、1.其他人?数字func1实现该函数,并在区间[?10,15]内绘制该函数的图像。
2.编写一个matlab函数myfun M来计算以下方程式:y=0.5*exp(x/3)-x*x*sin(x)其中x是函数的输入,Y是函数的输出。
实验1 Matlab基本操作
实验1 Matlab基本操作一、实验目的1、熟悉MATLAB的实验环境;2、了解MATLAB产品族及主要功能;3、掌握MATLAB通用指令和常用快捷键;4、掌握MATLAB帮助系统。
二、实验原理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-文件。
3、图形窗口(The Figure Window)图形窗口用来显示MATLAB程序产生的图形。
图形可以是2维的、3维的数据图形,也可以是照片等。
三、系统的在线帮助help 命令①当不知系统有何帮助内容时,可直接输入help以寻求帮助:>> help(回车)②当想了解某一主题的内容时,如输入:>> help syntax (了解Matlab的语法规定)③当想了解某一具体的函数或命令的帮助信息时,如输入:>> help sqrt (了解函数sqrt的相关信息)lookfor命令现需要完成某一具体操作,不知有何命令或函数可以完成,如输入:>> lookfor line (查找与直线、线性问题有关的函数)四、实验内容1、运行 MATLAB 软件,观察 MATLAB 桌面环境的组成部分,设置不同的显示方式以及字体;2、观察 Launch Pad 中的内容,了解 MATLAB 产品族和常用工具箱;3、在命令窗口中输入demo,观察 MATLAB 自带的演示程序;4、练习使用 MATLAB 通用指令clear,clc, exit,quit,dir,ls,what,diary,format;5、在命令窗口或 M 文件编辑器中练习如下快捷键的使用:1) 上下方向键(直接使用和索引使用两种方式);2) Tab键;3) Home键;4) End键;5) Ctrl+R;6) Ctrl+T;7) Ctrl+I。
用MATLAB解微积分问题的实验报告4
>>xa=-2:0.2:2;ya=-2:0.5:2;[x,y]=meshgrid(xa,ya); >>z=x.*exp(-x.^2-y.^2); >>[px,py]=gradient(z,xa,ya); %画出函数的方向导数 >>contour(x,y,z),hold on,quiver(x,y,px,py),hold off 3.梯形积分法 指令: z=trapz (x, y) x 是表示积分区间的离散化向量; y 也是与 x 同 维数的向量,表示被积函数;z 返回积分近似值 实验原理:先将积分区间分解为几个小区间,用每个小区间上梯形 面积之和作为积分近似值 例如:求积分
2 2 2 2 xe(x +y ) dxdy 0 −2
和
������ 1 1 (ysint 0 0 −1
+ zcost) dtdydz
建立 M 文件,内容如下: fun=inline('x.*exp(x.^2+y.^2)','x','y'); dblquad(fun,0,2,-2,2) fun=inline('y.*sin(t)+z.*cos(t)','t','y','z'); triplequad(fun,0,pi,0,1,-1,1) 实验结果: (保存之后,运行结果如下: ) ans=881.8304
������, ������ ������������求解
������ ������−������ ������ ( −������ − ������−������ ������
������ ������ +������ ������
如何使用MATLAB求解微分方程学习资料
如何使用MATLAB求解微分方程学习资料MATLAB是一种强大的数值计算和科学编程平台,可以用于求解微分方程和微分方程组。
在使用MATLAB求解微分方程之前,需要掌握一些基础知识,包括MATLAB的基本语法和常用的求解微分方程的技术。
下面是一些学习资料和步骤,帮助您使用MATLAB求解微分方程。
1.学习MATLAB基本语法和操作:首先,您需要学习MATLAB的基本语法和常用操作。
您可以参考MATLAB的官方文档、教程和手册,以及MATLAB的在线资源和视频教程。
这些资源可以帮助您掌握MATLAB的基本操作,建立良好的编程习惯。
2.学习求解微分方程的方法:在使用MATLAB求解微分方程之前,您需要了解一些常用的求解微分方程的方法,例如数值方法和解析方法。
数值方法包括欧拉法、龙格-库塔法、四阶龙格-库塔法等;解析方法包括分离变量法、线性微分方程的常系数齐次法和非齐次法等。
您可以参考微积分的教科书、在线资源和视频教程,掌握这些方法。
3. 使用MATLAB求解一阶微分方程:一阶微分方程是最简单的微分方程形式。
您可以首先尝试使用MATLAB求解一阶微分方程。
MATLAB提供了几个函数来求解一阶微分方程,例如ode45、ode23、ode113等。
您可以使用这些函数来解决特定的一阶微分方程,并观察结果。
可以使用plot 函数绘制微分方程的解,以获得更直观的理解。
4.使用MATLAB求解高阶微分方程:一旦您熟悉了使用MATLAB求解一阶微分方程的方法,您可以尝试使用同样的方法来求解高阶微分方程。
在求解高阶微分方程时,您需要将其转化为一组一阶微分方程。
例如,对于二阶线性微分方程,您可以引入一个新的变量来表示未知函数的导数,然后将其转化为一组一阶微分方程。
然后,您可以使用相同的求解函数来求解这组一阶微分方程。
5. 使用MATLAB求解微分方程组:对于多元微分方程组,MATLAB提供了更多的函数来求解。
例如,ode45s可以用于求解刚体动力学方程,ode23t可以用于求解刚体动力学方程。
matlab基本符号运算和微积分
符号运算及运用MATLAB提供了与Maple语言的良好接口。
符号表达式符号表达式是代表数学、函数、算子和变量的字符串或字符串数组。
不要求变量有预先确定的值,符号方程式是含有等号的符号表达式。
MATLAB内部把符号表达式表示成字符串,以便与数字变量或者运算相区别。
符号常量是不含有变量的符号表达式。
在Matlab中符号变量和符号表达式可以通过sym和syms来创建。
符号变量或者表达式名=sym(‘字符串’)在sym中参数可以设置一些数学特性,如x=sym(‘x’,’real’)表示x为实型x=sym(‘x’,’unreal’)表示x为非实型S=sym(A,flag)表示A为r、d、e、或者f格式其中之一时,sym函数把它从数字向量或矩阵转变成符号对象形式。
创建符号矩阵>>M=[a,b;c,d]???Undefined function or variable ‘a’.>>M=’[a,b;c,d]’M=[a,b;c,d]>>M=sym(‘[a,b;c,d]’)M=[a,b][c,d]M以三种方式定义,分别是数字型、字符串型和符号矩阵型。
体会符号矩阵和字符串矩阵的区别>>cleara=sym(‘[A,B;C,D]’) %符号矩阵创建a=[A,B][C,D]>>b=[‘A,B;C,D’] %字符串矩阵b=A,B;C,D符号表达式函数操作 >>diff(‘cos(x)’) Ans= -sin(x)>>M=sym(‘[A,B;C,D]’) M= [A,B] [C,D] >>det(M) ans=A*D-B*C在matlab 中可以利用symvar 询问matlab 在符号表达式中认为哪一个变量是独立变量。
symvar (符号表达式)符号表达式的操作及代数运算用函数findsym(f,n)来确定符号表达式f 的自由变量和自由变量的个数。
MATLAB实验一:运算基础实验报告
MATLAB实验报告
心得
本次实验是我们MA TLAB程序设计课程的第一次实验,虽然对MATLAB软件的运用还不是很熟练,但通过老师的讲解和对课本例题的分析,实验还是一步步地完成了,实验中遇到了一些难题,如:1(3)的求各点的函数值时,应该用点乘运算,开始时没有用点乘而得不出结果,老师提示错误,浪费了一些时间;另外,4中的find和length函数也不熟悉应用,也花了一点时间了解。
这些问题经过老师的讲解与和同学的交流一个个的解决了,也得出了实验结果。
本次实验基本达到了实验要求,同时通过此次实验,掌握了MA TLAB的基本使用,颇有收获。
另附MATLAB工作空间使用情况截图:。
MATLAB求解微分方程(实验1)
实验内容
1、求简单微分方程的解析解. 2、求微分方程的数值解.
实验软件
MATLAB
2
微分方程的解析解
求微分方程(组)的解析解命令: dsolve(‘方程1’, ‘方程2’,…‘方程n’, ‘初始条件’, ‘自变量’)
记号: 在表达微分方程时,用字母 D 表示求微分,D2、D3 等 表示求高阶微分。任何 D 后所跟的字母为因变量,自变量可以 指定或由系统规则选定为缺省。
然后继续下一步 i 2 的计算。 y
此即改进的欧拉法。
12
3、使用泰勒公式 以此方法为基础,有龙格-库塔法、线性多步法等方 法。 4、数值公式的精度 当一个数值公式的截断误差可表示为O(hk+1)时 (k为正整数,h为步长),称它是一个k阶公式。 k越大,则数值公式的精度越高。
•欧拉法是一阶公式,改进的欧拉法是二阶公式。
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的图形为“+”线. 18
例9
Van der pol 方程:
返 回
10
(二)建立数值解法的一些途径
设 x i 1 x i h, i 0,1,2, n 1, 可用以下离散化方法求 解微分方程: y' f ( x,y) y ( x 0 ) y0
1、用差商代替导数 若步长h较小,则有
y ( x h) y ( x ) y ' ( x) h
实验一Matlab运算基础
利用不同的方法对 =z
x2 − y2 16 9
在(-3,3)上的二维插值效果
进行比较。
三、实验总结
结合平时生活、学习经验,体会本次实验各种 方法的用处和重要性。
实验六 Matlab的基本应用3: 常微分方程求解
一、实验目的
1、学会用Matlab进行常微分方程的求解、 随机试验和统计作图
2、掌握相关数据分析函数库的内容
quit或exit
关闭/推出MATALB
二、实验内容
矩阵创建
直接输入 用语句生成 矩阵连接 创建矩阵函数 矩阵操作 复数
矩阵运算 元素群运算
P86, 4.1,4.2, 4.3,4.10
三、实验分析
1 2 3
4 6 8
矩阵A= 4 5 6 ,B= 5 5 6
7 8 9
3 2 2
(1)计算A*B, A.*B, 并比较两者的区别? (2)expm,sqrtm,logm与exp,sqrt,log的区别?
二、实验内容
(1)已知矩阵A=
5 9
2 1
,B=
1 9
2 2
,
做简单的关系运算A>B, A==B, A<B, 并做逻辑 运算(A==B)&(A<B), (A==B)&(A>B)。
(2)编写程序(分别用for 和while),实现:
用公式 π =1− 1 + 1 − 1 +…… 求π 的近似值,
4 357
直到某一项的绝对值小于10-6 为止。
三、实验分析与总结
对流程控制语句和结构进行分析和总结。
实验三 Matlab绘图
一、实验目的
1、了解并掌握matlab的基本绘图
matlab微积分运算命令与例题
对符号函数求 n 阶导 格式:diff(f ,n),其中 f 是符号函数。
1
例 3:求 f (x) (ax tg3x) 2 sin x cos(bx) 的一阶、二阶导数。
解:Matlab 命令为:syms a b x↙ y=(a*x+tan(3*x))^(1/2)+sin(x)*cos(b*x);↙ y1=diff(y);↙ y2=diff(y,2);↙ disp('一阶导数为:'),pretty(y1)↙ 一阶导数为:
2 1/2
(-12 pi a + 9 b )
4 求定积分
定积分的计算是实际问题中经常遇到的问题,定积分计算同样也是较费时间的事情,而 且有时还会遇到因求不出原函数而积不出结果的情况,这些在 Matlab 中,也只要输入一个 命令就可以快速求出定积分值来。
4.1 定积分的符号解法 指令:int(f,v,a,b) f 是被积函数,表示对变量 v 求区间[a,b]上的定积分。
x
e
t
2
dx
2
例 2:求 lim 0
x0
x
t et2
2
dx
0
解:Matlab 命令为:syms t x↙ y1=exp(t^2);y2=t*y1^2;↙ r1=int(y1,t,0,x);r2=int(y2,t,0,x);↙ f=r1^2/r2;↙ limit(f,x,0)↙
ans =
2
x2
解:Matlab 命令为:syms x↙ y=5*x+log(sin(x)+exp(sin(x)));↙ limit(y,x,3,'left')↙ ans = 15+log(sin(3)*exp(-sin(3))+1)+sin(3)
实验一Matlab基本操作及运算
实验一Matlab基本操作及运算实验一Matlab基本操作及运算一、实验目的:1.熟悉MATLAB基本操作2.掌握矩阵、变量、表达式的各种基本运算二、实验基本知识:1.熟悉MATLAB环境熟悉MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器文件和搜索路径浏览器。
2.掌握MATLAB常用命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英文字母开头(3)长度不大于31个(4)区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。
MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算4. MATLAB的一维、二维数组的访问表6 子数组访问与赋值常用的相关指令格式5. MATLAB的基本运算表7 两种运算指令形式和实质内涵的异同表6.MATLAB的常用函数表8 标准数组生成函数表9 数组操作函数7.多项式运算poly——产生特征多项式系数向量roots——求多项式的根p=poly2str(c,‘x’)—(将特征多项式系数向量c转换为以习惯方式显示是多项式)conv, convs——多项式乘运算deconv——多项式除运算polyder(p)——求p的微分polyder(a, b)——求多项式a,b乘积的微分[p,q]=polyder(p1,p2)——求解多项式p1/p2微分的有理分式poly(p,A)——按数组运算规则求多项式p在自变量A的值polym(p,A)——按矩阵运算规则求多项式p在自变量A的值三、实验内容1、新建一个文件夹(自己的名字命名)2、启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
方法如下:3、保存,关闭对话框(要求抓取自己实验的图,插入到自己的实验报告中)4、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)5、使用clc 、clear ,观察command window 、command history 和workspace等窗口的变化结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一Matlab基本操作与微积分计算实验目的1.进一步理解导数概念及其几何意义.2.学习matlab的求导命令与求导法.3.通过本实验加深理解积分理论中分割、近似、求和、取极限的思想方法.4.学习并掌握用matlab求不定积分、定积分、二重积分、曲线积分的方法.5.学习matlab命令sum、symsum与int.实验内容一、变量1、变量MA TLAB中变量的命名规则是:(1)变量名必须是不含空格的单个词;(2)变量名区分大小写;(3)变量名最多不超过19个字符;(4)变量名必须以字母打头,之后可以是任意字母、数字或下划线,变量名中不允许使用标点符号.1、创建简单的数组x=[a b c d e f ]创建包含指定元素的行向量x=first:step: last创建从first起,逐步加step计数,last结束的行向量, step缺省默认值为1x=linspace(first,last,n)创建从first开始,到last结束,有n个元素的行向量x=logspace(first,last,n)创建从first开始,到last结束,有n个元素的对数分隔行向量.注:以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素.2、数组元素的访问(1)访问一个元素: x(i)表示访问数组x的第i个元素.(2)访问一块元素: x(a :b :c)表示访问数组x的从第a个元素开始,以步长为b到第c个元素(但不超过c),b可以为负数,b缺损时为1.(3)直接使用元素编址序号: x ([a b c d]) 表示提取数组x的第a、b、c、d个元素构成一个新的数组[x (a) x (b) x(c) x(d)].3、数组的运算(1)标量-数组运算数组对标量的加、减、乘、除、乘方是数组的每个元素对该标量施加相应的加、减、乘、除、乘方运算.设:a=[a1,a2,…,an], c=标量, 则:a+c=[a1+c,a2+c,…,an+c]a .*c=[a1*c,a2*c,…,an*c]a ./c= [a1/c,a2/c,…,an/c](右除)a .\c= [c/a1,c/a2,…,c/an] (左除)a .^c= [a1^c,a2^c,…,an^c]c .^a= [c^a1,c^a2,…,c^an](2)数组-数组运算当两个数组有相同维数时,加、减、乘、除、幂运算可按元素对元素方式进行的,不同大小或维数的数组是不能进行运算的.设: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]三、矩阵1、矩阵的建立矩阵直接输入:从“[ ” 开始,元素之间用逗号“,”(或空格),行之间用分号“;”(或回车),用“ ]”结束.特殊矩阵的建立:a=[ ] 产生一个空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵的大小为零.b=zeros (m,n) 产生一个m行、n列的零矩阵c=ones (m,n) 产生一个m行、n列的元素全为1的矩阵d=eye (m,n) 产生一个m行、n列的单位矩阵eye (n) %生成n维的单位向量eye (size (A)) %生成与A同维的单位阵2、矩阵中元素的操作(1)矩阵A的第r行A(r,:)(2)矩阵A的第r列A(:,r)(3)依次提取矩阵A的每一列,将A拉伸为一个列向量A(:)(4)取矩阵A的第i1~i2行、第j1~j2列构成新矩阵:A(i1:i2, j1:j2)(5)以逆序提取矩阵A的第i1~i2行,构成新矩阵:A(i2:-1:i1,:)(6)以逆序提取矩阵A的第j1~j2列,构成新矩阵:A(:, j2:-1:j1 )(7)删除A的第i1~i2行,构成新矩阵:A(i1:i2,:)=[ ](8)删除A的第j1~j2列,构成新矩阵:A(:, j1:j2)=[ ](9)将矩阵A和B拼接成新矩阵:[A B];[A;B]3、矩阵的运算(1)标量-矩阵运算同标量-数组运算.(2)矩阵-矩阵运算a. 元素对元素的运算,同数组-数组运算.(A/B %A右除B; B\A%A左除B)b. 矩阵运算:矩阵加法:A+B矩阵乘法:A*B方阵的行列式:det(A)方阵的逆:inv(A)方阵的特征值与特征向量:[V ,D]=eig[A] A 的转置 A ’A 的n 次幂A^n 四、导数及偏导数计算 1.学习matlab 命令.建立符号变量命令sym 和syms 调用格式: x=sym(‘x’), 建立符号变量x ;syms x y z , 建立多个符号变量x,y,z ; matlab 求导命令diff 调用格式:diff (函数()f x ) , 求()f x 的一阶导数()f x '; diff (函数()f x , n ) , 求()f x 的n 阶导数()()n fx (n 是具体整数);diff (函数(,)f x y ,变量名x ), 求(,)f x y 对x 的偏导数f x∂∂;diff (函数(,)f x y , 变量名x ,n ) ,求(,)f x y 对x 的n 阶偏导数nn fx∂∂;matlab 求雅可比矩阵命令jacobian ,调用格式:jacobian ([(,,)f x y z ;(,,)g x y z ;(,,)h x y z ], [,,x y z ])给出: f f f x y z g g g x y z h h h xyz ⎛⎫∂∂∂ ⎪∂∂∂ ⎪⎪∂∂∂⎪∂∂∂ ⎪ ⎪∂∂∂ ⎪∂∂∂⎝⎭2.求一元函数的导数. (1)()y f x =的一阶导数.例1.1 设()x f x e =,用定义计算(0)f '. 解:()f x 在某一点0x 的导数定义为极限: 000()()limx f x x f x x∆→+∆-∆我们记h x =∆,输入命令:syms h;limit((exp(0+h)-exp(0))/h,h,0) 得结果:ans=1.可知(0)1f '= 例1.2 求ln(sin )y x =的导数. 解: 输入命令:dy_dx=diff(log(sin(x))). 得结果:dy_dx=cos(x)/sin(x).在matlab 中,函数x ln 用log(x)表示,而log10(x)表示x lg .例1.3 求下列函数的导数: %利用matlab 命令diff 一次可以求出若干个函数的导数.1.1y =2.22cos 2cos 2y x x =+.3.xy sin 34=.4.xyln 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)].由本例可以看出,matlab 函数是对矩阵或向量进行操作的,a(i)表示向量a 的第i 个分量.函数向量的第i 个函数的导数为导数向量中对应的元素。
(2)参数方程所确定的函数的导数.设参数方程()()x x t y y t =⎧⎨=⎩确定函数()y f x =,则y 的导数()()dy y t dxx t '='.例1.4.设(sin )(1cos )x a t t y a t =-⎧⎨=-⎩,求d y d x.解: 输入命令: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)). 其中分号的作用是不显示结果.3.求多元函数的偏导数.例1.5 设 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] 给出矩阵,u u x y ⎛⎫∂∂⎪∂∂⎝⎭. 例1.6 求下列函数的偏导数: 1.1()yz arctg x=.2.2yz 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)]. 4.求高阶导数或高阶偏导数.例1.7 设22()x f x x e = ,求(20)()fx . 解:输入指令:diff(x^2*exp(2*x),x,20). 得结果: ans =99614720*exp(2*x)+20971520*x*exp(2*x)+1048576*x^2*exp(2*x)例1.8 设642232z x y x y =-+,求22222,,z z z x y x y∂∂∂∂∂∂∂.解:输入命令:diff(x^6-3*y^4+2*x^2*y^2,x,2) 可得到22zx∂∂: ans=30*x^4+4*y^2. diff(x^6-3*y^4+2*x^2*y^2,y,2)得22zy∂∂: ans=-36*y^2+4*x^2.输入命令: diff(diff(x^6-3*y^4+2*x^2*y^2,x),y)可得2z x y∂∂∂: ans=8*x*y同学们可自己计算2z y x∂∂∂比较它们的结果.注意命令:diff(x^6-3*y^4+2*x^2*y^2,x,y),是对y 求偏导数,不是求2z x y∂∂∂.5.求隐函数所确定函数的导数或偏导数 例1.9 设ln y xx ee -+=,求d y d x解:(,)ln y xF x y x ee -=+-,先求x F ',再求y F '.输入命令: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) 得到y F ':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).例1.10.设sin()cos()()0xy yz tg xz ++= ,求,z zx y∂∂∂∂解:()sin()cos()()F x xy yz tg xz =++ 输入命令:a=jacobian(sin(x*y)+cos(y*z)+tan(z*x),[x,y,z]) 可得向量(),,x y z F 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 学习matlab 命令(1)求和命令sum 调用格式.sum(x),给出向量x 的各个元素的累加和,如果x 是矩阵,则sum(x)是一个元素为x 的每列列和的行向量. sum(x,2) 得行和向量。