首页 matlab里矩阵的算法

matlab里矩阵的算法

举报
开通vip

matlab里矩阵的算法第一节 MATLAB 中的矩阵的输入 第一节 MATLAB 中的矩阵的输入 §1 直接输入 一、直接在工作窗中输入: A=[2, 4, 6, 8;1 3 5 7; 0 0 0 0;1,0,1,0] 其意义是定义了矩阵 二、如果矩阵中的元素是等步长的,可以用下面的方法 A=[1:0.2:2;1:6;2:2:12] A=[1:5]' “'”号在这里表示为转置,而 1:5 中间少了一个循环步长,此时将步长自动取为 1 。 §2 增删改 设已经定义 A=[1 2 3 4 5;10 8 6 4 2]; B=[0 1;1 0]...

matlab里矩阵的算法
第一节 MATLAB 中的矩阵的输入 第一节 MATLAB 中的矩阵的输入 §1 直接输入 一、直接在工作窗中输入: A=[2, 4, 6, 8;1 3 5 7; 0 0 0 0;1,0,1,0] 其意义是定义了矩阵 二、如果矩阵中的元素是等步长的,可以用下面的方法 A=[1:0.2:2;1:6;2:2:12] A=[1:5]' “'”号在这里 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示为转置,而 1:5 中间少了一个循环步长,此时将步长自动取为 1 。 §2 增删改 设已经定义 A=[1 2 3 4 5;10 8 6 4 2]; B=[0 1;1 0]; C=[1 2;2 4],即已定义 A= B= C= 1 2 3 4 5 0 1 1 2 10​ 8 6 4 2 1 0 2 4 则命令:A=[[A(:,1:4);[C,B]],[0 2 0 4]'] 将 A 定义成: A= 而 A(:,3)=[]; 将删除 A 的第三列 ,得 1​ 2 3 4 0 A= 1 2 4 0 10 8 6 4 2 10 8 4 2 1​ 2 0 1 0 1 2 1 0 2​ 4 1 0 4 2 4 0 4 §3 命令生成 使用 MATLAB 命令生成矩阵一般使用下面的命令 1 命令 linspace,它有两个格式: a1=linspace(1,100) %生成一个从1到100的有100 个元素的向量 a2=linspace(0,1) %仍然是有 100 个元素但是是从 0 到 1 的向量 a3=linspace(0,-1) %请与上一个向量进行比较 上面是第一种格式 linspace(a,b),它是将 a 到 b 等分成 100份形成的向量。第二种格式 linspace(a,b,n) 中的 n 为一个正整数,表示是从 a 到 b 等分成 n 份后形成的向量。例如 a4=linspace(1,100,11) %从 1 到 100 但只形成11 个元素的向量 a5=linspace(1,100,10) %自己体会这个命令作用 a6=linspace(0,1,11)' %加上了“'”表示转置 a7=linspace(0,-1,10) %自己体会这个命令作用 2 命令 ones,zeros 分别形成元素全为 1或全为零的矩阵它也有两种格式。请观察它们的作用: ones(6,3) %生成 6×3 阶元素全为 1 的矩阵 ones(5) %生成 5 阶元素全为 1 的方阵 zeros(3,6) %生成 3×6 阶元素全为零的矩阵 zeros(4) %生成四阶元素全为零的方阵 3 命令 diag 生成对角阵及从矩阵的主对角线生成向量,例如: diag([1 3 5 7]) %生成了以 1 3 5 7 为主对角线的方阵: ans= 1 0 0 0 0 3 0 0 0 0 5 0 0​ 0 0 7 相反如果先定义了一个三阶方阵: A=[1 2 3;4 5 6;7 8 9] 显示: A= 1 2 3 4 5 6 7 8 9 则命令 a8=diag(A) 将用 A 的主对角线生成新的列向量: a8= 1 5 9 命令 eye(n) 生成 n 阶单位方阵,即主对角线上元素为 1,其余元素为零的方阵。例如键入:A=eye(5) 将得到: A= 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 第二节 MATLAB 文件处理 §1 文件编辑 如果要在 MATLAB 的工作窗定义矩阵,则用鼠标点击屏幕左上方的 File 选择项,再从中选择 New 中的M-file 项并且用鼠标点击它,就打开了 MATLAB 文件编辑窗并且可以在此窗中定义 MATLAB 矩阵了(注意对于已有的文件,可以选择 open 来打开它,然后对其进行修改)。在 MATLAB 文件编辑窗中定义的矩阵与工作窗中定义的方法是完全一样。并且可以在MATLAB 文件编辑窗的菜单中使用菜单命令直接运行。 可以在MATLAB中使用菜单中的“File”中的“Set path”将当前工作文件夹定义在你正在工作的文件夹。 §2 MATLAB工作窗中变量值的保存与调用 MATLAB 工作窗中的变量在退出 MATLAB 工作状态后值不能保存,如果需要保存,可以使用命令 save 将其存储到磁盘上,命令格式有两种: 第一种是用二进制格式来存储。例如先定义三个矩阵: A1=[0:3;2*ones(4);4:-1:1] ; A2=[1 3 2 4];A3=zeros(3,1); 生成下列矩阵与向量: 键入: save file1 A1 A2 A3 %用二进制格式以文件名 file1.mat 存储 A1,A2,A3 save file2.m A1 A3 –ascii %用 ascii 码以文件名 file2.m 存储 A1,A3 我们还要注意:用二进制格式存储的文件连变量名一起存储并可再重新调入时恢复变量的值,而用 ASCII码存储的文件只存储了变量的值,而变量名是没有的。 用二进制格式存储的变量,可用命令 load 调用,调用格式为: load <磁盘文件名> 例如,前面用 save file1 存储了所有变量 A1,A2,A3,调用时只要键入 load file1 即可。 第三节 MATLAB 中的矩阵运算 §1 矩阵运算命令与通常线性代数命令运算的异同 一、MATLAB 在运行时是以矩阵为单位进行运算的。它通常有两种运算,第一种是矩阵运算,运算时满足线性代数中矩阵运算所规定一切运算法则,如加、减、乘,乘方即幂运算(当然运算要符合规定的条件,例如矩阵 A 与矩阵 B 相乘,必须 A 的列数等于 B的行数),运算符号: A+B, A-B, A B (注意“*”不能少) A^n 二、不同之处: 1、与通常矩阵运算不同之处在:在线性代数中矩阵不能与数相加减,而在MATLAB的矩阵运算中允许矩阵与数相加减。 2、 关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函 数命令可以直接作用到矩阵的每一个元素。 3、线性代数中矩阵没有除法,而MATLAB中有矩阵除法,例如: 输入 A=[1:3;4:6;7:9];b=[14,32,50]';c=A\b 显示: c= 2 0 4 4、函数作用到矩阵的每一个元素,例如如果令 A=[1 1/2 1/3; 1/2 1/4 1/8]*pi,即定义 则 三、MATLAB中除法运算的规定与意义: 1、运算定义:设已经定义好矩阵 A 与矩阵 B,如果矩阵 A 与矩阵B 的行的维数相同,则 MATLAB 中可以用矩阵 A 左除矩阵 B,即可以令: X=A\B 如果矩阵 A 与矩阵B 的列的维数相同,则 MATLAB 中可以用矩阵 A 右除矩阵 B,即可以令: X=B/A 2、矩阵除法的意义 给出线性方程组 AX=B,则 X=A 给出线性方程组的一个解。而 X=B/A 给出了线性方程组 XA=B 的一个解。 目前我们用 MATLAB 求线性方程组的解只有三个方法: 当 A 是可逆方阵时,X=inv(A)*B 给出线性方程组AX=B 的唯一解。但是 A 不可逆时方法失效。 可用命令 rref 化线性方程组 AX=B 的增广矩阵为行最简阶梯矩阵方法来求解,但线性方程组可能出现无解(称为“超定”)、唯一解(称为“恰定”)及无穷多解(称为“欠定”)的情形。 无论 A 是否可逆都可用MATLAB 除法求解,并且无论何种情形都是唯一解。 当方程存在唯一解时,三种方法求出的解是一样的。但是用除法作的解一般精度更高。 方程为“超定”或者“欠定”时解意义则不同。 线性方程组 AX=b 为欠定时有无穷个解,X=A\b得到其中解分量中零元素为最多的一个特解。 线性方程组 AX=b 为超定时是无解的, 用 X=A\b 得到的是使范数 ||AX-b|| 为最小的解。我们不详细说明这个范数的意义,可理解为使 AX-b 最接近于零的解。 例如方程组 通解为: 输入 A=[1:3;4:6;7:9];b=[14,32,50]';c=A\b 显示: c= 2 0 4 是其中有一个零分量的特解。 输入 d=[0 32 50]';g=A\d 显示 g= 1.0e+017 * 0.6305 -1.2610 0.6305 再输入 h=A*g-d 显示 h=32 96 14 因此 g 不满足 A*g=d,只是使 A*g-d 尽可能接近于零。 §2 常用的数学运算命令 以下是一些在MATLAB中最常用的数学运算命令(均用小写字母,命令的作用可在MATLAB中用 help <命令> 查询其作用与格式): 一、基本函数运算命令 1、三角函数: sin cos tan cot sec csc 2、反三角函数:asin acos atan acot asec acsc atan2(四象限反正切) 3、双曲函数: sinh cosh tanh coth sech csch 4、反双曲函数:asinh acosh atanh acoth asech acsch 5、复数:real imag conj angle 6、小数取整:fix(朝零方向),ceil(朝正无穷方向),floor(朝负无穷方向),round(四舍五入) 7、对数与指数:log10 log exp 8、其它:sqrt abs sign sum prod solve 二、线性代数运算命令: 1、det inv rank rref eig cond 行列式求值命令 det, 矩阵求秩命令 rank,求方阵的逆方阵命令,inv 求矩阵行最简阶梯阵命令 rref,求特征值与特征向量命令 eig,求矩阵条件数命令 cond 三、多项式运算命令 MATLAB中用向量表示多项式,如 a=[ 1 2 3 0 4] 表示多项式: 常用的多项式运算命令有: 1、多项式加减法:在次低的向量前面加零后使其元素个数相同,再按向量加减法运算命令进行。 2、多项式 a 与多项式 b 相乘:c=conv(a, b); 3、多项式 a除以多项式 b: [q, r]=deconv(a, b) q 是商, r 余项) 4、多项式求值: p1=polyval(a, x) (多项式 a 在点 x 处的值) 5、方阵多项式求值: p2=polyvalm(a, A) (矩阵多项式 a 在方阵 A 处的值) 6、多项式求根: p3=roots(a) (求多项式 a 的根) 7、多项式微分: p4=polyder(a) 8、多项式拟合: p5=polyfit(x,y,n) 例:x=[1 1.2 3 4.2 5]; y=x.^3-2*x.^2+3*x-1; p5=polyfit(x,y,3) 将得出: p5=1.0000 -2.0000 3.0000 -1.0000 四、高等数学中的数值运算命令 在MATLAB数值计算中很少有高等数学中的运算命令,下面只介绍两个: 1、求数值积分: trapz 2、差分: diff MATLAB中也有很多符号运算命令。但不在本课程中。在那些符号运算命令中能实现许多高等数学中的运算。 五、显示格式 有 format rat, format long, format short, format long g, format short g, format long e , format short e , format hex等等。 第四节 MATLAB 的数组操作 前面我们谈到了 MATLAB 中有数与矩阵的加减法,这是线性代数中所没有的。 MATLAB 中还有许多与高等数学中 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 不同的运算。这些运算对于求解实际问题很有作用,它使编程比其它语言要简单方便得多。 MATLAB 中的数组运算就是其它计算机语言中所没有的使编程变得十分简单的运算。 MATLAB 中的数组运算只在同阶矩阵中进行。 设 A,B 是两个已经定义好的同阶矩阵: 则数组运算 A.*B,A./B,A.^B 的值分别是: 除了前面讲过的数与矩阵的加减法(不算数组运算) 外,数与矩阵之间还有下面的数组运算: 从上面叙述可见矩阵与同阶矩阵之间(及数与矩阵之间)的数组运算的定义特点是: 1 定义在两个同阶矩阵或数与矩阵之间进行; 2 定义方法是前面一项与后面一项用小数点加运算符连结; 3 定义的实质是:当定义的运算在矩阵之间时,是相同位置上的元素进行由运算符规定的运算。当定义的运算是矩阵与数之间,则是矩阵中的每一个元素与数进行运算符规定的运算。 对于其他计算机语言,这些运算常常要通过双重循环才能完成,而在 MATLAB 中只要简单地用“.”加运算符即可表示,这是 MATLAB 特别方便之处。 数组运算及函数运算定义容易记忆与使用,它在编程中十分方便,我们看后面的例。 如果要画函数 e-xsinx2 +1 在区间 [0,3] 上的图形,操作过程是: x=0:0.01:3; %定义自变量 x 在区间 [0,3] 上的值 y=exp(x).*sin(x.^2)+1 %用数组运算计算函数值 y plot(x,y) %作平面上的曲线图。 只用简单三行命令完成了在其他计算机语言中要用很长程序才能完成的程序,这是 MATLAB 语言非常简便好用的原因。 第五节 MATLAB 作图 下面介绍 MATLAB 中的作图命令。 §1 二维作图命令 plot 一、MATLAB 二维作图命令最常用的是 plot,除作图外,还有如下可控制的操作: 1、一张图上画多条曲线(可以使用hold命令)。 2、一个屏幕上开多个窗口作图(使用subplot命令)。 3、曲线选择线型、颜色(在每条曲线后加,’.b’ 或者 ,’color’,[1,0,0.5] 等)。 4、标注文字,使用命令: title(‘字符’) 图形标题 xlabel(‘字符’) x 轴标注,ylabel(‘字符’) y 轴标注,zlabel(‘字符’) z 轴标注, legend(‘字符’, ‘字符’,…) 可移动标注 text(x,y,(z),‘字符’) 在指定坐标标注 gtext(‘字符’) 用鼠标在图形中选择地方标注 5、坐标网格线显示与关闭命令 grid 二、坐标轴控制(也适用于三维作图) axis 1、坐标轴刻度范围控制axis(xmin, xmax, ymin, ymax (, zmin, zmax))。 2、关闭坐标轴显示开关 axis(‘off’) 或者 axis off,axis(‘on’) 或者 axis on 3、坐标轴等刻度命令 axis(‘equal’) 或者 axis equal 4、坐标轴等长命令 axis(‘square’) 或者 axis squal 5、使坐标等刻度与等长命令失效命令 axis(‘normal’) 或者 axis normal 三、下面介绍一个在实际应用中非常有用的命令: ginput 该命令在三维空间中仍然可用,但效果不如二维空间中那么好。 四、背景色控制命令 figure(‘color’, [r, g, b]) 三维空间中此命令仍然适用。 五、程序标注 在程序中“%”后的部分用作标注。 六、还有许多二维作图命令,请大家参看有关参考 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 。我们仅就使用二维等值线 contour命令用于求解线性方程组的例子。 MATLAB 二维作图命令 contour可以用于求二维超越方程组的数值解。请看 exmaple1.m: x=[0:0.01:2.4995]; y=[0:0.01:2.4995]'; A=(0*y+1)*sin(x)+y.^2*(0*x+1)+log(5-(0*y+1)*x-y*(0*x+1))-7; contour(x,y,A,[0,0]) hold on B=3*(0*y+1)*x+2.^y*(0*x+1)-(5-(0*y+1)*x-y*(0*x+1)).^3+1; contour(x,y,B,[0,0]) hold off 此程序用于求方程组: 的数值解。 此方法的优点是:可以看到图形全貌,可以求出多解情形,可以获极高精度。 练习 1:求曲线 与曲线 在区间[0, ]上的所有交点。 练习 2:求方程组 的数值解。要求将解代入方程后每个方程左方减去右方后的绝对值小于 0.00001。 §2 三维作图命令 一、MATLAB 三维作图曲线作图命令最常用的是 plot3,contour3。除作图外,还有如下可控制的操作: 三维曲线作图是对参数式为 作图。例如螺旋线: 作图命令是 t=[0:0.01:10*pi];x=cos(t);y=sin(t);z=t/2; plot3(x,y,z) contour3是三维等值线作图。 二、三维曲面作图 常用的三维曲面作图命令有:mesh , surf, meshc, meshz , waterfall, 我们重点介绍 mesh 与 surf。这两个命令都是作曲面图形,但是 mesh 是用网格作图,而 surf 是用曲面片作图。效果有少许不同,但作图编程是相同的(这个作图过程比较复杂)。事实上它们都是用曲面参数式 作的图,因此要画曲面图形,首先得会写上面的参数式。然后会用上面的参数式编程。注意在编程时 z 都是二维矩阵,行数与向量 u 的维数相同,列数与 v 的维数相同,x, y 可以是与 z 维数相同的二维矩阵也可以是向量。请看下面马鞍面 的作图过程: y=[ -1 :0.1: 1]’; x=y’; z=(0*y+1)*x..^2- y.^2* (0*x+1); mesh(x,y,z); 这个命令等价于 y= [-1 :0.1: 1]’; x=y’; z= ones(size(y))*x.^2 - y.^2*ones(size(x)); surf(x,y,z); 上面作的图是以 z 的高度作为图形色彩数据的(这是缺省时的数据)。如果加上颜色、光照、纹理、视角等设置,可以得出十分漂亮的图形。请看 example2.m。 有时作图的参数式要使用比较复杂的数学运算,例如 2001 年全国数学建模竞赛时要求从血管的 100 张切片中读出血管的中心与半径。竞赛中要求将血管中心线向三个坐标平面投影。但是我们根据血管中心线可画出血管的三维图象。显然这更好看更直观。曲面参数式的推导见《广西大学学报》2003年第3期,而程序请看 example3.m。 练习3:画一个求生圈的图。 提示:求生圈的曲面参数方程为: 练习4:画出在二维区域 x2 + y2≤1 上的马鞍面 z= x2- y2。 练习5:作曲面 z=x2+y2 与平面 4x+2y+5z=20 相交的图(要求平面只画出被曲面截出的部分,参考右图)。 练习6:作圆柱面 x2+z2=1 与圆柱面 y2+z2=1 相交的图(要求平面只画出在每卦限的部分)。 §3 MATLAB 动画 MATLAB 中的动画功能不是太强,并且需要使用 MATLAB 的底层作图命令,即图形的句柄操作。 MATLAB 中的作图命令如果使用了赋值语句,即将作图赋给了某个变量,则该变量即为此张图形的句柄。可以对此句柄设置一些图形属性,对于句柄图形我们在前面已经用到了,例如马鞍面的图形中的赋值语句 aa=surf(X,Y,Z); 就是将曲面的句柄赋给 aa 了,然后用 set(aa, 'Facecolor', [0,0.7,0], bb,' Facecolor',[ 0.7,0,0.7]) 设置曲面颜色。 MATLAB 动画实际上就是在句柄中设置了图形将是被复盖还是改写等属性,然后在作图时按不同的位置画图(同时擦除前面的图形或者复盖前面的图形以实现动画)。 由于作动画一般要涉及编程,我们将此部分内容放到第四节中。 在图形的属性控制中要注意区分各种图形对象:figure, axes, line, patch, surface, image, text 等等。 §4 MATLAB 图象处理 MATLAB 可对图象作处理,常用的简单命令有: imread, image, colormap imread 可以读出图象数据,而image可以将图象数据显示为图象,而colormap可以设置图象色彩。 练习7:本文件夹中有一张图“figure0”,是2002年全国数学建模大赛中的一张图,要求从图中读出图形的内切圆圆心与半径。 在MATLAB图象处理中还有光照、色彩、视角等许多处理。由于水平与时间关系,只能简单介绍。 第六节 MATLAB 编程 一、MATLAB 编程 MATLAB 可以单步运行,也可以编程运行。 与所有软件编程一样,MATLAB中也有条件、分支、循环等语句。 条件语句: if … end 或者 if … else … end 循环语句: for … end 或者 while … end 需要指出,在其他许多语言中需要循环的地方在MATLAB中是不需要循环的。 下面我们看一个动画程序:画单摆的运动程序:pend.m。 figure('color',[1 1 1]) plot([-0.2;0.2],[0;0],'color','y','linestyle','-','linewidth',10);%画悬线的横梁 g=9.8; %重力加速度 l=1; %线长 theta0=pi/6; %初始角度 x0=l*sin(theta0); %初始 x 值 y0=-l*cos(theta0); %初始 y 值 axis([-0.75,0.75,-1.25,0]); %画坐标范围 axis('off'); %关闭坐标显示 head=line(x0,y0,'color','r','linestyle','.','erasemode','xor','markersize',40); %定义小球格式 body=line([0;x0],[0;y0],'color','b','linestyle','-','erasemode','xor'); %定义悬线格式 t=0; %时间初值 dt=0.0005; %时间增量 while 1 %死循环(关闭窗口后中止循环) t=t+dt; theta=theta0*cos(sqrt(g/l)*t); %计算时刻 t 时的幅角 x=l*sin(theta); %计算时刻 t 时的 x 坐标 y=-l*cos(theta); %计算时刻 t 时的 y 坐标 set(head,'xdata',x,'ydata',y); %计算时刻 t 时小球的位置 set(body,'xdata',[0;x],'ydata',[0;y]); %计算时刻 t 时悬线的位置 drawnow; %重画小球与悬线 end 二、程序与函数 将MATLAB运行中的每一句写在扩展名为“m”的文本文件中,就得到MATLAB程序文件。程序中的变量值都在工作窗中。如果是写成 function [u , v, …]=fun(x , y, …) 则是MATLAB函数,函数参数 x , y 可以是变量、向量或者矩阵,返回值 u, v 也可以是变量、向量或者矩阵,存储时函数名必须与存储文件名相同。 例如,运行 redotree(n, B) (设的初值为 B=[0 0;0 1],取 n=5 或者 n=6),可以画出一棵树的图形。而运行leafage1(n)可以画出一张树叶。 练习8:作曲面 z=x2+y2 与平面 4x+2y+5z=c,c 从 40 变化到 20 的动画图 第七节 数据拟合 MATLAB有数据插值与数据拟合功能,使用的命令是:interpn(注意这里的“n”必须是一个具体正整数,一般为 n=1, 2, 3, …,表示)。 例如:运行exmaple51.m,对南半球气旋作可视化显示图。 %exmaple51.m--南半球气旋数据,程序实现气旋数据可视化 y=5:10:85;x=1:12; z=[ 2.4, 1.6, 2.4, 3.2, 1.0, 0.5, 0.4, 0.2, 0.5, 0.8, 2.4, 3.6; 18.7, 21.4, 16.2, 9.2, 2.8, 1.7, 1.4, 2.4, 5.8, 9.2, 10.3, 16; 20.8, 18.5, 18.2, 16.6, 12.9, 10.1, 8.3, 11.2, 12.5, 21.1, 23.9 ,25.5; 22.1, 20.1, 20.5, 25.1, 29.2, 32.6, 33.0, 31.0, 28.6, 32.0, 28.1, 25.6; 37.3, 28.8, 27.8, 37.2, 40.3, 41.7, 46.2, 39.9, 35.9, 40.3, 38.2, 43.4; 48.2, 36.6, 35.5, 40, 37.6, 35.4, 35, 34.7, 35.7, 39.5, 40, 41.9; 25.6, 24.2, 25.5, 24.6, 21.1, 22.2, 20.2, 21.2, 22.6, 28.5, 25.3, 24.3; 5.3, 5.3, 5.4, 4.9, 4.9, 7.1, 5.3, 7.3, 7, 8.6, 6.3, 6.6; 0.3, 0, 0, 0.3, 0, 0, 0.1, 0.2, 0.3, 0, 0.1, 0.3]; [xi,yi]=meshgrid(1:12,5:85); zi=interp2(x,y,z,xi,yi,'cubic'); surf(xi,yi,zi) 练习9:一天24小时每两小时的温度记录如下: 11​ 9 9 10 18 24 28 27 25 20 18 15 13 请用插值方法用出一天24小时的温度变化图。 用命令 curvefit(‘fun’,x0 , x , y) 可以作曲线拟合,其拟合功能比 MATHMATICA 更强。如某数据近似符合规律y(t)=a+be-kt,已知从100到1000时分别对应于 cdata=0.00001*[454 499 535 565 590 610 626 639 650 659]; 求 a, b, k 使 尽可能地小。此问题的解可由运行exmaple52.m得到。 附录: 内插及曲线拟合 我们常常会有从实验或是对物理现象观察所收集到的数据,分析这些数据需要有辅助的工具。通常这些原始 数据如果会制成图,是成点状分布。我们需要将这些点连成曲线,再进一步将曲线转换成有意义的数学函数 ,才能对数据做比较和分析。上述的过程涉及到内插(interpolation)及曲线拟合(curve-fitting),我们会在以下介绍。 1 内插 假设一组已知的数据其型态为 f(xk), =1, 2, …, n, x1=a, x xn=c, 假设某些点 xi并不属于上述的 xk但是 axic,如果我们要估计这些点的函数值 f(xi) 就须要做内插 (interpolation)。我们可视原数据所描述的函数复杂程度来选择不同的数值内插方法。 ​ 1 内插 o​ 1.1 一维内插 o​ 1.2 二维内插 o​ 1.3 Spline 内插 1.1 一维内插 线性内插是假设在二个已知数据中的变化为线性关系,因此可由已知二点的座标(a, b)去计算通过这二点的 斜线, 公式 小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载 如下: 其中 a
本文档为【matlab里矩阵的算法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_623407
暂无简介~
格式:doc
大小:458KB
软件:Word
页数:23
分类:工学
上传时间:2014-02-11
浏览量:61