MATLAB04数值计算.docx

上传人:b****7 文档编号:8618897 上传时间:2023-02-01 格式:DOCX 页数:14 大小:196.46KB
下载 相关 举报
MATLAB04数值计算.docx_第1页
第1页 / 共14页
MATLAB04数值计算.docx_第2页
第2页 / 共14页
MATLAB04数值计算.docx_第3页
第3页 / 共14页
MATLAB04数值计算.docx_第4页
第4页 / 共14页
MATLAB04数值计算.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

MATLAB04数值计算.docx

《MATLAB04数值计算.docx》由会员分享,可在线阅读,更多相关《MATLAB04数值计算.docx(14页珍藏版)》请在冰豆网上搜索。

MATLAB04数值计算.docx

MATLAB04数值计算

数值计算

一、概念

1、两种计算方式

(1)数值计算

(2)符号计算

2、数值问题

(1)0.1+0.2==0.3?

(2)不能准确描述邻域

(3)没有数值求极限函数

(4)没有数值求导数函数

3、

二、知识点

1、HelpBrowser

(1)operator

(2)datatype

2、数据可视化

(1)plot

(2)subplot

3、匿名函数

(1)@(x)(sin(x)+cos(x))

(2)FH=@(x)(sin(x)+cos(x))

4、浮点数体系(IEEE754)

(1)一般数

(2)±0

(3)±Inf

(4)NaN

5、微积分、矩阵和代数方程、多项式运算、拟合和最小二乘、插值和样条、Fourier分析、微分方程

6、【选学】随机数发生和统计、卷积、优化计算

三、练习题

1、【4.2.1】数值极限

【例4.2-1】设

,由分析知

试用数值法求这两个函数的极限

(1)

k=logspace(0,14,15);

x=k*eps;

f1=(1-cos(2.*x))./x./sin(x)/2;

f2=sin(x)./x;

formatshorte

disp([blanks(7),'x',blanks(11),'f1',blanks(11),'f2'])

disp([x',f1',f2'])

clf

n1=sum(f1<10^-10);

subplot(2,1,1)

semilogx(x(1:

n1),f1(1:

n1),'ro','LineWidth',3)

holdon

semilogx(x(n1+1:

end),f1(n1+1:

end),'b.-','LineWidth',3)

holdoff

text(10^-14,0.2,'错误区段'),text(10^-6,0.8,'正确区段')

axis([10^-20,1,0,1.1])

gridon

title('f2')

subplot(2,1,2)

semilogx(x,f2,'b.-','LineWidth',3)

axis([10^-20,1,0,1.1])

title('f1')

xlabel('x')

gridon

shg

(2)

symst

fs1=(1-cos(2*t))/(t*sin(t))/2;

fs2=sin(t)/t;

Ls1=limit(fs1,t,0)

Ls2=limit(fs2,t,0)

2、【4.2.2】数值差分

【例4.2-2】在区间[0,3]内,计算函数

的两点前向差分和内点中心差分,并绘制相应的图形。

clf

h=0.5;

x=0:

h:

3;

f=4-(x-2).^2;

df=diff(f);

gf=gradient(f);

subplot(2,1,1)

holdon

plot(x,f,'r.-')

x1=x(1:

end-1);

plot(x1,df,'bo-')

legend('f','df')

text(1,3.4,'f3'),text(1.5,4.2,'f4')

text(1.05,1.1,'df3=f4-f3')

axis([-1,4,-2,5])

xlabel('x')

boxon

holdoff

subplot(2,1,2)

holdon

plot(x,f,'r.-')

plot(x1,df,'bo-')

plot(x,gf,'k*-')

legend('f','df','gf')

text(0,-0.5,'f1'),text(2.9,2.4,'f7')

text(-0.45,2.2,'gf1=f2-f1'),text(3,-0.3,'gf7=f7-f6')

text(0.5,2.3,'f2'),text(1.5,4.2,'f4')

text(1.05,1.3,'gf3=(f4-f2)/2')

axis([-1,4,-2,5])

xlabel('x')

boxon

holdoff

shg

3、【4.2.3】数值积分

【例4.2-3】以

为被积函数,在

区间,使用quad指令计算积分

被积函数中的

是可调参数。

(1)

clear

formatlong

a=1.5;

y1=@(t)cos(1./(a*t.^2));%<4>

S1=quad(y1,0.2,0.3)

4、【例4.2-4】求曲线

所夹区域的面积。

(1)

formatlong

f1=@(x)sqrt(x);

f2=@(x)x.^3;%<3>

s1=quad(f1,0,1);

s2=quad(f2,0,1);

S=s1-s2

(2)利用quadv指令计算

f=@(x)[sqrt(x),x.^3];

s=quadv(f,0,1);

Sv=s

(1)-s

(2)

5、【例4.2-5】求积分

,其中

(1)

formatlong

x1=linspace(0,pi,100);

x1

(1)=realmin;%<3>

y1=sin(x1)./x1;

S_t1=trapz(x1,y1),

(2)

x2=linspace(0,pi,200);%<6>

x2

(1)=realmin;%<7>

y2=sin(x2)./x2;

S_t2=trapz(x2,y2)

E_t1=abs(S_t2-S_t1)%<9>

(3)

ys=@(x)(sin(x)./x);%<10>

S_simposon=quad(ys,0,pi,1e-7)

(4)

symsx

S_sym=vpa(int(sin(x)/x,0,pi))

6、【4.2.4】多重数值积分

【例4.2-8】计算

1)

symsxy

ssx01=vpa(int(int(x^y,x,0,1),y,1,2))

ssx12=vpa(int(int(x^y,x,1,2),y,0,1))

(2)

zz=inline('x.^y','x','y');

nsx01=dblquad(zz,0,1,1,2)

nsx12=dblquad(zz,1,2,0,1)

7、【4.3.1】矩阵运算和特征参数

【例4.3-1】观察矩阵的转置操作和数组转置操作的差别。

formatrat

A=magic

(2)+j*pascal

(2)

A1=A'

A2=A.'

B1=A*A'

B2=A.*A'

C1=A*A.'

C2=A.*A.'

8、【例4.3-2】矩阵标量特征参数计算示例。

A=reshape(1:

9,3,3)

r=rank(A)

d3=det(A)

d2=det(A(1:

2,1:

2))

t=trace(A)

9、【例4.4-1】简单实阵的特征值分解及特征值阵的“复/实转换”。

A=[1,-3;2,2/3];

d=eig(A)

[V,D]=eig(A)

10、【4.5.1】求解线性方程的相关指令

【例4.5-1】“求逆”法和“左除”法解恰定方程的性能对比。

A=gallery('randsvd',100,2e13,2);

x=ones(100,1);

b=A*x;

xi=inv(A)*b

tic;xd=A\b

11、【4.5.4】一般代数方程的解。

【例4.5-3】求

的零点。

(1)

S=solve('sin(t)^2*exp(-0.1*t)-0.5*abs(t)','t')

(2)

YC=@(t)(sin(t).^2.*exp(-0.1*t)-0.5*abs(t));

(3)

t=-10:

0.01:

10;

Y=YC(t);

clf,

plot(t,Y,'r');

holdon

plot(t,zeros(size(t)),'k');

xlabel('t');ylabel('y(t)')

holdoff

图4.5-1函数零点分布观察图

(4)

zoomon

[tt,yy]=ginput(5);zoomoff

图4.5-2局部放大和利用鼠标取值图

tt

(5)

[t4,y4]=fzero(YC,0.1)

12、【4.7.1】多项式的运算函数

【例4.7-1】求

的“商”及“余”多项式。

(1)

formatrat

p1=conv([1,0,2],conv([1,4],[1,1]));%<2>

p2=[1011];

[q,r]=deconv(p1,p2);

cq='商多项式为';cr='余多项式为';

disp([cq,poly2str(q,'s')]),disp([cr,poly2str(r,'s')])%<6>

(2)

qp2=conv(q,p2);

pp1=qp2+[zeros(1,length(qp2)-length(r)),r];%<8>

pp1==p1

13、【例4.7-2】矩阵和特征多项式,特征值和多项式根。

(1)

A=[111213;141516;171819];

PA=poly(A)%<2>

PPA=poly2str(PA,'s')

(2)

s=eig(A)

r=roots(PA)

14、【例4.7-3】构造指定特征根的多项式。

R=[-0.5,-0.3+0.4*i,-0.3-0.4*i];

P=poly(R)

PPR=poly2str(PR,'x')

15、【例4.7-4】多项式求值指令polyval与polyvalm的本质差别。

(1)

clear

p=[1,2,3];

disp(['给定多项式为',poly2str(p,'x')])

X=[1,2;3,4]

(2)

va=X.^2+2*X+3%<5>

Va=polyval(p,X)

(3)

vm=X^2+2*X+3*eye

(2)%<7>

Vm=polyvalm(p,X)

(4)

cp=poly(X);

disp(['矩阵X的特征多项式为',poly2str(cp,'x')])

cpXa=polyval(cp,X)

cpX=polyvalm(cp,X)

四、函数列表

函数名

功能

plot(x,y,s,p)

画图

semilogx(x,y,s,p)

对x轴数据取以10为底的对数,再plot

subplot(x,y,z)

分割图形窗口

diff(F)

两点前向差分

gradient(F)

内点中心差分

trapz(x,y)

梯形法求积分

quad(fun,a,b,tol)

递推自适应辛普森法求误差不大于tol的函数fun的定积分近似值

quadv(fun,a,b,tol)

求被积函数数组的积分

五、习题

1、设

(1)求

的实数根。

(2)求

(3)求

使得

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

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1