已知数据点。
1. 根据上面的数据点,使用线性插值法求当x=0.65时对应的y值。
解:>>x=[0.1,0.2,0.3,0.4,0.6,0.8,1.0];
> y=[-1.313,-0.649,-0.290,-0.064,0.187,0.304,0.368];
> y2=interp1(x,y,0.65)
y2 = 0.2163
2. 根据上面的数据点,使用拉格朗日插值值法求当x=0.65时对应的y值。
解:function f=language(x,y,x0)
syms t;
if(length(x)==length(y))
n=length(x);
elsedisp('x和y的维数不相等!')
return;
endf=0.0;
for(i= 1:n)
l=y(i);
for(j=1:i-1)
l=l*(t-x(j))/x(i)-x(j));
end;for(j=i+1:n)
l=l*(t-x(j))/x(i)-x(j));
end;f=f+1;
simplify(f);
if(i==n)
if(nargin==3)
f=subs(f,'t',x0);
elsef=collect(f);
f=vpa(f,6);
endend
endf=language(x,y,0.65)
f= 0.2235
3. 根据上面的数据点,使用三次样条插值值法求当x=0.65时对应的y值。
解:>>y1=interp1(x,y,0.65,'spline')y1 =
4. 根据上面的数据点,求最小二乘二次拟合多项式 。
解:x=[0.1,0.2,0.3,0.4,0.6,0.8,1.0];
> y=[-1.313,-0.649,-0.290,-0.064,0.187,0.304,0.368];
> a=polyfit(x,y,2)
a = 3.1627 5.0968 -1.6445
最小二乘二次拟合多项式:a=
5. 根据上面的数据点,求幂函数拟合。
解:u=log(y)
u =0.2723 + 3.1416i -0.
4323 + 3.1416i -1.2379 + 3.
1416i -2.7489 + 3.1416i -1.
67661.19070.9997
> v=log(x)v =
> p=polyfit(v,u,1)
p =-0.6443 - 1.7218i -1.7676 + 0.1309i
log(y)= 0.6443 - 1.7218i) log(x) -1.7676 + 0.1309i
6. 根据上面的数据点,求指数函数拟合 。
解:u=log(y) p=polyfit(x,u,2)
p = 8.9328 + 1.5106i -10.7096 - 6.2228i 1.1219 + 4.3213i
log(y)=(8.9328 + 1.5106i ) 10.7096 - 6.2228i) +1.1219 + 4.3213i
使用下列方法计算。
7. 复合梯形求积(n=10)。
解:建文件 function s=trapr1(f,a,b,n)
h=(b-a)/n; s=0;
for k=1:(n-1)
x=a+h*k;
s=s+feval('f',x);
ends=h*(feval('f',a)+feval('f',b))/2+h*s;
建文件 function y=f(x);
y=exp(-x^2)+log(x);
在matlab中输入》 trapr1('f',1,10,10)
ans = 14.1569
所以: 14.1569
8. 复合simpson求积(n=10)。
解:建文件 function s=simpr1(f,a,b,n)
h=(b-a)/(2*n);
s1=0;s2=0;
for k=1:n
x=a+h*(2*k-1);
s1=s1+feval('f',x);
endfor k=1:(n-1)
x=a+h*2*k;
s2=s2+feval('f',x);
ends=h*(feval('f',a)+feval('f',b)+4*s1+2*s2)/3;
在matlab中输入》simpr1('y',1,10,10)
ans = 14.1646 所以: 14.1646
9. 龙贝格算法,精确到小数点后第6位。
解:建文件 function [r,quad,err,h]=romber(f,a,b,n,delta)
m=1;h=b-a;
err=1j=0;
r=zeros(4,4);
r(1,1)=h*(feval('f',a)+feval('f',b))/2
while((err>delta)&(j j=j+1;
h=h/2;
s=0;for p=1:m
x=a+h*(2*p-1);
s=s+feval('f',x)
endr(j+1,1)=r(j,1)/2+h*s;
m=2*m;
for k=1:j
r(j+1,k+1)=r(j+1,k)+(r(j+1,k)-r(j,k))/4^k-1);
enderr=abs(r(j,j)-r(j+1,k+1));
endquad=r(j+1,j+1)
在matlab中输入》romber('y',1,10,10,0.5*(10^(-6)))
quad =
所以: 14.1653
10. 两点高斯公式。
解:建立文件: function quad=gauss8(f,a,b,x,a)
t=(a+b)/2+((b-a)/2)*x;
quad=((b-a)/2)*sum(a.*feval('f',t));
> gauss8('exp(-x^2)+log(x)',1,10,[-1/sqrt(3),1/sqrt(3)],1,1])
quad =
11. 三点高斯公式。
解:gauss8('exp(-x^2)+log(x)',1,10,[-sqrt(3/5),0,sqrt(3/5)],5/9,8/9,5/9])
quad =
matlab作业
2011029170002王柳。a 一个问题的病态性如何,与求解它的算法有关系。错 b 无论问题是否病态,好的算法都会得到它好的近似解。错 c 计算中使用更高的精度,可以改善问题的病态性。错 d 用一个稳定的算法计算一个良态问题,一定会得到它好的近似解。对 e 浮点数在整个数轴上是均匀分布。错 f ...
matlab作业
matlab语言 第3次作业 字符串,单元数组和结构体 专业 海洋技术 海洋测绘方向 姓名 张体强学号 1026222 1 如何将一个char 数据类型的向量转化为相应的double 型数据类型的数据向量。从式1 到8,判断这些语句是否正确。如果它们正确,那么将产生什么结果?这题不要在电脑中做。1....
matlab作业
电子与通信工程学院。通信系统 实验报告。2013 2014 学年第1学期。调频 fm 系统调制解调 专业 通信工程。班级 通信111 班。学号 姓名 指导教师姓名陈多瑜。2013年 11 月日。1.频率调制或调频 fm 1 设调制信号为m t 调频信号的数学表达式为。例如 m t 的时域波形为。m ...