哈工大MATLAB选修课第二次matlab作业资料Word格式.docx
《哈工大MATLAB选修课第二次matlab作业资料Word格式.docx》由会员分享,可在线阅读,更多相关《哈工大MATLAB选修课第二次matlab作业资料Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
正弦拟合:
figure
x=pi*(0:
15:
y=[0,0.2588,0.5,0.7071,0.866,0.9659,1.0];
xx=pi*(1:
0.05:
p2=polyfit(x,y,5);
yy=polyval(p2,xx);
plot(x,y,'
-ro'
xx,yy);
正切拟合:
y=[0,0.2679,0.5774,1,1.732,3.732];
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)
xx,yy,'
dr'
);
title('
线性法'
subplot(2,2,2);
y2=interp1(x,y,xx,'
nearest'
xx,y2,'
最近点法'
subplot(2,2,3);
y3=interp1(x,y,xx,'
spline'
xx,y3,'
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)的导数。
对应的程序如下:
Q=[1,5,8];
formatrat
K1=polyder(P);
K2=polyder(P,Q);
[p,q]=polyder(P,Q);
Dzi=poly2str(p,'
Dmu=poly2str(q,'
D1=poly2str(K1,'
D2=poly2str(K2,'
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];
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)
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
fun1'
[1,1,1]'
(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;
K=quad('
fe'
0,1)
得到如下结果:
函数为:
functionf=fsk(t)%创建一个新函数
f=sqrt(cos(t.*t)+4*sin((2.*t).^2)+1);
%函数的表达式
L=quad('
fsk'
0,2*pi);
(1)函数如下:
functionf=fxy(x,y)
globalki;
ki=ki+1;
%ki用于统计被积函数的调用次数
f=exp(-(x.^2+y.^2));
ki=0;
I=dblquad('
fxy'
0,1,0,1)
显示的结果就为该积分:
(2)函数为:
functionf=fzz(x,y)
f=cos(x+y);
fzz'
0,pi,0,pi)
ki
得到的显示的积分结果为: