哈工大MATLAB选修课第2次小作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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');
f=exp(-(x.^2+y.^2));
end
再输入:
global ki;
ki=0;
I=dblquad('fxy',0,1,0,1)
显示的结果就为该积分:
(2)函数为:
function f=fzz(x,y)
global ki;
ki=ki+1; %ki用于统计被积函数的调用次数
f=cos(x+y);
end
再输入:
x=fsolve('myfun',[3,0]',optimset('Display','off'))
显示的结果如下:
(2)的函数如下:
function q=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;
t0=0;
tf=5;
y0=1;
[t,y]=ode23('fun2',[t0,tf],y0); %求数值解
[t,y]
得倒最后的结果为:
最终t=5,y=0.0025
(2)
函数如下:
function dy=zzd(t,y)
dy=zeros(2,1);
dy(1)=dy(2);
dy(2)=(2-2.*t.*dy(1)-3.*y(1))./(1+t.^2);
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的根构造
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);
运行的结果如下:
程序如下:
一个多项式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)和
解:分别对应的程序如下:
正弦函数:
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;
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];
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);
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)的函数为
function q=myfun(p)
x=p(1);
y=p(2);
q(1)=x^2+y^2-9;
q(2)=x+y-1;
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
end
再在命令窗口输入:
[t,y]=ode23(@zzd,[0 5],[0 1]),[t,y]
显示的结果为:
(1)
函数:
function f=fe(x)
f=1./((x-0.3)^2+0.01)-1./((x-0.9)^2+0.04)-6;
End
再输入:K=quad('fe',0,1)
得到如下结果:
再输入:
global ki;
ki=0;
I=dblquad('fzz',0,pi,0,pi)
ki
得到的显示的积分结果为:
p(x)/q(x)的导数。
解:对应的程序如下:
P=[2,-3,0,5,13];
Q=[1,5,8];
format rat
K1=polyder(P);
K2=polyder(P,Q);
[p,q]=polyder(P,Q);
Dzi=poly2str(p,'x');
Dmu=poly2str(q,'x');
D1=poly2str(K1,'x');
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);
q(3)=x+y+z-5;
End
再输入:
x=fsolve('fun1',[1,1,1]',optimset('Display','off'))
显示的结果如下:
(1)建立函数:
function yp=fun2(t,y) %建立相应的函数
yp=-(1.2+sin(10*t))*y;
end
再在命令窗口输入:
b=[10;3;5];
det(A);
ranห้องสมุดไป่ตู้(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.求解超定方程组,采用采用左除法、求逆法和最小二乘法
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];
(2)
函数为:
functionf=fsk(t)%创建一个新函数
f=sqrt(cos(t.*t)+4*sin((2.*t).^2)+1) ;%函数的表达式
End
再输入:
L=quad('fsk',0,2*pi);
得到如下结果:
(1)函数如下:
function f=fxy(x,y)
global ki;
ki=ki+1; %ki用于统计被积函数的调用次数
相关文档
最新文档