Matlab作业

发布 2022-09-20 19:30:28 阅读 4977

已知数据点。

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 ...