数学实验大作业

发布 2022-07-02 02:40:28 阅读 2667

解:在命令窗口输入。

figure('position',get(0,'screensize'))

axes('position',[0 0 1 1])

x,y]=ginput;

把手放在电脑上画点,保存后,输入。

n = length(x);

s = 1:n)';

t = 1:.05:n)';

u =splinetx (s,x,t);

v = splinetx (s,y,t);

plot(x,y,'.u,v,'-

根据程序画出的我的手。

用pchiptx函数画出的手如下:

我更喜欢用splinetx函数画出的手,题中也是用splinetx函数画出的。

解:(a)使用函数bslashtx

a= ones(99,1);

c= 2.*ones(100,1);

b=[1:100]';

a=diag(a,-1)+diag(a,1)+diag(c,0);

x=bslashtx(a,b)

或者使用函数lutx

a= ones(99,1);

c= 2.*ones(100,1);

b=[1:100]';

a=diag(a,-1)+diag(a,1)+diag(c,0);

l,u,p]=lutx(a);

y=forward(l,b(p));

x=backsubs(u,y)

解得方程为x =

b)用spdiags

a= ones(99,1);

c= 2.*ones(100,1);

b=[1:100];

k=spdiags([a' c' a'],1 0 1],100,100);

x=k\b’

c) use tridisolve to solve the system.

a= ones(99,1);

c= 2.*ones(100,1);

b=[1:100] '

x=tridisolve(a,c,a,b)

d) use condest to estimate the condition of the coeffcient matrix.

a= ones(99,1) ;

c= 2.*ones(100,1);

b=[1:100] '

a=diag(a,-1)+diag(a,1)+diag(c,0);

condest(a)

得出5.1000e+003

解:a)程序:

a=textread(''

x=a(:,2);

y=a(:,1);

plot(x,y,'.

y = p1*x^10 + p2*x^9 +p3*x^8 + p4*x^7 +p5*x^6 + p6*x^5 +p7*x^4 + p8*x^3 +p9*x^2 + p10*x +p11

coefficients:

p1 = 4.0296e-005

p2 = 0.0024678

p3 = 0.067019

p4 = 1.0622

p5 = 10.875

p6 = 75.124

p7 = 354.48

p8 = 1128

p9 = 2316.4

p10 = 2772.2

p11 = 1467.5

norm of residuals =

网上标准的为。

基本上是吻合的。

|r||=0.028211

|r||/sqrt(n-p)=0.003348

b)polyfit: use polyfit(x,y,10)

程序:a=textread(''

x=a(:,2);

y=a(:,1);

p=polyfit(x,y,10)

运行结果:p =

1.0e+003 *

columns 1 through 8

columns 9 through 11

因为多项式是严格制约的,进行怎么多项的的多项式拟合所以会出现提醒。

backslash:

程序:a=textread(''

x=a(:,2);

y=a(:,1);

x2=x.^2;

x3=x.^3;

x4=x.^4;

x5=x.^5;

x6=x.^6;

x7=x.^7;

x8=x.^8;

x9=x.^9;

x10=x.^10;

x=[x10 x9 x8 x7 x6 x5 x4 x3 x2 x ones(82,1)];

beta=x\y

运行结果:warning: rank deficient, rank = 10, tol = 1.3012e-004.

beta =

因为不满秩,所以给出警告。有10个非零解,是基本解。

pseudoinverse:

再输入beta=pinv(x)*y

运行结果:beta =

normal equations:

再输入beta=inv(x'*x)*x'*y

运行结果:beta =

因为x'*x是奇异阵,所以结果可能不正确。

centering:

继续输入程序:

u=mean(x);

r=std(x);

t=(x-u)/r;

polyfit(t,y,10)

运行结果:ans =

columns 1 through 8

columns 9 through 11

c)剩余范数。

第一种:根据(a)可得norm of residuals = 0.028211

第二种:输入程序;norm(x\y)

运行结果:ans =11.7709

第三种:输入程序; norm(pinv(x)*y)

运行结果:ans = 10.6392

第四种:输入程序; norm(inv(x'*x)*x'*y)

运行结果:ans = 386.1769

第五种:方法同第一种,norm of residuals = 0.028211

d)比较可以得第一种和第五种的剩余范数小,方法最好,而第四种的剩余范数最大,结果很坏。

e)程序:a=textread(''

x=a(:,2);

y=a(:,1);

plot(x,y,'.

hold on;

x2=x.^2;

x3=x.^3;

x4=x.^4;

x5=x.^5;

x6=x.^6;

x7=x.^7;

x8=x.^8;

x9=x.^9;

x10=x.^10;

x=[x10 x9 x8 x7 x6 x5 x4 x3 x2 x ones(82,1)];

u=mean(x);

数学实验大作业

姓名 曹立娜。学号 2010062102 班级 数学10 1 完成日期 2012 6 30 附录一题 对于函数1 1x,2 x 5,5 取xj510j n,j0,1,2,n.对于n 2,4,6,8,10,分别求出该函数的拉格朗日插值函数ln x 在同一幅图中画出节点和插值函数,分析结果,写出结论。f...

数学实验综合大作业

未来五年水资源 分析。学院 计算机通信与工程学院。姓名。学号。实验问题。根据以往水价,推测未来五年的水价走势,最终估计按此发展下去,在2015 2020年的水 会达到多少 日期水价 元 吨 预计2015 2020年水价。建立模型 水价的走势一定可以用一个函数来拟合它,因为我们已经知道最近几年的水价走...

数学实验大作业 贝壳

matlab数学实验 大作业。实验名称 matlab数学实验 学院。专业班级。组长。组员。2011年10月。一 应用题目 固体引燃时间的计算 一块厚度为0.8mm的幕布,密度,比热容,和它与周围空气间的对流换热系数分别为0.3g cm,1.2kj kg k 15w k 初始温度为20 燃点为260 ...