东南大学计算方法实验报告matlab版

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Southeast University

计算方法实验报告

学生院系:

学生姓名:

学生学号:

实验一

一、实验题目:插值法p245

二、程序设计

P245_main.m

x=[0.3 0.42 0.5 0.58 0.66 0.72];

y=[1.04403 1.08462 1.11803 1.15603 1.19817 1.23223]; P245(x,y,0.46);

P245(x,y,0.55);

P245(x,y,0.6);

P245.m

function newtint( x,y,xhat )

n=length(y);

c=y(:);

for j=2:n

for i=n:-1:j

c(i)=(c(i)-c(i-1))/(x(i)-x(i-j+1));

end

end

yhat=c(n);

for i=n-1:-1:1

yhat=yhat*(xhat-x(i))+c(i);

end

fprintf('N(%f)= %f' ,xhat,yhat)

disp('/n' )

end

三、程序运行结果

N(0.460000)= 1.100724/n

N(0.550000)= 1.141271/n

N(0.600000)= 1.166194/n

2

实验二

一、实验题目:舍入误差与数值稳定性p217_4

二、程序设计

n=input('输入N=\n');

y1=0;

y2=0;

digits(40);

format long;

y=0.5*(1.5-1/n-1/(n+1));

for j=2:n

y1=y1+1/(j*j-1);

end

fprintf('%s y1=%g\n','从小到大计算结果',y1);

if floor(log10(abs(y1-y)))-log10(abs(y1-y))

m=-floor(log10(abs(y1-y)))+ ceil (log10(y1));

else m=-floor(log10(abs(y1-y)))+ceil(log10(y1))-1;

end

fprintf('%s%d','有效位数',m);

for j=n:-1:2

y2=y2+1/(j*j-1);

end

disp('\n')

fprintf('%s y2=%g\n','从大到小计算结果',y2);

if floor(log10(abs(y2-y)))-log10(abs(y2-y))

m=-floor(log10(abs(y2-y)))+ ceil (log10(y2));

else m=-floor(log10(abs(y2-y)))+ ceil (log10(y2))-1;

end

fprintf('%s%d','有效位数',m);

四、程序运行结果

3

实验三

一、实验目的和意义:p225

二、程序设计

P225.m

eps=5e-6;

delta=1e-6;

N=1000;

k=0;

x0=0.5;

while(1);

x1=x0-fp225_1(x0)/fp225_1_1(x0);

k=k+1;

if(k>N||abs(x1)

disp('Newton methon failed');

break;

end

if abs(x1)<1;

d=x1-x0;

else

d=(x1-x0)/x1;

end

x0=x1;

if(abs(d)

end

end

fprintf('%f',x0);

fp225_1.m

function y= fp225_1( x )

y=x*exp(x)-1;

end

fp225_1_1.m

4

function y =fp225_1_1( x )

y=exp(x)*(1+x);

end

三、程序运行结果

>> p225

0.567143

实验四

一、实验题目:曲线拟合p250.2

二、程序设计

qxnh.m

x=[1 2.5 3.5 4];y=[3.8 1.5 26.0 33];

fun1=inline('c(1)+c(2)*x.^2','c','x'); %拟合函数

c=lsqcurvefit(fun1,[0,0],x,y) %求拟合系数

['y=',num2str(c(1)),'+',num2str(c(2)),'x^2']%拟合函数表达式

y1=c(1)+c(2)*x.^2; %拟合函数表达式值

三、程序运行结果

>>qxnh

-3.4957 2.2052

ans =

y=-3.4957+2.2052x^2

实验五

一、实验题目:常微分方程数值解法p269.1.1

二、程序设计

qxnh.m

x=[1 2.5 3.5 4];y=[3.8 1.5 26.0 33];

fun1=inline('c(1)+c(2)*x.^2','c','x'); %拟合函数

c=lsqcurvefit(fun1,[0,0],x,y) %求拟合系数

['y=',num2str(c(1)),'+',num2str(c(2)),'x^2']%拟合函数表达式

5

相关文档
最新文档