当前位置:文档之家› 计算方法与matlab

计算方法与matlab


Y -6.5
-81.0 3.0 56.5 84.0 -38.5 -66.5
Z 9
9 8 8 4 9 9
船的吃水深度为5英尺,在矩形区域(75,200)*(-50,150) 里的哪些地方船要避免进入
high=[129 7.5 140 141.5 108.5 28 88 147 185.5 22.5 195 137.5 105.5 85.5 157.5 -6.5 107.5 -81 77 3 81 56.5 162.5 84 117.5 -38.5 162 -66.5
1.某游乐场新建一个鱼塘,在钓鱼季节来临之际前将鱼放入鱼塘,鱼 塘的平均深度为6m,开始计划时每3平方米有一条鱼,并在钓鱼季节结束 时所剩下鱼是开始的25%,如果一张钓鱼证可以钓鱼20条。 试问:最多可以卖出多少钓鱼证? 鱼塘的平面图如下:(鱼塘平面图关于x轴对称)
2.某研究所为了研究氮肥(N)的施肥量与土豆产量的影响,做了10次实 验,实验数据见下表,其中ha代表公顷,t代表吨,kg代表千克。 试分析氮肥的施肥量与土豆产量之间的关系(提示:拟合函数)
分解法
1. LU分解法 2 cholesky分解法
X=A\b
对方程组Ax=b,如果A中的系数或b中元素依赖于一个或多个x, 那么此方程组成为非线性的
牛顿法 (雅可比)
x A1 x b x
用迭代求解非线性系统
x A1b
令 得到:
f 0 或
迭代过程:
step 1
f 0
比如:
直接利用求根公式在计算机进行计算,得到:
x1 54.30, x2 -0.0016
产生了误差,误差是多少?
x2 54.32 x 0.1 0
精确解:
x1 54.318158995 x2 0.0018410049576
b b 2 4ac 对x 进行分子有理化,得到 2a
高斯消元法 数值求解线性方程组的局限性
算法 向后代入法或向前代入法
高斯消去法 局部选主元的高斯消去法 全选主元的高斯消去法 局部选主元的LU分解 Cholesky 分解
计算量 n^2 浮点操作
2n^3/3 浮点操作 2n^3 /3 浮点操作 和 n^2比较 2n^3 /3 浮点操作 和 n^3比较 2n^3 /3 浮点操作 和 n^2比较 n^3 /3 浮点操作
(1+1/n)^n 的n次幂又放大了这种误差。
x.xxx xxxx xxxx xxxx + 0.000 0000 yyyy yyyy yyyy yyyy = x.xxx xxxx zzzz zzzz yyyy yyyy
Байду номын сангаас
方程求根
不动点迭代
x 1, 则迭代收敛
二分法
解线性方程组的直接法
b 4ac
2
x
2c b b 2 4ac
2951 0.4000 54.32
b
1 lim 1 e n n
n
n越大,数列越接近无理数e
当n是10的次幂时,不能使用1/2的次幂来精确表示1/n 当n很大时,由于1和1/n的有效数数位位置不匹配, 因而计算1+1/n产生的误差相对于1/n的值来说是很大
x y
y F x c1 f1 x c2 f 2 x cn f n x
y F x c1 f1 x c2 f 2 x
c1 c c2
X y
0.955 1.380 1.854 2.093 2.674 3.006 3.255 3.940 4.060 5.722 4.812 4.727 4.850 5.011 5.253 5.617 6.282 6.255
x x e 1 x 2! 3!
x
2
3
f x0 lim
f x0 x f x0
x 0
x f x0 x f x0 x
ax2 bx c 0
b b 2 4ac 求根公式:x 2a
y= -1 -1 -1 -1 -1 0 0 0 0 0 1 1 1 1 1
二维一般分布数据的插值问题
griddata
z=griddata (x0,y0,z0,x1,y1,‘方法’)
x0,y0,z0 :已知数据点 x1,y1: 插值 方法:‘linear’(线性插值) ‘cubic’ 三次Hermite插值 ‘nearest’ 三次样条插值 ‘v4’
二维网络数据插值函数
interp2
z=interp2(x0,y0,z0,x1,y1,‘方法’) 什么叫“网格形式”?
[x,y]=meshgrid(-2:2,-1:1)
x= -2 -1 0 1 -2 -1 0 1 -2 -1 0 1 2 2 2
x0,y0,z0 :已知数据点 (网格形式) x1,y1: 插值(网络形式) 方法:默认为‘linear’(线性插值) ‘cubic’ 三次Hermite插值 ‘spline’ 三次样条插值
系数返回后存放在向量p中 S: S.R 是简略QR分解中的矩阵R S.df 拟合系数的自由度数 normr 是(y-Ac)的2 范数
输入参数 c 为ployfit函数返回的多项式的系数 xf :用于多项式求值的x值 S: ployfit 中的S 输出参数: yf :由p组成的多项式所得到的函数值 dy:估计yf不确定性的向量
3 分段多项式插值
分段线性 三阶样条插值
4 MATLAB的内置插值函数
linterp函数 linterp2函数
拟合:
拟合函数与数据点不一致
插值:
插值函数要精确地经过每个已经数据点
线性多项式插值
插值(内插)
二次多项式插值
一维插值函数
interp1
y=interp1(x,y,x1,方法)
x,y :已知数据点 x1 : 插值横坐标 方法:默认为‘linear’(线性插值) ‘nearest’ 最近点等值方式 ‘cubic’ 三次Hermite插值 ‘spline’ 三次样条插值
c ( AT A)1 A y
y F x c1 f1 x c2 f 2 x cn f n x
y c0 c1 x1 c2 x2 c p x p
x1 1 ln y1 x2 1 ln y2 xm 1 ln ym
4 8 6 8 6 8 8 9 9 8 8 4 9 9];
x=high(:,1);y=high(:,2);z=high(:,3); plot(x,y,'o') % 已经数据点xoy 面分布 figure,plot3(x,y,z,'*') % 已经数据点空间
分布
x=high(:,1);y=high(:,2);z=-high(:,3); [x1,y1]=meshgrid(75:5:200,-50:5:150); z1=griddata(x,y,z,x1,y1,'v4'); figure,surfc(z1); ii=find(z1>-5); xh=x1(ii);yh=y1(ii); figure,plot(xh,yh,'o'),axis([75 200 -50 150])
1 f1 x x
f2 x x
>> >> >> >>
x=xinvpx(:,1); y=xinvpx(:,2); A=[1./x x]; c=(A'*A)\(A'*y)
>> xf=linspace(min(x),max(x)); >> yf=c(1)./xf+c(2)*xf; >> plot(x,y,'o',xf,yf,'-')
1. 2. 3. 4. 5. 6. 7. 8. 9.
误差 方程求根 解线性方程组的直接法 解非线性方程组的迭代法 插值 拟合 数值积分与数值微分 概率论与数理统计问题的计算机求解 非传统解法
舍入误差:计算机只能存储有效数字而引起的。
数值计算的若干原则 1.避免两相近数相减去 2.避免绝对值太小的数做除数 3.要防止大数“吃掉”小数 4.简化计算步骤,提高计算效率 截断误差:由于用离散、代数的公式近似代替连续的数学 表达式时产生的。
施肥 量 kg/ha
产量 t/ha
0
34
67
101
135
202
259
336
404
471
15.18
21.36
25.72
32.79
34.03
39.45
43.15
43.46
40.83
30.75
下表给出在以码为单位的直角坐标为 X ,Y 的水面一点处以英尺计的水深Z
X 129.0
140.0 108.5 88.0 185.5 195.0 105.5
Y 7.5
141.5 28.0 147.0 22.5 137.5 85.5
Z 4
8 6 8 6 8 8
X 157.5
107.5 77.0 81.0 162.5 117.5 162.0
step 2
step 3 step 4
A A x b b x
k k k

k

k
f A x b
k k
k
step 5
判断f的范数是否足够小 k 1
x

go to
step 1
1 基本思想 2 任意阶的插值多项式
相关主题