结果:
??1题目六、用高斯列主元算法编程求解下列线性方程组?2??3?4代码:
function X=Q6_Gauss(A,b) %A是一个N阶矩阵,b是n维向量,X是解 [N N]=size(A); X=zeros(1,N+1); Aug=[A b]; %增广矩阵 for p=1:N-1
[Y,j]=max(abs(Aug(p:N,p))); C=Aug(p,:); Aug(j+p-1,:)=C; if Aug(p,p)==0 'A是奇异阵,方程无唯一解' end
for k=p+1:N
m=Aug(k,p)/Aug(p,p);
Aug(k,p:N+1)=Aug(k,p:N+1)-m*Aug(p,p:N+1); end end
%程序函数backsub进行回代
X=Q6_backsub(Aug(1:N,1:N),Aug(1+N,N+1));
function X=Q6_backsub(A,b) n=length(b);
6
59??610?711??13?14???x???15??的解。812????16?? X=zeros(n,1); X(n)=b(n)/A(n,n); for k=n-1:-1:1
X(k)=(b(k)-A(k,k+1:n)*X(k+1:n)/A(k,k)); end
结果:
题目七、在实验中测得如下10组数据:
X 1 2 3 4 5 6 10 12 15 16 Y 7 15 19 30 38 37 23 69 39 28 (1) 求最多能拟合多项式的次数是多少?并求出各项系数。 (2) 将数据点和拟合曲线在同一图中绘出。 代码:
X=[1 2 3 4 5 6 10 12 15 16]; Y=[7 15 19 30 38 37 23 69 39 28]; a=polyfit(X,Y,9);
x2=1:0.1:16; y2=polyval(a,x2); plot(X,Y,'r*',x2,y2,'b-') legend('原数据点','拟合曲线') [a,s]=polyfit(x2,y2,9)
结果:
7
题目八、对下列一组数据利用2次多项式拟合曲线,并求拟合多项式系数向量,绘制拟合曲线。 x 0 1.5 3 4.5 6 8
7.5 9 10.5 12 13.5 15 y 0.7 1.6 2.5 2.7 3.5 4.8 3.9 2.8 2.4 1.9 0.9 代码:
x=0:1.5:15
y=[0.7 1.6 2.5 2.7 3.5 4.8 3.9 2.8 2.4 1.9 0.9] p=polyfit(x,y,2) x1=0;0.3:15 y1=polyval(p,x1) plot(x,y,'-*',x1,y1)
结果:
题目九、求?代码:
f=inline('1./(x.^(0.5).*(exp(x)+1))','x'); %用内联函数定义被积函数 Isim=quad(f,0,1) %辛普生法 IL=quadl(f,0,1) %牛顿——科特斯法
10dx.
x(exp(x)?1) 结果:
9
题目十、求积分s(x)??代码:
f=inline('0.2+sin(t)','t'); %用内联函数定义被积函数 simp=quad(f,0,pi/2) %辛普生法 cotes=quadl(f,0,pi/2) %牛顿——科特斯法
?/20y(t)dt,其中y?0.2?sin(t)。
结果:
附加题:
题目十二、求 y''?(1?y2)y'?y?0(y(0)?y'(0)?0;t?[0,20])的解 。 代码:
functiondydt = vdp1(t,y)
dydt = [y(2); (1-y(1)^2)*y(2)-y(1)]; End
[t,y] = ode45(@vdp1,[0 20],[0; 0])
结果:
10