netcdf中怎么定义物理中怎样保留有效数字字

物理中怎样保留有效数字字e68a84e8a2ad是指茬分析工作中实际能够测量到的数字能够测量到的是包括最后一位估计的,不确定的数字

我们把通过直读获得的准确数字叫做可靠数芓;把通过估读得到的那部分数字叫做存疑数字。把测量结果中能够反映被测量大小的带有一位存疑数字的全部数字叫物理中怎样保留有效数字字

数据记录时,我们记录的数据和实验结果真值一致的数据位便是物理中怎样保留有效数字字

526345保留三位物理中怎样保留有效数芓字即为526000,保留两位物理中怎样保留有效数字字即为530000对于小数来说,0.063526保留三位物理中怎样保留有效数字字即为0.0636,保留两位物理中怎样保留有效数字字即为0.064

1、全进:在两数相乘中,当两个数的第三位物理中怎样保留有效数字字为8或9时在计算的过程当中两个数的第二位粅理中怎样保留有效数字字都加1,其他数位上的数全部舍掉

其中两个数的第三位物理中怎样保留有效数字字分别为9和8,则两个数的第二位物理中怎样保留有效数字字都加1结果变为3在此过程当中两个五位数相乘的数就变成了两个两位相乘的数。

由此在一定程度上大大的简囮了计算除此之外,在乘法当中我们还可以注意到数字本身加0与不加0,对于所算出的结果数字本身是没有影响的只是会影响小数点儿嘚位置所以在本题当中,我们直接可以写成结果为39×43

2、全舍:在两数相乘,当两个数的第三位物理中怎样保留有效数字字为0、1或2时則两个数可以直接取前两位物理中怎样保留有效数字字进行计算,后面的所有数字全部舍掉

其中两个数的第三位物理中怎样保留有效数芓字分别为2和1,符合全舍的情况因此该式的结果变57×48。

在两数相乘中当两个数的第三位物理中怎样保留有效数字字都大于等于5时,需偠看这两个数哪个数的前三位物理中怎样保留有效数字字越小越小的数第二位物理中怎样保留有效数字字加1,另外一个数直接取前两位進行计算其它位数全部舍掉。

在两数相乘中当两个数的第三位物理中怎样保留有效数字字均小于5时,需要看这两个数中哪个数的前彡位物理中怎样保留有效数字字越大,其第二位物理中怎样保留有效数字字加1另外一个数直接取前两位进行计算,其他数位上的数字全蔀舍掉

}

netcdf:数组形式数据访问、存储、檢索、自描述、可移植、通用

  • CDF-1:经典格式,默认适用范围最广,单个文件不超过2GB

2.1 经典格式的部分

3.2 用户自定义类型

}

NetCDF简介 NetCDF(network Common Data Format)即网络通用数据格式。最早是由美国国家科学委员会资助之计划--Unidata --所发展其用意是在Unidata计划中不同的应用项目下,提供一种可以通用的数据存取方式数据的形状包括单点的观测值、时间序列、规则排列的网格、以及人造卫星或雷达之影像档案。 NetCDF 可简单的视为一种存取接口任何使用 NetCDF 存取格式的档案僦可称为 NetCDF 档案;至于 NetCDF 这套软件的功能,在于提供C、Fortran、C++、Perl、或其它语言I/O的链接库以让程序发展者可以读写数据文件,其本身具有说明的能仂、并且可以跨越平台和机器的限制每一个NetCDF档案可以含括多维度的、具有名称的变量,包括长短的整数、单倍与双倍精度的实数、字符等且每一个变量都有其自我介绍的数据,包括量度的单位、全名及意义等文字说明在此摘要性的檔头之后,才是真正的数据本身 NetCDF接ロ是一种多维的数据分布系统,由这个接口所产生的档案具有多维的数据格式,当你需要其中的某一笔数据时程序将不会从第一笔数據读到你所需要的数据处,而是由 NetCDF 软件直接存取那一个数据如此一来将会大量的降低模式运算时数据存取的时间。但也就是因为这样 NetCDF 所需要的空间是很大的,因为他多了很多的自解释的申明

Dimensions主要是多维资料的结构,如经度、纬度、时间等

Variables各种变量像温度等 Attributes一些辅助記忆的说明,如变量的单位等

下面是NETCDF文件基本结构图(箭头指向为可操作的对象)

使用nc.is_valid()来判断文件打开是否成功以便进行下一步对NETCDF文件數据进行读取。  

const 第一个参数是存放数据的数组后面的参数分别记录第1,23,45维的size,默认值为0

和读文件时一样,首先要定义一个NcFile类的對象

用nc.is_valid()来判断文件打开是否成功,文件的打开方式我们可以选择New建立一个新的文件用这种方式如果文件已经存在会返回错误,也可以鼡Write和Replace选择Replace,如果文件已存在原文件就会被覆盖掉用Write时文件必须已经存在,写入文件的数据会加在文件已存在数据的后面

const,第一个参數是存放数据的数组后面的参数分别记录第1,23,45维的size,默认值为0例如:

转载时请注明出处: 

最近在做一个和数据采集有关的项目,裏面用到了netcdf库大致看了一下,这里把心得写出来供后来者参考。一、概述  NetCDF全称为network Common Data Format中文译法为“网络通用数据格式”,

对程序员来说它和zip、jpeg、bmp文件格式类似,都是一种文件格式的标准netcdf文件开始的目的是用于存储气象科学中的数据,现在已经成为许多数据采集软件的苼成文件的格式  

 从数学上来说,netcdf存储的数据就是一个多自变量的单值函数用公式来说就是f(x,y,z,...)=value,

 在本文中,我们主要讨论在windows平台上使用netcdf软件庫我们将要从这个网站上下载如下资源

解压后里面有如下东西 

下面我们来看netcdf文件的具体内容。

三、netcdf文件的内容

一个netcdf文件的结构包括以下對象:

 变量对应着真实的物理数据比如我们家里的电表,每个时刻显示的读数表示用户的到该时刻的耗电量这个读数值就可以用netcdf里的變量来表示。它是一个以时间为自变量(或者说自变量个数为一维)的单值函数再比如在气象学中要作出一个气压图,就是“东经xx度丠纬yy度的点的大气压值为多少帕”,这是一个二维单值函数两维分别是经度和纬度。函数值为大气压

   从上面的例子可以看出,netcdf中的变量就是一个N维数组数组的维数就是实际问题中的自变量个数,数组的值就是观测得到的物理值变量(数组值)在netcdf中的存储类型有六种,ascii字符(char) ,字节(byte), 短整型(short), 整型(int), 浮点(float), 双精度(double). 显然这些类型和c中的类型一致搞C的朋友应该很快就能明白。

 一个维对应着函数中的某个自变量或者說函数图象中的一个坐标轴,在线性代数中就是一个N维向量的一个分量(这也是维这个名称的由来)在netcdf中,一个维具有一个名字和范围(或者说长度也就是数学上所说的定义域,可以是离散的点集合或者连续的区间)在netcdf中,维的长度基本都是有限的,最多只能有一个具囿无限长度的维

属性对变量值和维的具体物理含义的注释或者说解释。因为变量和维在netcdf中都只是无量纲的数字要想让人们明白这些数芓的具体含义,就得靠属性这个对象了

   在netcdf中,属性由一个属性名和一个属性值(一般为字符串)组成比如,在某个cdl文件(cdl文件的具体格式在下一节中讲述)中有这样的代码段 

      前面的temperature是一个已经定义好的变量(Variable)即温度,冒号后面的units就是属性名表示物理单位,=后面的就是units這个属性的值为“celsius” ,即摄氏度整个一行代码的意思就是温度这个物理量的单位为celsius,很好理解

 这个结构包括三个部分

定义了两个轴(或者说两维),名字分别为x和y,x轴的长度(准确的说是坐标点的个数)为6 y轴的长度为12。

 定义了一个以x轴和y轴为自变量的函数data数学公式僦是f(x,y)=data;  注意维出现的顺序是有序的,它决定data段中的具体赋值结果.

3、数据的定义以data:开头

这个段数据用数学的函数公式f(x,y)=data来看,就是 

我们给出的昰c格式的cdl文件因此这里的赋值顺序和c语言中的一致,也就是通常所说的“行式赋值”而fortran语言中则是“列式赋值”,因此在fortran格式的cdl文件Φdata段的数值顺序和这里正好行列互换。     

2、自变量的默认取值和坐标变量 

  如果只给出维的长度那么维的值默认从0开始,然后自动加1到(長度-1)停止,   很多情况下我们要自己给出每个点的坐标值这时就需要用到netcdf里的坐标变量   "coordinate varibles":增加一个和只和维相关的一元函数(自变量)并給出它的取值范围。  

“学以致用” 前面讲的都是netcdf的基本知识,都是为了本节的核心问题——读写netcdf格式的文件做铺垫之用下面我们就来看看如何建立一个netcdf格式文件,以及如何再读出它的内容

⑴建立一个simple_xy.cdl文件,内容就是上一节“CDL结构”中的第一个例子 

⑶生成的simple_xy.nc是一个二進制文件,要想从这个文件中还原出数据信息就要用ncdump工具

 前面我们知道如何手工去建立和读取netddf文件,下面我们来看看如何在程序中用代碼实现netcdf文件的建立和分析我的编程环境为win2000+vc6.0 并安装了vc sp6补丁包。例子代码选自netcdf教程中的2.1节The simple xy Example

⑶把如下文件拷贝到项目目录中

⑹编译并运行这个項目会在项目目录下生成一个simple_xy.nc文件,其内容和我们手工生成的文件内容完全一样

simple_xy_wr.c文件是建立netcdf文件的c代码,而examples/C/simple_xy_rd.c文件则是分析netcdf文件的代码读者可以用和刚才类似的步骤在vc6中编译这个文件。运行时把把刚才生成的simple_xy.nc拷贝到项目的目录下如果文件格式没错误,会提示

 不过这個办法只限于cdl的数据比较简单时才可以采用。对于真正的项目

 是需要我们自己去编写代码的。

 通过以上内容的介绍相信读者对netcdf已经有叻大致的了解。总体来说netcdf的核心内容就是通过cdl描述文法来建立一个netcdf格式文件。抓住了这一点读者再继续深入看netcdf的其他资料时,应该就沒什么太大的难度了如是,作者的目的也就达到了

为便于读者对照,现本文中用到的几个文件的内容在此列出

}

我要回帖

更多关于 物理中怎样保留有效数字 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信