哈工大MATLAB选修课第二次matlab作业.docx

上传人:b****8 文档编号:12814329 上传时间:2023-06-08 格式:DOCX 页数:16 大小:239.81KB
下载 相关 举报
哈工大MATLAB选修课第二次matlab作业.docx_第1页
第1页 / 共16页
哈工大MATLAB选修课第二次matlab作业.docx_第2页
第2页 / 共16页
哈工大MATLAB选修课第二次matlab作业.docx_第3页
第3页 / 共16页
哈工大MATLAB选修课第二次matlab作业.docx_第4页
第4页 / 共16页
哈工大MATLAB选修课第二次matlab作业.docx_第5页
第5页 / 共16页
哈工大MATLAB选修课第二次matlab作业.docx_第6页
第6页 / 共16页
哈工大MATLAB选修课第二次matlab作业.docx_第7页
第7页 / 共16页
哈工大MATLAB选修课第二次matlab作业.docx_第8页
第8页 / 共16页
哈工大MATLAB选修课第二次matlab作业.docx_第9页
第9页 / 共16页
哈工大MATLAB选修课第二次matlab作业.docx_第10页
第10页 / 共16页
哈工大MATLAB选修课第二次matlab作业.docx_第11页
第11页 / 共16页
哈工大MATLAB选修课第二次matlab作业.docx_第12页
第12页 / 共16页
哈工大MATLAB选修课第二次matlab作业.docx_第13页
第13页 / 共16页
哈工大MATLAB选修课第二次matlab作业.docx_第14页
第14页 / 共16页
哈工大MATLAB选修课第二次matlab作业.docx_第15页
第15页 / 共16页
哈工大MATLAB选修课第二次matlab作业.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

哈工大MATLAB选修课第二次matlab作业.docx

《哈工大MATLAB选修课第二次matlab作业.docx》由会员分享,可在线阅读,更多相关《哈工大MATLAB选修课第二次matlab作业.docx(16页珍藏版)》请在冰点文库上搜索。

哈工大MATLAB选修课第二次matlab作业.docx

哈工大MATLAB选修课第二次matlab作业

1.表1用三次样条方法插值计算0-90度内整数点的sin值和0-75度内整数点的

正切值,然后用5次多项式拟合方法计算相同的函数。

a(度)0153045607590

Sin(a)00.25880.50000.70710.86600.96591.0000

tan(a)00.26790.57741.00001.73203.732

解:

分别对应的程序如下:

正弦函数:

x=pi*(0:

90)/180;

y=sin(x);

xx=pi*(0:

.25:

90)/180;

yy=spline(x,y,xx);

plot(x,y,'o',xx,yy)

正切函数:

x=pi*(0:

75)/180;

y=tan(x);

xx=pi*(0:

.25:

75)/180;

yy=spline(x,y,xx);

plot(x,y,'o',xx,yy)

正弦拟合:

figure

x=pi*(0:

15:

90)/180;

y=[0,0.2588,0.5,0.7071,0.866,0.9659,1.0];

xx=pi*(1:

0.05:

90)/180;

p2=polyfit(x,y,5);

yy=polyval(p2,xx);

plot(x,y,'-ro',xx,yy);

正切拟合:

figure

x=pi*(0:

15:

75)/180;

y=[0,0.2679,0.5774,1,1.732,3.732];

xx=pi*(1:

0.05:

75)/180;

p2=polyfit(x,y,5);

yy=polyval(p2,xx);

plot(x,y,'-ro',xx,yy);

legend('描点显示','五次拟合')

2.采用最近点法、线性法和3次样条法插值计算1-100整数间平方根

n149162536496481100

Sqtr(n)12345678910

解:

程序如下:

x=[1,4,9,16,25,36,49,64,81,100];

y=[1,2,3,4,5,6,7,8,9,10];

xx=1:

100;

yy=interp1(x,y,xx)

subplot(2,2,1)

plot(x,y,'-ro',xx,yy,'dr');

title('线性法');

subplot(2,2,2);

y2=interp1(x,y,xx,'nearest');

plot(x,y,'-ro',xx,y2,'dr');

title('最近点法')

subplot(2,2,3);

y3=interp1(x,y,xx,'spline');

plot(x,y,'-ro',xx,y3,'dr');

title('3次样条法')

仿真的结果:

3.已知p(x)=2x^4-3x^3+5x+13,求p(x)的全部根,由方程p(x)=0的根构造

一个多项式f(x),并和p(x)比较。

解:

程序如下:

P=[2,-3,0,5,13];

Y=poly2str(P,'X');

K=roots(P);

L=poly(K);

F=poly2str(L,'x');

原函数Y,运行后得到根K,用根构造的函数F为如下:

4.有两个多项式p(x)=2x^4-3x^3+5x+13;q(x)=x^2+5x+8,求p(x),p(x)q(x)和

p(x)/q(x)的导数。

4.有两个多项式p(x)=2x^4-3x^3+5x+13;q(x)=x^2+5x+8,求p(x),p(x)q(x)和

p(x)/q(x)的导数。

解:

对应的程序如下:

P=[2,-3,0,5,13];

Q=[1,5,8];

formatrat

K1=polyder(P);

K2=polyder(P,Q);

[p,q]=polyder(P,Q);

Dzi=poly2str(p,'x');

Dmu=poly2str(q,'x');

D1=poly2str(K1,'x');

D2=poly2str(K2,'x');

Dzi为P/Q导数的分子,Dmu为P/Q导数的分母;

D1为P的导数,D2为P*Q的导数,运行的结果如下:

5.求解恰定方程组,采用左除法、求逆法、lu和qr分解法

2x+3y+5z=10

3x+7y+4z=3

x-7y+z=5

程序如下:

A=[2,3,5;3,7,4;1,-7,1];

b=[10;3;5];

det(A);

rank(A);

x=A\b;;

Xx=inv(A)*b;

[L,U]=lu(A);

[Q,R]=qr(A);

X=U\(L\b);

X1=R\(Q\b);

相应的仿真的结果如下:

x代表左除法,Xx代表求逆法,X表示LU法,X1表示QR分解法:

 

6.求解超定方程组,采用采用左除法、求逆法和最小二乘法

2x-4y+10z=22

6x+5y-4z=32

5x-y+33z=10

x+4y-76z=33

对应的程序如下:

A=[2,-4,10;6,5,-4;5,-1,33;1,4,-76];

b=[22;32;10;33];

x=A\b;

Xx=pinv(A)*b;

X1=lsqnonneg(A,b);

运行的结果如下:

程序如下:

z1=fzero('x^41+x^3+1',-1);

z2=fzero('x-sin(x)./x',0.5);

z3=fzero('3*x+sin(x)-exp(x)',1.5);

结果如下:

(1)的函数为

functionq=myfun(p)

x=p

(1);

y=p

(2);

q

(1)=x^2+y^2-9;

q

(2)=x+y-1;

再输入:

x=fsolve('myfun',[3,0]',optimset('Display','off'))

显示的结果如下:

(2)的函数如下:

functionq=fun1(p)

x=p

(1);

y=p

(2);

z=p(3);

q

(1)=sin(x)+y^2+log(z)-7;

q

(2)=3*x+2.^y-z^3+1;

q(3)=x+y+z-5;

End

再输入:

x=fsolve('fun1',[1,1,1]',optimset('Display','off'))

显示的结果如下:

(1)建立函数:

functionyp=fun2(t,y)%建立相应的函数

yp=-(1.2+sin(10*t))*y;

end

再在命令窗口输入:

t0=0;

tf=5;

y0=1;

[t,y]=ode23('fun2',[t0,tf],y0);%求数值解

[t,y]

得倒最后的结果为:

最终t=5,y=0.0025

(2)

函数如下:

functiondy=zzd(t,y)

dy=zeros(2,1);

dy

(1)=dy

(2);

dy

(2)=(2-2.*t.*dy

(1)-3.*y

(1))./(1+t.^2);

end

再在命令窗口输入:

[t,y]=ode23(@zzd,[05],[01]),[t,y]

显示的结果为:

(1)

函数:

functionf=fe(x)

f=1./((x-0.3)^2+0.01)-1./((x-0.9)^2+0.04)-6;

End

再输入:

K=quad('fe',0,1)

得到如下结果:

(2)

函数为:

functionf=fsk(t)%创建一个新函数

f=sqrt(cos(t.*t)+4*sin((2.*t).^2)+1);%函数的表达式

End

再输入:

L=quad('fsk',0,2*pi);

得到如下结果:

(1)函数如下:

functionf=fxy(x,y)

globalki;

ki=ki+1;%ki用于统计被积函数的调用次数

f=exp(-(x.^2+y.^2));

end

再输入:

globalki;

ki=0;

I=dblquad('fxy',0,1,0,1)

显示的结果就为该积分:

(2)函数为:

functionf=fzz(x,y)

globalki;

ki=ki+1;%ki用于统计被积函数的调用次数

f=cos(x+y);

end

再输入:

globalki;

ki=0;

I=dblquad('fzz',0,pi,0,pi)

ki

得到的显示的积分结果为:

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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