附加例子-comsol中文手册

时间:2024-06-29 22:11:30
【文件属性】:

文件名称:附加例子-comsol中文手册

文件大小:7.02MB

文件格式:PDF

更新时间:2024-06-29 22:11:30

MATLAB

4.4 附加例子 例 4.7 用 小二乘法画噪声数据的近似曲线 下落物体将会作匀加速度运动,它的速度符合下面的公式 v(t) = at + v0 (4.3) v(t)代表物体在 t 时刻的速度。加速度为 g,初速度 v0 为 0。这个公式出现在基础物理学 中,我们大家都非常的熟悉。如果我们要画出下落物体的速度时间图象,我们得到的(v,t) 测量值应当在同一条直线上。但是,学习物理的同学都知道,在实验室得到的测量值不一定 是直线。为什么会这样呢?因为所有的测量都有误差。在所有测量值中都有一定的噪声。 在工程和科研方面,有许多像这个例子一样带有噪声,而我们希望得到 符合的结果。 这个问题叫做线性待定问题。给出一系列带噪声的测量值(x,y),它遵循一条直线,如何确 定“ 符合”这条直线的解析式呢。 如果我们确定了待定系数 m 和 b,那么我们就确定了解析式 4.4。 y=mx+b (4.4) 确定待定系数 m 和 b 的标准方法为 小二乘法。之所以称为 小二乘法,是因为根据 偏差的平方和为 小的条件来选择常数 m 和 b 的。公式如下: xxx yxxy m )()( )()( 2 ∑∑ ∑ ∑ − − = (4.5) xmyb −= (4.6) 其中,∑x 代表所有测量值 x 之和,∑y 代表所有测量值 y 之和,∑xy 代表所有对应的 x 与 y 的乘积之和,x 代表测值量 x 的数学期望。 y 代表测值量 y 的数学期望。已知有一系列 含有噪声的数据(x,y),编写程序用 小二乘法计算出 m 和 b。数据要求从键盘输入,画出 每一个数据点还有画出 适合的直线。 答案: 1. 陈述问题 已知有一系列含有噪声的数据(x,y)用 小二乘法计算 m 和 b。数据要求从键盘输入, 画出每一个数据点还有画出 适合的直线。 2. 定义输入输出值 这个程序所需的输入值为点的个数,以及点的坐标。输出是用 小二乘法得到的斜率以 及 y 上的截距。 3. 设计算法 这个问题被分解为 6 个大步骤: Get the number of input data points Read the input data values Calculate the required statistics Calculate the slop and intercept Write out the slop and intercept Plot the input points and the fitted line 第一大步是读取输入量的个数,所以我们要用到 input 函数。下一步我们要在 for 循环 中使用 input 函数读取输入量(x,y)。每一个输入值将会产生一个数组([x,y]),然后这个函 数将会返回这个数组到调用程序。注意在这里应用 for 循环是合适的,因为我们事先知道循 环要执行多少次。 上述步骤的伪代码如下: Print message describing purpose of the program


网友评论