matlab学习指导实战方案Word文件下载.docx

上传人:b****4 文档编号:8063840 上传时间:2023-05-10 格式:DOCX 页数:13 大小:18.14KB
下载 相关 举报
matlab学习指导实战方案Word文件下载.docx_第1页
第1页 / 共13页
matlab学习指导实战方案Word文件下载.docx_第2页
第2页 / 共13页
matlab学习指导实战方案Word文件下载.docx_第3页
第3页 / 共13页
matlab学习指导实战方案Word文件下载.docx_第4页
第4页 / 共13页
matlab学习指导实战方案Word文件下载.docx_第5页
第5页 / 共13页
matlab学习指导实战方案Word文件下载.docx_第6页
第6页 / 共13页
matlab学习指导实战方案Word文件下载.docx_第7页
第7页 / 共13页
matlab学习指导实战方案Word文件下载.docx_第8页
第8页 / 共13页
matlab学习指导实战方案Word文件下载.docx_第9页
第9页 / 共13页
matlab学习指导实战方案Word文件下载.docx_第10页
第10页 / 共13页
matlab学习指导实战方案Word文件下载.docx_第11页
第11页 / 共13页
matlab学习指导实战方案Word文件下载.docx_第12页
第12页 / 共13页
matlab学习指导实战方案Word文件下载.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

matlab学习指导实战方案Word文件下载.docx

《matlab学习指导实战方案Word文件下载.docx》由会员分享,可在线阅读,更多相关《matlab学习指导实战方案Word文件下载.docx(13页珍藏版)》请在冰点文库上搜索。

matlab学习指导实战方案Word文件下载.docx

limit((exp(0+h)-exp(0))/h,h,0)

得结果:

ans=1.可知

(2)导数的几何意义是曲线的切线斜率.

例3.2.画出在处()的切线及若干条割线,观察割线的变化趋势.

在曲线上另取一点,则的方程是:

.即

取,分别作出几条割线.

h=[3,2,1,0.1,0.01];

a=(exp(h)-1)./h;

x=-1:

0.1:

3;

plot(x,exp(x),’r’);

holdon

fori=1:

5;

plot(h(i),exp(h(i)),’r.’)

plot(x,a(i)*x+1)

end

axissquare

作出在处的切线

  plot(x,x+1,’r’)

从图上看,随着与越来越接近,割线越来越接近曲线的割线.

3.求一元函数的导数.

(1)的一阶导数.

例3.3.求的导数.

打开matlab指令窗,输入指令:

dy_dx=diff(sin(x)/x).

dy_dx=cos(x)/x-sin(x)/x^2.

matlab的函数名允许使用字母、空格、下划线及数字,不允许使用其他字符,在这里我们用dy_dx表示.

例3.4.求的导数.

输入命令:

dy_dx=diff(log(sin(x))).

dy_dx=cos(x)/sin(x).

在matlab中,函数用log(x)表示,而log10(x)表示.

例3.5.求的导数.

dy_dx=diff((x^2+2*x)^20).

dy_dx=20*(x^2+2*x)^19*(2*x+2).

注意输入时应为2*x.

例3.6.求的导数.

dy_dx=diff(x^x).

dy_dx=x^x*(log(x)+1).

利用matlab命令diff一次可以求出若干个函数的导数.

例3.7.求下列函数的导数:

1..

2..

3..

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)参数方程所确定的函数的导数.

设参数方程确定函数,则的导数.

例3.8.设,求.

解:

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=求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),[xy]).

ans=[1/(x^2+y^2+z^2)^(1/2)*x,1/(x^2+y^2+z^2)^(1/2)*y]

给出矩阵.

例3.10.求下列函数的偏导数:

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.设,求.

输入指令:

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.设,求.

diff(x^6-3*y^4+2*x^2*y^2,x,2)

可得到:

ans=30*x^4+4*y^2.

将命令中最后一个x换为y得:

ans=-36*y^2+4*x^2.

diff(diff(x^6-3*y^4+2*x^2*y^2,x),y)

可得:

ans=8*x*y

同学们可自己计算比较它们的结果.

注意命令:

diff(x^6-3*y^4+2*x^2*y^2,x,y),是对y求偏导数,不是求.

6.求隐函数所确定函数的导数或偏导数

例3.13.设,求

,先求,再求.

df_dx=diff(log(x)+exp(-y/x)-exp

(1),x)

得到:

df_dx=1/x+y/x^2*exp(-y/x).

df_dy=diff(log(x)+exp(-y/x)-exp

(1),y)

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.设,求

a=jacobian(sin(x*y)+cos(y*z)+tan(z*x),[x,y,z])

可得矩阵

[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求矩阵的秩命令.

  2.掌握matlab求方阵的行列式命令.

  3.理解逆矩阵概念,掌握matlab求逆矩阵命令.

  4.会用matlab求解线性方程组.

实验内容:

  1.矩阵的秩.

  指令rank(A)将给出矩阵A的秩.

  例1:

a=[32-1-3-2;

2-131-3;

705-1-8]

a=

32-1-3-2

2-131-3

705-1-8

rank(a)

ans=

2

  2.方阵的行列式.

  指令det(A)给出方阵A的行列式.

  例2:

b=[1234;

2341;

3412;

4123];

det(b)

160

det(b'

c=b;

c(:

1)=2*b(:

1);

det(c)

320

det(b(:

[3214]))

-160

d=b;

d(2,:

);

det(d)

  你能解释上例中的运算结果吗?

在这里我们实际上验证了行列式的性质.

  3.逆矩阵

  指令inv(A)给出方阵A的逆矩阵,如果A不可逆,则inv(A)给出的矩阵的元素都是Inf.

例3:

设,求的逆矩阵.

解:

输入指令:

A=[123;

221;

343];

B=inv(A)

B=

1.00003.0000-2.0000

-1.5000-3.00002.5000

1.00001.0000-1.0000

  还可以用伴随矩阵求逆矩阵,打开m文件编辑器,建立一个名为companm的M-文件文件内容为:

functiony=companm(x)

[n,m]=size(x);

y=[];

forj=1:

n;

a=[];

x1=det(x([1:

i-1,i+1:

n],[1:

j-1,j+1:

n]))*(-1)^(i+j);

a=[a,x1];

y=[y;

a];

利用该函数可以求出一个矩阵的伴随矩阵.

输入命令:

C=1/det(A)*companm(A)

C=

  利用初等变换也可以求出逆矩阵,构造n行2n列的矩阵(AE),并进行行初等变换,当把A变为单位矩阵时,E就变成了A的逆矩阵.利用matlab命令rref可以求出矩阵的行简化阶梯形.输入命令:

D=[A,eye(3)]

D=

123100

221010

343001

rref(D)

1.0000001.00003.0000-2.0000

01.00000-1.5000-3.00002.5000

001.00001.00001.0000-1.0000

  线性方程组的求解是用矩阵除来完成的,,当且可逆时,给出唯一解.这时矩阵除相当于;

当时,矩阵除给出方程的最小二乘解;

当时,矩阵除给出方程的最小范数解.

例4:

解方程组:

输入命令:

a=[1-112;

11-21;

1110;

101-1];

b=[1;

1;

2;

1];

x=a\b

x=

0.8333

0.7500

0.4167

0.2500

z=inv(a)*b

z=

0.2500

例5:

方程的个数和未知数不相等,用消去法,将增广矩阵化为行简化阶梯形,如果系数矩阵的秩不等于增广矩阵的秩,则方程组无解;

如果系数矩阵的秩等于增广矩阵的秩,则方程组有解,方程组的解就是行简化阶梯形所对应的方程组的解.输入命令:

a=[211-1-22;

1-121-14;

2-343-18];

rref(a)

100000

010-1-10

0010-12

由结果看出,,为自由未知量,方程组的解为:

      

例6:

 解:

a=[1-1-11;

1-11-3;

1-10-1;

1-1-23];

1-10-1

001-2

0000

0000

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2