NRF24L01_学习笔记解读
按照如下方式在电路板上安排的管脚
8 7
6 5
4 3
2 1
各管脚如下定义:
8.IRQ 7.MISO
6.MOSI 5.SCK
4.CSN 3.CE
2.VCC 1.GND
具体说明:
3.CE 芯片的模式控制线。在CSN 为低的情况下,CE 协同NRF24L01 的CONFIG 寄存器共同决定NRF24L01 的状态(参照NRF24L01 的状态机)。
4.CSN 为芯片的片选线CSN 为低电平芯片工作
5.SCK 为芯片控制的时钟线(SPI时钟)
6.MOSI 为芯片控制数据线(Master output slave input)主输出从输入
7.MISO 芯片控制数据线(Master input slave output)master 硕士主人船长slave 从属奴隶
主输入从输出
8.IRQ 中断信号引脚。中断时变为低电平,即NRF24L01内部发生中断时IRQ 引脚从高电平变为低电平。引脚会在以下三种情况变低:Tx FIFO 发完并且收到ACK(使能ACK情况下)、Rx FIFO 收到数据、达到最大重发次数。
中断:
nRF24L01 的中断引脚(IRQ)为低电平触发,当状态寄存器中TX_DS(数据发送完成中断位)、RX_DR(接收数据中断位)或MAX_RT(达到最多次重发中断位)为高时触发中断。当MCU 给中断源写‘1’时,中断引脚被禁止。可屏蔽中断可以被IRQ 中断屏蔽。通过设置可屏蔽中断位为高,则中断响应被禁止。默认状态下所有的中断源是被禁止的。
在写寄存器之前一定要进入待机模式或掉电模式
NRF24L01有以下工作模式:
其工作模式又CE和寄存器内部PWR_UP、PRIM_RX共同控制,见下表:
NRF24L01所处模式 PWR_UP
位状态
PRIM_RX
位状态
CE引脚
电平
FIFO 寄存器状态
接收模式 1 1 1 -
发送模式 1 0 1 数据在TX FIFO 寄
存器中
发送模式 1 0 1→0 停留在发送模式,直至数据发送完
待机模式II 1 0 1 TX FIFO 为空
待机模式I 1 - 0 无数据传输
掉电模式0 - - -
PWR_UP和PRIM_RX 在配置寄存器(CONFIG)中设置,配置寄存器如下:配置寄存器:寄存器地址:00名称:CONFIG
CON FIG
配置寄存器(配置NRF24L0 1一些工作方式)第7位
第6位
(MASK_RX_
DR)
第5位
(MASK_TX_D
S)
第4位
(MASK_MAX_R
T)
第3位
(EN_CRC
)
第2位
(CRCO)
第1位
(PWR_UP
)
第0位
(PRIM_RX
)
保留
(未用)
(MASK_RX_
DR)可屏蔽
中断RX_RD。
1:IRQ 引脚
不显示
RX_RD 中断
0:RX_RD 中
断产生时
IRQ 引脚电
平为低
(MASK_TX_D
S)可屏蔽中
断TX_DS。
1:IRQ 引脚
不显示TX_DS
中断
0:TX_DS 中
断产生时IRQ
引脚电平为
低
(MASK_MAX_
RT)可屏蔽中
断MAX_RT。
1:IRQ 引脚不
显示TX_DS 中
断
0:MAX_RT 中
断产生时IRQ
引脚电平为低
(EN_CRC
)CRC使
能。如果
EN_AA
中任意
一位为
高则
EN_CRC
强迫为
高。
(CRCO)
CRC模
式。
‘0’-
8 位
CRC 校
验
‘1’-
16 位
CRC 校
验
(PWR_UP
)NRF24L
01上电
掉电模
式设置
位。1:上
电 0:掉
电
(PRIM_RX
)NRF24L01
接收、发射
模式设置
位。 1:接收
模式 0:发
射模式
STATUS
状态寄存器(反应
nrf24l01当前工作的各种状态)第
7
位
第6位
(RX_DR)
第5位(TX_DS)第4位
第3
位
第2
位
第1
位
第0位
保
留
(
未
用
)
(RX_DR)接
收数据中断
位。当接收到
有效数据后
置1。写
‘1’清除中
断
(TX_DS)数据发送
完成中断。当数据发送
完成后产生中断。如果
工作在自动应答模式
下,只有当接收到应答
信号后此位置1。写
‘1’清除中断。
(MAX_RT)达到
最多次重发中断。
写‘1’清除中
断。如果MAX_RT
中断产生则必须
清除后系统才能
进行通讯
(RX_P_NO)即
接收数据通道号
位。000-101:数
据通道号、110:
未使用、111:RX
FIFO 寄存器为
空
(TX_FULL)
TX FIFO 寄
存器满标志。
1:TX FIFO 寄
存器满。0: TX
FIFO 寄存器
未满,有可用空
间。
5.1收发模式
收发模式有Enhanced ShockBurstTM收发模式、ShockBurstTM收
发模式和直接收发模式三种,收发模式由器件配置字决定,具体配置
将在器件配置部分详细介绍。
5.1.1 Enhanced ShockBurstTM收发模式
Enhanced ShockBurstTM收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器送入,但高速(1Mbps)发射,这样可以尽量节能,因此,使用低速的微控制器也能得到很高的射频数据发射速率。与射频协议相关的所有高速信号处理都在片内进行,这种做法有三大好处:
尽量节能;低的系统费用(低速微处理器也能进行高速射频发射);
数据在空中停留时间短,抗干扰性高。
Enhanced ShockBurstTM技术同时也减小了整个系统的平均工作电流。
在Enhanced ShockBurstTM收发模式下,NRF24L01自动处理字头和CRC校验码。在接收数据时,自动把字头和CRC校验码移去。在发送数据时,自动加上字头和CRC校验码,在发送模式下,置CE为高,至少10us,将时发送过程完成后。
5.1.1.1 Enhanced ShockBurstTM发射流程
A. 把接收机的地址和要发送的数据按时序送入NRF24L01;
B. 配置CONFIG寄存器,使之进入发送模式。
C. 微控制器把CE置高(至少10us),激发NRF24L01进行Enhanced ShockBurstTM
发射;
D.N24L01的Enhanced ShockBurstTM发射(1) 给射频前端供电;(2)射频数据打包(加
字头、CRC校验码);(3) 高速发射数据包;(4)发射完成,NRF24L01进入空闲状态。
4.1.1.2 Enhanced ShockBurstTM接收流程
A. 配置本机地址和要接收的数据包大小;
B. 配置CONFIG寄存器,使之进入接收模式,把CE置高。
C. 130us后,NRF24L01进入监视状态,等待数据包的到来;
D.当接收到正确的数据包(正确的地址和CRC校验码),NRF2401自动把字
头、地址和CRC校验位移去;
E. NRF24L01通过把STATUS寄存器的RX_DR置位(STATUS一般引起微
控制器中断)通知微控制器;
F. 微控制器把数据从NewMsg_RF2401 读出;
G. 所有数据读取完毕后,可以清除STATUS寄存器。NRF2401可以进入
四种主要的模式之一。
5.1.2 ShockBurstTM收发模式
ShockBurstTM收发模式可以与Nrf2401a,02,E1及E2兼容,具体表述前
看本公司的N-RF2401文档。
5.2 空闲模式
NRF24L01的空闲模式是为了减小平均工作电流而设计,其最大的优点是,实现节能的同时,缩短芯片的起动时间。在空闲模式下,部分片内晶振仍在工作,此时的工作电流跟外部晶振的频率有关。
5.4 关机模式
在关机模式下,为了得到最小的工作电流,一般此时的工作电流为900nA左右。关机模式下,配置字的内容也会被保持在NRF2401片内,这是该模式与断电状态最大的区别。
5.5增强型的ShockBurst TM 模式
增强型ShockBurst TM 典型的双链方式为:发送方要求终端设备在接收到数据后有应答信号,以便发送方检测有无数据丢失,一旦丢失则重发数据。重发数据设置在地址为04 的数据重发设置寄存器用于设置其重发次数及设置在未收到应答信号后等待重发的时间。
nRF24L01 在接收模式下可以接收6 路不同通道的数据,见下图。每一个数据通道使用不同的地址,但是共用相同的频道。也就是说6 个不同的nRF24L01 设置为发送模式后可以与同一个设置为接收模式的
nRF24L01 进行通讯,而设置为接收模式的nRF24L01 可以对这6 个发射端进行识别。数据通道0 是唯一
的一个可以配置为40 位自身地址的数据通道。1~5 数据通道都为8 位自身地址和32 位公用地址。所有的数据通道都可以设置为增强型ShockBurst 模式。
NRF24L01在确认收到数据后记录地址,并以此地址为目标地址发送应答信号,在发送端,数据通道0被用作接收应答信号,因此属通道0 的接收地址要与发送地址端地址相等,以确保接收到正确的应答信号。
当MCU 控制NRF24L01发送数据时,NRF24L01就会启动发送数据,发送完后NRF24L01就会转到接收模式并等待终端的应答信号。如果没有收到应答信号,NRF24L01就会重发数据包,知道收到应答信号,或达到重发次数寄存器设定的最大值为止,如果重发次数超过了设定值则产生MAX_RT (最大重发次数中断)(应该在该中断没有被屏蔽的情况下的时候才会发生)
只要收到确认信号,nRF24L01 就认为最后一包数据已经发送成功(接收方已经收到数据),把TX FIFO 中的数据清除掉并产生TX_DS 中断(数据发送完中断)(IRQ 引脚置高)。
增强型ShockBurstTM 发送模式: 1、 配置寄存器位PRIM_RX 为低
2、 当MCU 有数据要发送时,接收节点地址(TX_ADDR )和有效数据(TX_PLD)通过SPI 接口写入
nRF24L01。发送数据的长度以字节计数从MCU 写入TX FIFO 。当CSN 为低时数据被不断的写入。 发送端发送完数据后,将通道0 设置为接收模式来接收应答信号,其接收地址(RX_ADDR_P0)与接 收端地址(TX_ADDR)相同。
例:在上图 中数据通道5 的发送端(TX5)及接收端(RX)地址设置如下: TX5:TX_ADDR=0xB3B4B5B605 TX5:RX_ADDR_P0=0xB3B4B5B605 RX :RX_ADDR_P5=0xB3B4B5B605
3、设置CE 为高,启动发射。CE 高电平持续时间最小为10 us。
4、 nRF24L01 ShockBurstTM 模式:
无线系统上电
启动内部16MHz 时钟
无线发送数据打包(见数据包描述)
高速发送数据(由MCU 设定为1Mbps 或2Mbps)
5、如果启动了自动应答模式(自动重发计数器不等于0,ENAA_P0=1),无线芯片立即进入接收模式。
如果在有效应答时间范围内收到应答信号,则认为数据成功发送到了接收端,此时状态寄存器的
TX_DS 位置高并把数据从TX FIFO 中清除掉。如果在设定时间范围内没有接收到应答信号,则重
新发送数据。如果自动重发计数器(ARC_CNT)溢出(超过了编程设定的值),则状态寄存器的
MAX_RT 位置高。不清除TX FIFO 中的数据。当MAX_RT 或TX_DS 为高电平时IRQ 引脚产生中
断。IRQ 中断通过写状态寄存器来复位(见中断章节)。如果重发次数在达到设定的最大重发次数
时还没有收到应答信号的话,在MAX_RX 中断清除之前不会重发数据包。数据包丢失计数器
(PLOS_CNT)在每次产生MAX_RT 中断后加一。也就是说:重发计数器ARC_CNT 计算重发数据
包次数,PLOS_CNT 计算在达到最大允许重发次数时仍没有发送成功的数据包个数。
6、如果CE 置低,则系统进入待机模式I。如果不设置CE 为低,则系统会发送TX FIFO 寄存器中下
一包数据。如果TX FIFO 寄存器为空并且CE 为高则系统进入待机模式II.
7、如果系统在待机模式II,当CE 置低后系统立即进入待机模式I.
增强型ShockBurstTM 接收模式:
1、 ShockBurstTM 接收模式是通过设置寄存器中PRIM_RX 位为高来选择的。准备接收数据的通道必须
被使能(EN_RXADDR 寄存器),所有工作在增强型ShockBurstTM 模式下的数据通道的自动应答功
能是由(EN_AA 寄存器)来使能的,有效数据宽度是由RX_PW_Px 寄存器来设置的。地址的建立过
程见增强型ShockBurstTM 发送章节。
2、接收模式由设置CE 为高来启动。
3、 130us 后nRF24L01 开始检测空中信息。
4、接收到有效的数据包后(地址匹配、CRC 检验正确),数据存储在RX_FIFO 中,同时RX_DR 位
置高,并产生中断。状态寄存器中RX_P_NO 位显示数据是由哪个通道接收到的。
5、如果使能自动确认信号,则发送确认信号。
6、 MCU 设置CE 脚为低,进入待机模式I(低功耗模式)。
7、 MCU 将数据以合适的速率通过SPI 口将数据读出。
8、芯片准备好进入发送模式、接收模式或掉电模式。
两种数据双方向的通讯方式:
如果想要数据在双方向上通讯,PRIM_RX 寄存器必须紧随芯片工作模式的变化而变化。处理器必须保证PTX 和PRX 端的同步性。在RX_FIFO 和TX_FIFO 寄存器中可能同时存有数据。
数据通道:
nRF24L01 配置为接收模式时可以接收6 路不同地址相同频率的数据。每个数据通道拥有自己的地址
并且可以通过寄存器来进行分别配置。
数据通道是通过寄存器EN_RXADDR 来设置的,默认状态下只有数据通道0 和数据通道1 是开启状
态的。
每一个数据通道的地址是通过寄存器RX_ADDR_Px 来配置的。通常情况下不允许不同的数据通道设
置完全相同的地址。
数据通道0 有40 位可配置地址。数据通道1-5 的地址为:32 位共用地址+各自的地址(最低字节)。
下图所示的是数据通道1-5 的地址设置方法举例。所有数据通道可以设置为多达40 位,但是1-5 数据通
道的最低位必须不同。
当从一个数据通道接收到数据,并且此数据通道设置为应答方式的话,则nRF24L01 在收到数据后
产生应答信号,此应答信号的目标地址为接收通道地址。
寄存器配置有些是针对所有数据通道的,有些则是针对个别的。如下设置举例是针对所有数据通道的:
● CRC 使能/禁止
● CRC 计算
●接收地址宽度
●频道设置
●无线数据通信速率
● LNA 增益
●射频输出功率
数据通道1-5 的配置方式
六、NRF24L01 的SPI 配置
SPI 指令设置
用于SPI 接口的常用命令见下表。当CSN 为低时,SPI 接口开始等待一条指令,任何一条新指令均由CSN 的由高到低的转换开始
表6-1 串行接口指令设置
SPI接口指令
指令名称指令格式操作
R_REGISTER 000A AAAA 读配置寄存器。AAAAA指出读操作的寄存器地址
以下是寄存器内
容及说明:(在NRF24L01模块说明书中具体的以后有时间再补)
C 语言复合赋值语句:“a=a+b ;”可写成 “a+=b;” 而 “a=a*(b+c);” 可写成“a*=b+c ;” uchar |= MISO; 就是uchar=uchar | MISO;
NRF24L01 的接口 可以任选在单片机的 P1口或P3口,但在本人单片机实验板上(实验板型号是CCDZ-B ) P2口上数据传输不出去,或是很少情况下能够传出去 具体原因不详。根据其有一份说明NRF24L01 若要接在P0口上要接一个10K 的上拉电阻,似乎在单片机四排IO 口中数P0 的驱动能力和带负载能力最强!本人猜测这样做是为了
W_REGISTER 001A AAAA 写配置寄存器。AAAAA 指出写操作的寄存器地址只能在掉电模式或待机模式下操作
R_RX_PAYLO
AD
0110 0001 读RX 有效数据:1—32字节。读操作全部从字节0开始。
当读RX 有效数据完成后,FIFO 寄存器中有效数据被清除
应用于接收模式下
W_RX_PAYLO
AD 1010 0000
写TX 有效数据:1-32字节。写操作从字节0开始。应用于
发射模式下
FLUSH_TX
1110 0001 清除TX FIFO 寄存器,应用于发生模式下。
FLUSH_RX
1110 0010
清除RX FIFO 寄存器,应用于接收模式下。在传输应答信号过程中不应执行此指令。也就是说,若传输应答信
号过程中执行此指令的话将使得应答信号不能被完整的传输。
REUSE_TX_P
L
1110 0011 应用于发射端。重新使用上一包发射的有效数据。当CE=1
时,数据被不断重新发射。在发射数据包过程中必须禁
止数据包重利用功能
NOP
1111 1111 空操作。可用来读状态寄存器。
保护无线数传模块和单片机!具体的要翻阅单片机IO口驱动能力,和其最大输出输入电流了!
NRF24L01 Rx 和Tx 初始化配置说明
Tx 模式初始化过程
1)写Tx 节点的地址TX_ADDR
2)写Rx 节点的地址(主要是为了使能Auto Ack)RX_ADDR_P0
3)使能AUTO ACK EN_AA
4)使能PIPE 0 EN_RXADDR
5)配置自动重发次数SETUP_RETR
6)选择通信频率RF_CH
7)配置发射参数(低噪放大器增益、发射功率、无线速率)RF_SETUP
8 ) 选择通道0 有效数据宽度Rx_Pw_P0
9)配置24L01 的基本参数以及切换工作模式CONFIG。
详细说明:
1.写Tx 节点的地址TX_ADDR SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS,
TX_ADR_WIDTH);
2.写Rx 节点的地址(主要是为了使能Auto Ack)RX_ADDR_P0 SPI_Write_Buf(WRITE_REG +
RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); 为了应答接收设备,接收通道0地址和发送地址相同
3.使能AUTO ACK EN_AA SPI_RW_Reg(WRITE_REG + EN_AA, 0x01);
该函数为写寄存器函数有两个参数第一个参数是写寄存器指令EN_AA是自动应答功能寄存器地址该寄存器为8位可读写寄存器0-5为ENAA_P0-ENAA_P5 数据通道自动应答允许1 为允许0为不允许6-7位为保留位未用默认为0 第二个参数即是要向寄存器写入的数值此处为0x01 即是允许接收通道0 自动应答其他的都不能
4.使能PIPE 0 EN_RXADDR
Tx 模式初始化过程
1)写Tx 节点的地址TX_ADDR
2)写Rx 节点的地址(主要是为了使能Auto Ack)RX_ADDR_P0
3)使能AUTO ACK EN_AA
4)使能PIPE 0 EN_RXADDR
5)配置自动重发次数SETUP_RETR
6)选择通信频率RF_CH
7)配置发射参数(低噪放大器增益、发射功率、无线速率)RF_SETUP
8 ) 选择通道0 有效数据宽度Rx_Pw_P0
9)配置24L01 的基本参数以及切换工作模式CONFIG。
详细说明:
1.写Tx 节点的地址TX_ADDR 用函数SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS,
TX_ADR_WIDTH); 函数有三个参数第一个是寄存器指令参数给出写寄存器指令并且向TX_ADDR 寄存器写入TX_ADDR寄存器是发送地址寄存器四十位寄存器装入发送地址的在增强型ShockBurstTM 模式下RX_ADDR_P0 与此地址相等。TX_ADDRESS 是一个要写入的发送地址通常设置为一个数组其长度即是地址的长度长度指定又TX_ADR_WIDTH 指定通常为40 位地址即5个16进制数组成
2. 写Rx 节点的地址(主要是为了使能Auto Ack)RX_ADDR_P0 用函数SPI_Write_Buf(WRITE_REG +
RX_ADDR_P0, TX_ADDRESS, T X_ADR_WIDTH); 该函数有三个参数第一个WRITE_REG + RX_ADDR_P0 是写寄存器命令然后就是频道0接收数据地址(RX_ADDR_P0)
3.使能AUTO ACK EN_AA 用函数SPI_RW_Reg(WRITE_REG + EN_AA, 0x01);
该函数为写寄存器函数有两个参数第一个参数是写寄存器指令EN_AA是自动应答功能寄存器地址该寄存器为8位可读写寄存器0-5为ENAA_P0-ENAA_P5 数据通道自动应答允许1 为允许0为不允许6-7位为保留位未用默认为0 第二个参数即是要向寄存器写入的数值此处为0x01 即是允许接收通道0 自动应答其他的都不能
4.使能PIPE 0 EN_RXADDR 用函数Write_Reg(WRITE_REG + EN_RXADDR, 0x01);
该函数为写寄存器函数EN_RXADDR 为接收地址允许寄存器是8位的可读写寄存器0-5为ERX_P0-ERX_P5接收数据通道允许 1 为允许 0为不允许6-7位为保留位未用默认为0 复位值0、1 通道为1 即允许此处为0x01 即允许通道0 接收地址即允许那个通道接收数据
5.配置自动重发次数SETUP_RETR 用函数SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x0a); 主要操
作自动重发配置寄存器SETUP_RETR 该寄存器为8位寄存器0—3位为自动重发数值设置位自动重发计数‘0000’-禁止自动重发‘0000’-自动重发一次……‘0000’-自动重发15 次4—7位为自动重发延时设置位各位逻辑关系如下自动重发延时‘0000’-等待250+86us ‘0001’-等待500+86us ‘0010’-等待750+86us ……‘1111’-等待4000+86us(延时时间是指一包数据发送完成到下一包数据开始发射之间的时间间隔)
6.选择通信频率RF_CH 函数Write_Reg(WRITE_REG + RF_CH, 40); RF_CH 工作频率设置寄存器
8位0--6位可用第八位为保留位7位值可以设置128 个频段实际是125个频段从2400MH到2525MH 值可以任意设定但是接收发送必须一致
7.配置发射参数(低噪放大器增益、发射功率、无线速率)RF_SETUP 函数
Write_Reg(WRITE_REG + RF_SETUP, 0x07); RF_SETUP 为发射参数设置寄存器8位5—7位保留未用默认为000 0—4位分别是0 位为低噪声放大增益1—2位为发射功率设置00--11发射功率分别是‘00’—-18dBm ‘01’—-12dBm
‘10’—-6dBm ‘11’—0dBm 第3 位为数据传输速率设置位‘0’–1Mbps ‘1’—2 Mbps 第四位为PLL_LOCK 允许,仅应用于测试模式
8.选择接收通道有效数据宽度Rx_Pw_P0 函数Write_Reg(WRITE_REG + RX_PW_P0,
TX_PLOAD_WIDTH); Rx_Pw_P0 为数据通道0 数据宽度设置寄存器8位6—7位保留未用0—5位0 为设置不合法 1.为一字节宽度32 为32字节有效宽度相应有Rx_Pw_P1—Rx_Pw_P5 数据通道宽度寄存器设置方法类似
9.配置24L01 的基本参数以及切换工作模式CONFIG 函数Write_Reg(WRITE_REG + CONFIG, 0x0f);
CONFIG 为NRF24L01 的基本参数设置寄存器8位第0位为接收模式和发射模式选择位 1 为接收模式0 为发射模式。第1位为上电掉电模式设置位 1 为上电模式0为掉电模式。第2位为CRC校验模式设置位‘0’-8 位CRC 校验‘1’-16 位CRC 校验。第3位为CRC校验使能位 1 为使能。如果EN_AA 中任意一位为高则EN_CRC 强迫为高。第4位为可屏蔽中断MAX_RT 位1:IRQ 引脚不显示TX_DS 中断0:MAX_RT 中断产生时IRQ 引脚电平为低(此处是该中断介绍保留)。第5位为可屏蔽中断TX_DS位 1:IRQ 引脚不显示TX_DS 中断0:TX_DS 中断产生时IRQ 引脚电平为低第6位为可屏蔽中断RX_RD 位1:IRQ 引脚不显示RX_RD 中断0:RX_RD 中断产生时IRQ 引脚电平为低第7位保留未用
至此接收模式设置完毕
Rx 模式初始化过程:
初始化步骤24L01 相关寄存器
1)写Rx 节点的地址RX_ADDR_P0
2)使能AUTO ACK EN_AA
3)使能PIPE 0 EN_RXADDR
4)选择通信频率RF_CH
5) 选择通道0 有效数据宽度Rx_Pw_P0
6)配置发射参数(低噪放大器增益、发射功率、无线速率)RF_SETUP
7)配置24L01 的基本参数以及切换工作模式CONFIG。
详细说明:
1.写RX节点地址,用函数SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS,
TX_ADR_WIDTH); 该函数有三个参数第一个WRITE_REG + RX_ADDR_P0 是写寄存器命令然后就是频道0接收数据地址(RX_ADDR_P0)
数据通道0 接收地址。最大长度:5 个字节(先写低字节,所写字节数量由TX_ADR_WIDTH 设定)2.使能AUTO ACK EN_AA 用函数SPI_RW_Reg(WRITE_REG + EN_AA, 0x01);
该函数为写寄存器函数有两个参数第一个参数是写寄存器指令EN_AA是自动应答功能寄存器地址该寄存器为8位可读写寄存器0-5为ENAA_P0-ENAA_P5 数据通道自动应答允许1 为允许0为不允许6-7位为保留位未用默认为0 第二个参数即是要向寄存器写入的数值此处为0x01 即是允许接收通道0 自动应答其他的都不能
3.使能PIPE 0 EN_RXADDR 用函数Write_Reg(WRITE_REG + EN_RXADDR, 0x01);
该函数为写寄存器函数EN_RXADDR 为接收地址允许寄存器是8位的可读写寄存器0-5为ERX_P0-ERX_P5接收数据通道允许 1 为允许 0为不允许6-7位为保留位未用默认为0 复位值0、1 通道为1 即允许此处为0x01 即允许通道0 接收地址即允许那个通道接收数据
4.选择通信频率RF_CH 函数Write_Reg(WRITE_REG + RF_CH, 40); RF_CH 工作频率设置寄存器
8位0--6位可用第八位为保留位7位值可以设置128 个频段实际是125个频段从2400MH到2525MH 值可以任意设定但是接收发送必须一致
5.选择接收通道有效数据宽度Rx_Pw_P0 函数Write_Reg(WRITE_REG + RX_PW_P0,
TX_PLOAD_WIDTH); Rx_Pw_P0 为数据通道0 数据宽度设置寄存器8位6—7位保留未用0—5位0 为设置不合法 1.为一字节宽度32 为32字节有效宽度相应有Rx_Pw_P1—Rx_Pw_P5 数据通道宽度寄存器设置方法类似
6.配置发射参数(低噪放大器增益、发射功率、无线速率)RF_SETUP 函数
Write_Reg(WRITE_REG + RF_SETUP, 0x07); RF_SETUP 为发射参数设置寄存器8位5—7位保留未用默认为000 0—4位分别是0 位为低噪声放大增益1—2位为发射功率设置00--11发射功率分别是‘00’—-18dBm ‘01’—-12dBm
‘10’—-6dBm ‘11’—0dBm 第3 位为数据传输速率设置位‘0’–1Mbps ‘1’—2 Mbps 第四位为PLL_LOCK 允许,仅应用于测试模式
7.配置24L01 的基本参数以及切换工作模式CONFIG 函数Write_Reg(WRITE_REG + CONFIG, 0x0f);
CONFIG 为NRF24L01 的基本参数设置寄存器8位第0位为接收模式和发射模式选择位 1 为接收模式0 为发射模式。第1位为上电掉电模式设置位 1 为上电模式0为掉电模式。第2位为CRC校验模式设置位‘0’-8 位CRC 校验‘1’-16 位CRC 校验。第3位为CRC校验使能位 1 为使能。如果EN_AA 中任意一位为高则EN_CRC 强迫为高。第4位为可屏蔽中断MAX_RT 位1:IRQ 引脚不显示TX_DS 中断0:MAX_RT 中断产生时IRQ 引脚电平为低(此处是该中断介绍保留)。第5位为可屏蔽中断TX_DS位 1:IRQ 引脚不显示TX_DS 中断0:TX_DS 中断产生时IRQ 引脚电平为低第6位为可屏蔽中断RX_RD 位1:IRQ 引脚不显示RX_RD 中断0:RX_RD 中断产生时IRQ 引脚电平为低第7位保留未用
至此接收模式设置完毕
一些寄存器介绍:
NRF24L01地址宽度设置寄存器:(SETUP_AW)
寄存器名称:SETUP_AW 。寄存器地址:0x03。寄存器位数:8位。各位详细介绍:该寄存器为设置地址宽度寄存器针对所有数据通道0—1位为接收/发射地址宽度设置位具体是:‘00’-无效、‘01’-3 字节宽度、‘10’-4 字节宽度、‘11’-5 字节宽度2—7位为保留位未用
NRF24L01状态寄存器:(STATUS)
寄存器名称:STATUS 。寄存器地址:0x07。寄存器位数:8位。各位详细介绍:该寄存器为反映NRF24L01内部其他寄存器工作状态的寄存器第0位为TX_FULL 即TX FIFO 寄存器满标志,逻辑1:TX FIFO 寄存器满、逻辑0: TX FIFO 寄存器未满,有可用空间。第1-3位为RX_P_NO 即接收数据通道号位000-101:数据通道号、110:未使用、111:RX FIFO 寄存器为空。第4位为MAX_RT 即达到最多次重发中断写‘1’清除中断。如果MAX_RT 中断产生则必须清除后系统才能进行通讯第5位为TX_DS 数据发送完成中断。当数据发送完成后产生中断。如果工作在自动应答模式下,只有当接收到应答信号后此位置一。写‘1’清除中断。第6位RX_DR 接收数据中断位。当接收到有效数据后置一。写‘1’清除中断。第7位保留位未用
NRF24L01发送检测寄存器(OBSERVE_TX )
寄存器名称:OBSERVE_TX。寄存器地址:0x08。寄存器位数:8位。各位详细介绍:发送检测寄存器第0-3位ARC_CNT 重发计数器。发送新数据包时此寄存器复位第4-7位PLOS_CNT 数据包丢失计数器。当写RF_CH 寄存器时此寄存器复位。当丢失15 个数据包后此寄存器重启。复位值为0.
NRF24L01载波检测寄存器(CD)
寄存器名称:CD。寄存器地址:0x09。寄存器位数:8位。各位详细介绍:第0位载波检测位复位值为0 第1-7位保留位未用
NRF24L01 FIFO检测寄存器(FIFO_STATUS)
寄存器名称:FIFO_STATUS 。寄存器地址:0x17。寄存器位数:8位。各位详细介绍:FIFO 为先入先出堆栈的意思第0位RX_EMPTY RX FIFO 寄存器空标志位( RX FIFO接收先入先出堆栈寄存器)。 1:RX FIFO 寄存器空、0: RX FIFO 寄存器非空。第1位RX_FULL RX FIFO 寄存器满标志。
1:RX FIFO 寄存器满、0: RX FIFO 寄存器未满,有可用空间。第2-3位保留位未用第4位TX_EMPTY TX FIFO 寄存器空标志。1:TX FIFO 寄存器空、0: TX FIFO 寄存器非空。第5位TX_FULL TX FIFO 寄存器满标志。1:TX FIFO 寄存器满、0: TX FIFO 寄存器未满,有可用空间。第6位TX_REUES 若TX_REUSE=1 则当CE 位高电平状态时不断发送上一数据包。TX_REUSE 通过SPI 指令REUSE_TX_PL 设置,通过W_TX_PALOAD或FLUSH_TX 复位。第7位保留位未用
接收模块检查数据是否收到的方式:可以使用下列函数语句......
/**************************************************
函数:Check_ACK()
描述:检查接收设备有无接收到数据包,设定没有收到应答信号是否重发
/**************************************************/
uchar Check_ACK(bit clear)
{
while(IRQ);
sta = SPI_RW(NOP); // 读状态寄存器值
if(MAX_RT) // MAX_RT 即达到最多次重发中断写‘1’清除中断。如果MAX_RT 中断产生则必
须清除后系统才能进行通讯
if(clear) // 是否清除TX FIFO,没有清除在复位MAX_RT中断标志后重发SPI_RW(FLUSH_TX); //清空发送缓冲
SPI_RW_Reg(WRITE_REG + STATUS, sta); // 清除TX_DS或MAX_RT中断标志
IRQ = 1;
if(TX_DS)
return(0x00);
else
return(0xff);
}
/**************************************************/
1、IRQ 为中断信号,IRQ 引脚会在以下三种情况变低:
Tx FIFO 发完并且收到ACK(使能ACK情况下)、Rx FIFO 收到数据、达到最大重发次数。
NRF24L01状态寄存器:(STATUS)
寄存器名称:STATUS 。寄存器地址:0x07。寄存器位数:8位。各位详细介绍:该寄存器为反映NRF24L01内部其他寄存器工作状态的寄存器第0位为TX_FULL 即TX FIFO 寄存器满标志,逻辑1:TX FIFO 寄存器满、逻辑0: TX FIFO 寄存器未满,有可用空间。第1-3位为RX_P_NO 即接收数据通道号位000-101:数据通道号、110:未使用、111:RX FIFO 寄存器为空。第4位为MAX_RT 即达到最多次重发中断写‘1’清除中断。如果MAX_RT 中断产生则必须清除后系统才能进行通讯第5位为TX_DS 数据发送完成中断。当数据发送完成后产生中断。如果工作在自动应答模式下,只有当接收到应答信号后此位置一。写‘1’清除中断。第6位RX_DR 接收数据中断位。当接收到有效数据后置一。写‘1’清除中断。第7位保留位未用
STATU S状态寄
存器(反应nrf24l01当前工作的各种状态)第7
位
第6位
(RX_DR)
第5位(TX_DS)第4位
第3
位
第2
位
第1
位
第0位
保
留
(未
用)
(RX_DR)接
收数据中断
位。当接收到
有效数据后
置1。写
‘1’清除中
断
(TX_DS)数据发送
完成中断。当数据发送
完成后产生中断。如果
工作在自动应答模式
下,只有当接收到应答
信号后此位置1。写
‘1’清除中断。
(MAX_RT)达到
最多次重发中断。
写‘1’清除中断。
如果MAX_RT 中断
产生则必须清除后
系统才能进行通讯
(RX_P_NO)即
接收数据通道号
位。000-101:数据
通道号、110:未使
用、111:RX FIFO
寄存器为空
(TX_FULL)
TX FIFO 寄
存器满标志。
1:TX FIFO 寄
存器满。0:TX
FIFO 寄存器
未满,有可用空
间。
配置寄存器:寄存器地址:00名称:CONFIG
CON FIG
配置寄存器(配置NRF24L0 1一些工作方式)第7位
第6位
(MASK_RX_
DR)
第5位
(MASK_TX_D
S)
第4位
(MASK_MAX_R
T)
第3位
(EN_CRC
)
第2位
(CRCO)
第1位
(PWR_UP
)
第0位
(PRIM_RX
)
保留
(未用)
(MASK_RX_
DR)可屏蔽
中断RX_RD。
1:IRQ 引脚
不显示
RX_RD 中断
0:RX_RD 中
断产生时
IRQ 引脚电
平为低
(MASK_TX_D
S)可屏蔽中
断TX_DS。
1:IRQ 引脚
不显示TX_DS
中断
0:TX_DS 中
断产生时IRQ
引脚电平为
低
(MASK_MAX_
RT)可屏蔽中
断MAX_RT。
1:IRQ 引脚不
显示TX_DS 中
断
0:MAX_RT 中
断产生时IRQ
引脚电平为低
(EN_CRC
)CRC使
能。如果
EN_AA
中任意
一位为
高则
EN_CRC
强迫为
高。
(CRCO)
CRC模
式。
‘0’-
8 位
CRC 校
验
‘1’-
16 位
CRC 校
验
(PWR_UP
)NRF24L
01上电
掉电模
式设置
位。1:上
电 0:掉
电
(PRIM_RX
)NRF24L01
接收、发射
模式设置
位。 1:接收
模式 0:发
射模式
状态寄存器:寄存器地址:07名称:STATUS
STATU第7
位第6位
(RX_DR)
第5位(TX_DS)第4位(MAX_RT)
第3
位
第2
位
第1
位
第0位
(TX_FULL)
S状态寄
存器(反应nrf24l01当前工作的各种状态)保
留
(未
用)
(RX_DR)接
收数据中断
位。当接收到
有效数据后
置1。写
‘1’清除中
断
(TX_DS)数据发送
完成中断。当数据发
送完成后产生中断。如
果工作在自动应答模
式下,只有当接收到应
答信号后此位置1。写
‘1’清除中断。
(MAX_RT)达到
最多次重发中断。
写‘1’清除中断。
如果MAX_RT 中断
产生则必须清除后
系统才能进行通讯
(RX_P_NO)即
接收数据通道号
位。000-101:数据
通道号、110:未使
用、111:RX FIFO
寄存器为空
(TX_FULL)
TX FIFO 寄
存器满标志。
1:TX FIFO 寄
存器满。0:TX
FIFO 寄存器
未满,有可用空
间。
NRF24L01时序信息:
nRF24L01 时序最大值最小值参数名掉电模式→待机模式 1.5ms Tpd2stby 待机模式→发送/接收模式130us Tstby2a CE 高电平保持时间10us Thce
CSN 为低电平,CE 上升沿的延迟时间4us Tpece2csn
nRF24L01 在掉电模式下转入发射模式或接收模式前必须经过1.5ms 的待机模式。注意:当关掉电源VDD 后寄存器配置内容丢失,模块上电后需重新进行配置。
数值分析典型习题
特别声明:考试时需带计 算器作辅助计算 1.2015x *=是经四舍五入得到的近似值,则其相对误差* r e ≤-31 104 ?. 2. 01(),(), ,()n l x l x l x 是以01,, ,n x x x 为节点的拉格朗日插值基函数,则 3.设(0)1(1)3(2)4(3)2f =,f =,f =,f =,[0123]f =,,,1 3 - . 4. 利用Simpson 公式求?2 1 2dx x = 7.3 5. 设求积公式1 0()d (),(1)n k k k f x x A f x n ≈≥∑?=是Gauss 型求积公式,则3 n k k k A x == ∑1 .4 6. 数值微分公式(2)(2) ()i i i f x h f x h f x h +≈ --'的截断误差为 2().O h 7. 设1101A ?? = ??? ,则A 的谱半径()A ρ= 1 ,A 的条件数1cond ()A = 4. 8. 用牛顿下山法求解方程3 03 x x -=根的迭代公式是 2 13 3(1),3n n n n x x x x x λ+-=-- 下山条件是 1()().n n f x f x +< 9.对任意初始向量(0)x 及任意向量f ,线性方程组的迭代公式(1)()(0,1,2,)k k k +=+=x Bx f ,迭代序列()k x 收敛于方程组的精确解x *的充分必要条件是()1.ρ中国农业大学研究生数值分析考试重点及笔记
中国农业大学数值分析研究生课程重点 后面有笔者的笔记!! 第1章 1、 5个概念(绝对误差、绝对误差限、相对误差、相对误差限,有效数字)及其计算,数值运算的误差估计 2、算法稳定性的概念及算法设计的5个原则 第2章 1、牢记拉格朗日插值公式、牛顿插值公式,掌握余项推导 2、了解均差的性质 3、会用基函数和承袭性两种方法构造埃尔米特插值问题,并会推导余项 4、为何要分段低次插值?会构造分段线性和分段三次埃尔米特插值 5、三次样条插值的2种构造思路 第3章 会利用最小二乘法解决具体问题 第4章 1、机械求积公式、代数精度的概念理解和计算
2、插值型求积公式的定义和判断,插值型求积公式中求积系数有何特点?如何证明? 3、求积公式余项的推导 4、什么叫牛顿-柯特斯求积公式?总结其优缺点 5、牢记梯形公式、辛普森公式及其余项(会推导),牢记柯特斯公式 6、复化求积公式的计算 7、高斯型求积公式的定义、判断和使用,高斯型求积公式中求积系数有何特点?如何证明? 8、总结学过的数值求积公式,说明其关系 第5章 1、会用高斯消去法、高斯列主元素法、直接三角分解法、(改进)平方根法、追赶法求解线性方程组 2、会计算矩阵和向量的常用范数 3、线性方程组性态的分析 第6章 1、三种迭代法(雅可比、高斯-赛德尔、松弛法)的构造及其矩阵形式的推导 2、会构造迭代公式求方程组的解,并判断是否收敛 第7章
1、了解不动点迭代法是否收敛的判断方法 2、会判断迭代法收敛的收敛速度(收敛阶) 3、会构造不动点迭代公式求方程的根,并指明收敛阶数 4、牛顿迭代法公式推导,求单根和重根收敛性的证明 5、牛顿迭代法的优缺点及其改进 第9章 1、牢记欧拉的5个公式及其推导 2、会用三种不同方法推导欧拉显式单步公式 3、掌握局部截断误差的概念及其应用
数值分析重点公式
第一章 非线性方程和方程组的数值解法 1)二分法的基本原理,误差:~ 1 2 k b a x α+--< 2)迭代法收敛阶:1lim 0i p i i c εε+→∞ =≠,若1p =则要求01c << 3)单点迭代收敛定理: 定理一:若当[],x a b ∈时,[](),x a b ?∈且' ()1x l ?≤<,[],x a b ?∈,则迭代格式收敛 于唯一的根; 定理二:设()x ?满足:①[],x a b ∈时,[](),x a b ?∈, ②[]121212,,, ()(),01x x a b x x l x x l ???∈-≤-<<有 则对任意初值[]0,x a b ∈迭代收敛,且: 110 1 11i i i i i x x x l l x x x l αα+-≤ ---≤-- 定理三:设()x ?在α的邻域内具有连续的一阶导数,且'()1?α<,则迭代格式具有局部收敛性; 定理四:假设()x ?在根α的邻域内充分可导,则迭代格式1()i i x x ?+=是P 阶收敛的 () ()()0,1,,1,()0j P j P ? α?α==-≠ (Taylor 展开证明) 4)Newton 迭代法:1'() () i i i i f x x x f x +=-,平方收敛 5)Newton 迭代法收敛定理: 设()f x 在有根区间[],a b 上有二阶导数,且满足: ①:()()0f a f b <; ②:[]' ()0,,f x x a b ≠∈; ③:[]'' ,,f x a b ∈不变号 ④:初值[]0,x a b ∈使得'' ()()0f x f x <; 则Newton 迭代法收敛于根α。
[VIP专享]聚类分析案例研究
聚类分析案例—我国各地区普通高等教育发展状况分析 聚类分析又称群分析,是对多个样本(或指标)进行定量分类的一种多元统计分析 方法。对样本进行分类称为Q型聚类分析,对指标进行分类称为R型聚类分析。本案例 运用Q型和R型聚类分析方法对我国各地区普通高等教育的发展状况进行分析。 1.案例研究背景 近年来,我国普通高等教育得到了迅速发展,为国家培养了大批人才。但由于我国 各地区经济发展水平不均衡,加之高等院校原有布局使各地区高等教育发展的起点不一致,因而各地区普通高等教育的发展水平存在一定的差异,不同的地区具有不同的特点。对我国各地区普通高等教育的发展状况进行聚类分析,明确各类地区普通高等教育发展 状况的差异与特点,有利于管理和决策部门从宏观上把握我国普通高等教育的整体发展 现状,分类制定相关政策,更好的指导和规划我国高教事业的整体健康发展。 -592- 2.案例研究过程 (1)建立综合评价指标体系 高等教育是依赖高等院校进行的,高等教育的发展状况主要体现在高等院校的相 关方面。遵循可比性原则,从高等教育的五个方面选取十项评价指标,具体如图4。(2)数据资料 指标的原始数据取自《中国统计年鉴,1995》和《中国教育统计年鉴,1995》除以 各地区相应的人口数得到十项指标值见表6。其中: 1 x 为每百万人口高等院校数; 2 x 为 每十万人口高等院校毕业生数; 3 x 为每十万人口高等院校招生数; 4 x 为每十万人口高等院校在校生数; 5 x 为每十万人口高等院校教职工数; 6 x 为每十万人口高等院校专职教师数;7 x 为高级职称占专职教师的比例;8 x 为平均每所高等院校的在校生数;9 x 为 国家财政预算内普通高教经费占国内生产总值的比重;10 x 为生均教育经费。 图4 高等教育的十项评价指标
数值分析典型例题
第一章典型例题 例3 ln2=0.…,精确到10-3的近似值是多少 解 精确到10-3=,即绝对误差限是=, 故至少要保留小数点后三位才可以。ln2 第二章典型例题 例1 用顺序消去法解线性方程组 ??? ??1 -=4+2+4=+2+31 -=4++2321 321321x x x x x x x x x 解 顺序消元 ?? ?? ??????---???→???????????---????→???????????--=-?+-?+-?+1717005.555.00141 25.025.105.555.001412142141231412]b A [)3()2/1()2/3(231312r r r r r r M 于是有同解方程组 ?? ? ??-==--=++17175.555.0142332321x x x x x x 回代得解 x 3=-1, x 2=1,x 1=1,原线性方程组的解为X =(1,1,-1)T 例2 取初始向量X (0)=(0,0,0)T ,用雅可比迭代法求解线性方程组 ??? ??5 =+2+23=++1=2-2+321 321321x x x x x x x x x 解 建立迭代格式 ???????+--=+--=++-=+++5223122) (2)(1)1(3 ) (3)(1)1(2 ) (3)(2)1(1k k k k k k k k k x x x x x x x x x (k =1,2,3,…)
第1次迭代,k =0 X (0)=0,得到X (1)=(1,3,5)T 第2次迭代,k =1 ???????-=+?-?-=-=+--==+?+?-=3 532123 351515232)2(3) 2(2)2(1x x x X (2)=(5,-3,-3)T 第3次迭代,k =2 ???????=+-?-?-==+---==+-?+-?-=1 5)3(2521 3)3(511)3(2)3(2)2(3) 3(2)3(1x x x X (3)=(1,1,1)T 第4次迭代,k =3 ???????=+?-?-==+--==+?+?-=1 512121 311111212)2(3) 2(2)2(1x x x X (4)=(1,1,1)T 例4 证明例2的线性方程组,雅可比迭代法收敛,而高斯-赛德尔迭代法发散。 证明 例2中线性方程组的系数矩阵为 A =?? ?? ? ?????-122111221 于是 D =?? ?? ??????100010001 D -1=D ??????????=022001000L ~ ????? ?????-=000100220U ~ 雅可比迭代矩阵为
数值分析心得体会
数值分析心得体会 篇一:学习数值分析的经验 数值分析实验的经验、感受、收获、建议班级:计算131 学号:XX014302 姓名:曾欢欢 数值分析实验主要就是学习MATLAB的使用以及对数值分析类容的应用,可以使学生更加理解和记忆数值分析学得类容,也巩固了MATLAB的学习,有利于以后这个软件我们的使用。在做实验中,我们需要具备较好的编程能力、明白MATLAB软件的使用以及掌握数值分析的思想,才能让我们独立自主的完成该作业,如果是上述能力有限的同学,需要借助MATLAB的书以及网络来完成实验。数值分析实验对于我来说还是有一定难度,所以我课下先复习了MATLAB的使用方法以及编写程序的基本类容,借助互联网和同学老师资源完成了数值分析得实验的内容。在实验书写中,我复习了各种知识,所以我认为这门课程是有必要且是有用处的,特别是需要处理大量实验数据的人员,很有必要深入了解学习它,这样在以后的工作学习里面就减少了很多计算问题也提高了实验结果的精确度。 学习数值分析的经验、感受、收获、建议数值分析的内容包括插值与逼近,数值微分与数值积分,非线性方程与线性方程组的数值解法,矩阵的特征值与特征向量计算,常微分方程数值解等。
首先我们必须明白数值分析的用途。通常所学的其他数学类学科都是由公式定理开始,从研究他们的定义,性质再到证明与应用。但实际上,尤其是工程,物理,化学等其它具体的学科。往往我们拿到 手的只是通过实验得到的数据。如果是验证性试验,需要代回到公式 进行分析,验证。但往往更多面对的是研究性或试探性试验,无具体 公式定理可代。那就必须通过插值,拟合等计算方法进行数据处理以得到一个相对可用的一般公式。还有许多计算公式理论上非常复杂,在工程中不实用,所以必须根据实际情况把它转化成多项式近似表 示。学习数值分析,不应盲目记公式,因为公事通常很长且很乏味。其次,应从公式所面临的问题以及用途出发。比如插值方法,就 是就是把实验所得的数据看成是公式的解,由这些解反推出一个近似公式,可以具有局部一般性。再比如说拟合,在插值的基础上考虑实 验误差,通过拟合能将误差尽可能缩小,之后目的也是得到一个具有 一定条件下的一般性的公式。。建议学习本门课程要结合知识与实际,比如在物理实验里面很多
数值分析典型习题资料
数值分析典型习题
特别声明:考试时需带计 算器作辅助计算 1.2015x *=是经四舍五入得到的近似值,则其相对误差* r e ≤ -31 104 ?. 2. 01(),(),,()n l x l x l x L 是以01,,,n x x x L 为节点的拉格朗日插值基函数,则 3.设(0)1(1)3(2)4(3)2f =,f =,f =,f =,[0123]f =,,,1 3 - . 4. 利用Simpson 公式求?2 1 2dx x = 7.3 5. 设求积公式1 0()d (),(1)n k k k f x x A f x n ≈≥∑?=是Gauss 型求积公式,则3 n k k k A x == ∑1 .4 6. 数值微分公式(2)(2) ()i i i f x h f x h f x h +≈ --'的截断误差为 2().O h 7. 设1101A ?? = ??? ,则A 的谱半径()A ρ= 1 ,A 的条件数1cond ()A = 4. 8. 用牛顿下山法求解方程3 03 x x -=根的迭代公式是 2 13 3(1),3n n n n x x x x x λ+-=-- 下山条件是 1()().n n f x f x +< 9.对任意初始向量(0)x 及任意向量f ,线性方程组的迭代公式(1)()(0,1,2,)k k k +=+=L x Bx f ,迭代序列()k x 收敛于方程组的精确解x *的充分必要条件是()1.ρ数值计算方法学习心得
数值计算方法学习心得 ------一个代码的方法是很重要,一个算法的思想也很重要,但 在我看来,更重要的是解决问题的方法,就像爱因斯坦说的内容比 思维本身更重要。 我上去讲的那次其实做了挺充分的准备,程序的运行,pdf文档,算法公式的推导,程序伪代码,不过有一点缺陷的地方,很多细节 没有讲的很清楚吧,下来之后也是更清楚了这个问题。 然后一学期下来,总的来说,看其他同学的分享,我也学习到 许多东西,并非只是代码的方法,更多的是章胜同学的口才,攀忠 的排版,小冯的深入挖掘…都是对我而言比算法更加值得珍惜的东西,又骄傲地回想一下,曾同为一个项目组的我们也更加感到做项 目对自己发展的巨大帮助了。 同时从这些次的实验中我发现以前学到的很多知识都非常有用。 比如说,以前做项目的时候,项目导师一直要求对于要上传的 文件尽量用pdf格式,不管是ppt还是文档,这便算是对产权的一种 保护。 再比如代码分享,最基础的要求便是——其他人拿到你的代码 也能运行出来,其次是代码分享的规范性,像我们可以用轻量级Ubuntu Pastebin,以前做过一小段时间acm,集训队里对于代码的分享都是推荐用这个,像数值计算实验我觉得用这个也差不多了,其 次项目级代码还是推荐github(被微软收购了),它的又是可能更 多在于个人代码平台的搭建,当然像readme文档及必要的一些数据 集放在上面都更方便一些。
然后在实验中,发现debug能力的重要性,对于代码错误点的 正确分析,以及一些与他人交流的“正规”途径,讨论算法可能出 错的地方以及要注意的细节等,比如acm比赛都是以三人为一小组,讨论过后,讲了一遍会发现自己对算法理解更加深刻。 然后学习算法,做项目做算法一般的正常流程是看论文,尽量 看英文文献,一般就是第一手资料,然后根据论文对算法的描述, 就是如同课上的流程一样,对算法进一步理解,然后进行复现,最 后就是尝试自己改进。比如知网查询牛顿法相关论文,会找到大量 可以参考的文献。 最后的最后,想说一下,计算机专业的同学看这个数值分析, 不一定行云流水,但肯定不至于看不懂写不出来,所以我们还是要 提高自己的核心竞争力,就是利用我们的优势,对于这种算法方面 的编程,至少比他们用的更加熟练,至少面对一个问题,我们能思 考出对应问题的最佳算法是哪一个更合适解决问题。 附记: 对课程的一些小建议: 1. debug的能力不容忽视,比如给一个关于代码实现已知错误的代码给同学们,让同学们自己思考一下,然后分享各自的debug方法,一步一步的去修改代码,最后集全班的力量完成代码的debug,这往往更能提升同学们的代码能力。 2. 课堂上的效率其实是有点低的,可能会给学生带来一些负反馈,降低学习热情。 3. 总的来说还是从这门课程中学到许多东西。 数值分析学习心得体会
数值分析典型例题
第一章典型例题 例3…,精确到10-3的近似值是多少? 解 精确到10-3=,即绝对误差限是?=, 故至少要保留小数点后三位才 可以。ln2? 第二章典型例题 例1 用顺序消去法解线性方程组 解 顺序消元 于是有同解方程组 回代得解 x 3=-1, x 2=1,x 1=1,原线性方程组的解为X =(1,1,-1)T 例2 取初始向量X (0)=(0,0,0)T ,用雅可比迭代法求解线性方程组 解 建立迭代格式 ??? ????+--=+--=++-=+++5223122)(2)(1)1(3) (3)(1)1(2 )(3)(2)1(1k k k k k k k k k x x x x x x x x x (k =1,2,3,…) 第1次迭代,k =0 X (0)=0,得到X (1)=(1,3,5)T 第2次迭代,k =1 X (2)=(5,-3,-3)T 第3次迭代,k =2 X (3)=(1,1,1)T 第4次迭代,k =3
X (4)=(1,1,1)T 例4 证明例2的线性方程组,雅可比迭代法收敛,而高斯-赛德尔迭 代法发散。 证明 例2中线性方程组的系数矩阵为 A =?? ?? ? ?????-122111221 于是 D =?? ?? ??????100010001 D -1 =D ?? ?? ? ?????=022001000L ~ ?? ?? ? ?????-=000100220U ~ 雅可比迭代矩阵为 B 0=?? ?? ? ?????--=??????????-??????????-=+--022101220022101220100010001)U ~L ~(D 1 得到矩阵B 0的特征根03,2,1=λ,根据迭代基本定理4,雅可比迭代法收敛。 高斯-赛德尔迭代矩阵为 G =-U ~ )L ~D (1-+ =-?? ?? ??????----=??????????-??????????---=??????????-??????????-2003202200001002201200110010001002201220110011 解得特征根为?1=0,?2,3=2。由迭代基本定理4知,高斯-赛德尔迭代发散。 例5 填空选择题: 1. 用高斯列主元消去法解线性方程组 作第1次消元后的第2,3个方程分别为 。
油藏数值模拟学习心得
通过了几节课的“油藏数值模拟课”的学习,我知道了“油藏数值模拟”是应用计算机研究油气藏中多相流体渗流规律的数值计算方法,它能够解决油气藏开发过程中难以解析求解的极为复杂的渗流及工程问题,是评价和优化油气藏开发方案的有力工具。它主要是让我们石油石油工程专业的学生掌握一些基本的油藏数值模拟技术和技巧,学习基本的油藏渗流数学模型及其解法、计算方法和应用方法,培养我们用计算机解决油藏开发问题的能力。 “油藏数值模拟”涉及的学科较多,利用数学知识和计算机知识较多,我认为是非常难的。虽然教师教的很认真也很耐心,我仍然不能跟着老师的节奏。因为一开始就知道这个软件很有实际应用价值,所以我也就特别的想好好的学习它。可惜现在我面临着考研这座大山,我实在是没有充分的时间课下来好好的温习与研究老师上课所讲的东西。很遗憾,后来老师讲的东西我有些就不会了。好在前三四节课讲的内容还学会了,学会了模拟三层的油层概况。也许这点知识对我以后的再次学习会有不错的基础作用吧!总之还是很感谢老师的耐心教导。 在学习的过程中,我觉得油藏原始参数,如渗透率、孔隙度等的收集,以及油藏原始数据是否齐全准确非常重要,尤其是一开始填date时的单位的选择,这些都关系到数值模拟的效果。如果原始资料很少,数值模拟的效果就不可能好。数值模拟方法越复杂,所需的原始资料也越多。收集资料时,如发现必需的资料不够或不准确,应采取补救措施。通常要求准备的参数包括:①油藏地质参数。产层构造图,油、气、水分布图,油层厚度、孔隙度、渗透率、原始含油饱和度的等值图等。②流体物理性质参数。地面性质和地层状态下的物性数据,原始压力和地层温度数据,对凝析气田还需要相图和相平衡的资料。③专项岩心分析资料。油水相渗透率曲线,油气相渗透率曲线,油层润湿性,吸入和排驱毛细管压力曲线;对碳酸盐岩孔隙裂缝双重介质储层,还需渗吸曲线。④单井和分层分区的生产数据和有关测试资料。⑤油田建设和经济分析的有关数据。 将收集的油藏地质资料进行系统整理后,要将油藏的地质特征模式化,以充分反映油藏的构造特征和沉积特征,如油层物理性质参数的分布、油气水的分布、油气水在地面和地下的性质、驱油动力、压力系统和地温梯度等。油藏地质模型是否符合实际情况,直接影响数值模拟成果的准确性。 由于人们对油田实际地质条件的认识有一定的限度,计算时所用的参数也就有一定的局限性,因此,第一次模拟计算的结果,如压力、产量、气油比、含水率等与油田实际生产状况常有较大的出入。必须进行分析,修改相关的计算参数,重新进行计算。通常,经过多次修改可使计算结果与实际生产历史基本相符,误差在允许范围以内。从工程应用的角度看,可认为此时所应用的计算参数,反映了油田地下的实际状况,使用这些参数来计算和预测油田未来的动态,能够达到较高的精度。在油田开采过程中这类历史拟合要进行多次,使油田的模型逐步更接近实际而得到更适用的结果。
数值分析知识点
第一章绪论(1-4) 一、误差来源及分类 二、误差的基本概念 1.绝对误差及绝对误差限 2.相对误差及相对误差限 3.有效数字 三、数值计算的误差估计 1.函数值的误差估计 2.四则运算的误差估计 四、数值计算的误差分析原则 第二章插值(1.2.4-8) 一、插值问题的提法(定义)、插值条件、插值多项式的存在唯一性 二、拉格朗日插值 1.拉格朗日插值基函数的定义、性质 2.用拉格朗日基函数求拉格朗日多项式 3.拉格朗日插值余项(误差估计) 三、牛顿插值 1.插商的定义、性质 2.插商表的计算 3.学会用插商求牛顿插值多项式 四、等距节点的牛顿插值 1.差分定义、性质及计算(向前、向后和中心) 2.学会用差分求等距节点下的牛顿插值公式 五、学会求低次的hermite插值多项式 六、分段插值 1.分段线性插值 2.分段三次hermite插值 3.样条插值 第三章函数逼近与计算(1-6) 一、函数逼近与计算的提法(定义)、常用两种度量标准(一范数、二范数\平方逼近) 二、基本概念 连续函数空间、最佳一次逼近、最佳平方逼近、内积、内积空间、偏差与最小偏差、偏差点、交错点值、平方误差 三、学会用chebyshev定理求一次最佳一致逼近多项式,并估计误差(最大偏差) 四、学会在给定子空间上通过解方程组求最佳平方逼近,并估计误差(平方误差) 五、正交多项式(两种)定义、性质,并学会用chebyshev多项式性质求特殊函数的(降阶)最佳一次逼近多项式 六、函数按正交多项式展开求最佳平方逼近多项式,并估计误差 七、一般最小二乘法(多项式拟合)求线性拟合问题 第四章数值分析(1-4) 一、数值求积的基本思想及其机械求积公式
数值分析典型例题
数值分析典型例题 例1 对下列各数写出具有5位有效数字的近似值。236.478, 0.00234711, 9.000024, 9.0000343 10?. 解:按照定义,以上各数具有5位有效数字的近似值分别为:236.478, 0.0023471, 9.0000, 9.0000310?。 注意: *x =9.000024的5位有效数字是9.0000而不是9,因为9 是1位有效数字。 例2 指出下列各数具有几位有效数字。2.0004, -0.00200, -9000, 9310?, 23 10-?。 解:按照定义,以上各数的有效数字位数分别为5, 3, 4,1,1 例3 已测得某物体行程* s 的近似值s=800m ,所需时间* s 的近似值为t=35s ,若已知m s s s t t 5.0||,05.0||**≤-≤-,试求平均速度v 的绝对误差和相对误差限。 解:因为t s v /=,所以)()(1)()()(2t e t s s e t t e t v s e s v v e -=??+??≈ 从 而 05.00469.035 800 5.0351|)(||||)(|1|)(|22≤≈+?≤+≤t e t s s e t v e 同样v v e v e r )()(≈)()()()(t e s e t e v t t v s e v s s v r r r -=??+??= 所以00205.035 05 .08005.0|)(||)(||)(|≈+≤+≤t e s e v e r r r 因此绝对误差限和相对误差限分别为0.05和0.00205。 例4试建立积分20,,1,05 =+=n dx x x I n n 的递推关系,并研究它的误差 传递。 解:151 --= n n I n I ……………………………………………..…...(1) 5ln 6ln 0-=I ,计算出0I 后可通过(1)依次递推计算出1I ,…,20I 。 但是计算0I 时有误差0e ,由此计算出的1I ,…,20I 也有误差,由(1)可 知近似值之间的递推关系为 151 --= n n I n I ……………………………………………….…..(2) (1)-(2)可得 01)5(5e e e n n n -=-=-,由0I 计算n I 时误差被放大了n 5倍。所以(1)不稳 定。 (1) 可以改写为 n I I n n 51 511+ -=- ……………………………………… (3) 如果能先求出20I ,则依次可以求出19I ,…,0I ,计算20I 时有误差,这样根据(3)计算19I ,…,0I 就有误差,误差传播为 n n n e e ?? ? ??-=-511 ,误差依次减少。 例5 用二分法求解方程012)(23=+--=x x x x f 在区间[0,1]内的1个实根,要求有3为有效数字。 解:因为0)1()0( 第一章 引论(习题) 2.证明:x 的相对误差约等于x 的相对误差的1/2. 证明 记 x x f = )( ,则 ) ()(* ** x x x x x x x x f E r +-= -= )(21**x E x x x x x x r ≈-?+= . □ 3.设实数a 的t 位β进制浮点机器数表示为)(a fl . 试证明 t b a b a fl -≤ +*=*12 1||),1/()()(βδδ, 其中的记号*表示+、-、?、/ 中一种运算. 证明: 令: ) () ()(b a fl b a fl b a **-*= δ 可估计: 1|)(|-≥*c b a fl β (c 为b a *阶码), 故: 121||--≤ c t c ββδt -=12 1β 于是: )1()()(δ+*=*b a b a fl . □ 4.改变下列表达式使计算结果比较精确: (1) ;1||, 11211<<+--+x x x x 对 (2) ;1,11>>- -+ x x x x x 对 (3) 1||,0,cos 1<<≠-x x x x 对. 解 (1) )21()1(22 x x x ++. (2) ) 11(2x x x x x -++. (3) x x x x x x x cos 1sin )cos 1(sin cos 12+≈+=-. □ 6.设937.0=a 关于精确数x 有3位有效数字,估计a 的相对误差. 对于x x f -=1)(,估计)(a f 对于)(x f 的误差和相对误差. 解 a 的相对误差:由于 31021|)(|-?≤ -=a x x E . x a x x E r -=)(, 221018 1 10921)(--?=?≤ x E r . (1Th ) )(a f 对于)(x f 的误差和相对误差. |11||)(|a x f E ---== ()25 .0210 11321??≤ -+---a x x a =3 10- 33 104110 |)(|--?=-≤a f E r . □ 9.序列}{n y 满足递推关系:1101.100-+-=n n n y y y . 取01.0,110 ==y y 及 01.0, 101150=+=-y y ,试分别计算5y ,从而说明该递推公式对于计算是不稳 定的. 解 递推关系: 1101.100-+-=n n n y y y (1) 取初值 10=y , 01.01=y 计算 可得: 110 01.1002 2-?=-y 10001.1-=410-= 6 310-=y , 8 410 -=y , 10 510-=y , … (2) 取初值 5 0101-+=y , 2 110 -=y , 记: n n n y y -=ε, 序列 {}n ε ,满足递推关系,且 5 010--=ε , 01=ε 1101.100-+-=n n n εεε, 于是: 5210-=ε, 531001.100-?=ε, 55241010)01.100(---?=ε, 5 5351002.20010)01.100(--?-?=ε, 数值分析学习感想 一个学期的数值分析,在老师的带领下,让我对这门课程有了深刻的理解和感悟。这门 课程是一个十分重视算法和原理的学科,同时它能够将人的思维引入数学思考的模式,在处 理问题的时候,可以合理适当的提出方案和假设。他的内容贴近实际,像数值分析,数值微 分,求解线性方程组的解等,使数学理论更加有实际意义。 数值分析在给我们的知识上,有很大一部分都对我有很大的帮助,让我的生活和学习有 了更加方便以及科学的方法。像第一章就讲的误差,在现实生活中,也许没有太过于注意误 差,所以对误差的看法有些轻视,但在学习了这一章之后,在老师的讲解下,了解到这些误 差看似小,实则影响很大,更如后面所讲的余项,那些差别总是让人很容易就出错,也许在 别的地方没有什么,但是在数学领域,一个小的误差,就很容易有不好的后果,而学习了数 值分析的内容,很容易就可以将误差锁定在一个很小的范围内,在这一范围内再逼近,得出 的近似值要准确的多,而在最开始的计算中,误差越小,对后面的影响越小,这无疑是好的。 数值分析不只在知识上传授了我很多,在思想上也对我有很大的影响,他给了我很多数 学思想,很多思考的角度,在看待问题的方面上,多方位的去思考,并从别的例子上举一反三。像其中所讲的插值法,在先学习了拉格朗日插值法后,对其理解透彻,了解了其中 的原理和思想,再学习之后的牛顿插值以及三次样条插值等等,都很容易的融会贯通,很容 易的就理解了其中所想,他们的中心思想并没有多大的变化,但是使用的方式却是不同的, 这不仅可以学习到其中心内容,还可以去学习他们的思考方式,每个不同的思考方式带来的 都是不同的算法。而在看待问题上,不同的思考方式总是可以快速的全方位的去看透彻问题, 从而知道如何去解决。 在不断的学习中,知识在不断的获取,能力在不断的提升,同时在老师的不懈讲解下, 我逐渐的发现数值分析所涵盖的知识面特别的广泛,而我所需要学习的地方也更加的多,自 己的不足也在不断的体现,我知道这只是我刚刚接触到了数学的那一角,在以后我还会接触 到更多,而这求知的欲望也在不停的驱赶我,学习的越多,对今后的生活才会有更大的帮助。 计算132 2013014923 张霖篇二:数值分析学习报告 数值分析学习心得报告 班级:11级软工一班 姓名: * * * 学号: 20117610*** 指导老师:* * * 学习数值分析的心得体会 无意中的一次选择,让我接触了数值分析。 作为这学期的选修课,我从内心深处来讲,数值分析真的有点难。感觉它是在高等数学 和线性代数的基础上,又加深了探讨。虽然这节课很难,我学的不是很好,但我依然对它比 较感兴趣。下面就具体说说我的学习体会,让那些感兴趣的同学有个参考。 学习数值分析,我们首先得知道一个软件——matlab。matrix laboratory,即矩阵实验 室,是math work公司推出的一套高效率的数值计算和可视化软件。它是当今科学界最具影 响力、也是最具活力的软件,它起源于矩阵运算,并高速发展成计算机语言。它的优点是强 大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面、便捷的与其他程序和语 言接口。 根据上网搜集到的资料,你就会发现matlab有许多优点: 首先,编程简单使用方便。到目前为止,我已经学过c语言,机器语言,java语言,这 SPSS软件操作实例——某移动公司客户细分模型 数据准备:数据来源于telco.sav,如图1所示,Customer_ID表示客户编号,Peak_mins表示工作日上班时期电话时长,OffPeak_mins表示工作日下班时期电话时长等。 图1 telco.sav数据 分析目的:对移动手机用户进行细分,了解不同用户群体的消费习惯,以更好的对其进行定制性的业务推销,所以需要运用聚类分析。 操作步骤: 1,从菜单中选择【文件】——【打开】——【数据】,在打开数据窗口中选择数据位置以及文件类型,将数据telco.sav导入SPSS软件中,如图2所示。 图2 打开数据菜单选项 2,从菜单中选择【分析】——【描述统计】——【描述】,然后在描述性窗口中,将需要标准化的变量选到右边的“变量列表”,勾选“将标准化得分另存为变量”,点确定,如图3所示。 图3 数据标准化 3,从菜单中选择【分析】——【分类】——【K-均值聚类】,在K-均值聚类分析窗口中将标准化之后的结果选入右边“变量列表”,客户编号选入“个案标记依据”,聚类数改为5。点击迭代按钮,在迭代窗口将最大迭代次数改为100,点击继续。点击保存按钮,在保存窗口勾选“聚类成员”、“与聚类中心的距离”,点击继续。点击选项按钮,在选项窗口勾选“ANOV A表”、“每个个案的聚类信息”,点击继续。点击确定按钮,运行聚类分析,如图4所示。 图4 聚类分析操作 由最终聚类中心表可得最终分成的5个类它们各自的均值。 第一类:依据总通话时间长,上班通话时间长,国际通话时间长等特征,将第一类命名为高端商用客户。 第二类:依据其在各项指标中均较低,将第二类命名为不常使用客户。 第三类:依据总通话和上班通话时间居中等特征,将第三类命名为中端商用客户。第四类:依据下班通话时间最长等特征,将第四类命名为日常客户。 第五类:依据平均每次通话时间最长等特征,将第五类命名为长聊客户。 由ANOVA表可根据F值大小近似得到哪些变量对聚类有贡献,本例题中重要程度排序为:总通话时长>工作日上班时期电话时长>工作日下班时期电话时 数值计算方法教学大纲(本) 本着“崇术重用、服务地方”的办学理念和我校“高素质应用型人才”的培养目标,特制定了适合我校工科专业本科生的新教学大纲。 一、课程计划 课程名称:数值计算方法Numerical Calculation Method 课程定位:数学基础课 开课单位:理学院 课程类型:专业选修课 开设学期:第七学期 讲授学时:共15周,每周4学时,共60学时 学时安排:课堂教学40学时+实验教学20学时 适用专业:计算机、电科、机械等工科专业本科生 教学方式:讲授(多媒体为主)+上机 考核方式:考试60%+上机实验30%+平时成绩10% 学分:3学分 与其它课程的联系 预修课程:线性代数、微积分、常微分方程、计算机高级语言等。 后继课程:偏微分方程数值解及其它专业课程。 二、课程介绍 数值计算方法也称为数值分析,是研究用计算机求解各种数学问题的数值方法及其理论的一门学科。随着计算科学与技术的进步和发展,科学计算已经与理论研究、科学实验并列成为进行科学活动的三大基本手段,作为一门综合性的新科学,科学计算已经成为了人们进行科学活动必不可少的科学方法和工具。 数值计算方法是科学计算的核心内容,它既有纯数学高度抽象性与严密科学性的特点,又有应用的广泛性与实际实验的高度技术性的特点,是一门与计算机使用密切结合的实用性很强的数学课程.主要介绍插值法、函数逼近与曲线拟合、线性方程组迭代解法、数值积分与数值微分、非线性方程组解法、常微分方程数值解以及矩阵特征值与特征向量数值计算,并特别加强实验环节的训练以提高学生动手能力。通过本课程的学习,不仅能使学生初步掌握数值计算方法的基本理论知识,了解算法设计及数学建模思想,而且能使学生具备一定的科学计算能力和分析与解决问题的能力,不仅为学习后继课程打下良好的理论基础,也为将来从事科学计算、计算机应用和科学研究等工作奠定必要的数学基础。 科学计算是21世纪高层次人才知识结构中不可缺少的一部分,它潜移默化地影响着人们的思维方式和思想方法,并提升一个人的综合素质。 数值分析试题及答案汇 总 TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】 数值分析试题 一、填空题(2 0×2′) 1. ?? ????-=? ?????-=32,1223X A 设x =是精确值x *=的近似值,则x 有 2 位有效数字。 2. 若f (x )=x 7-x 3+1,则f [20,21,22,23,24,25,26,27]= 1 , f [20,21,22,23,24,25,26,27,28]= 0 。 3. 设,‖A ‖∞=___5 ____,‖X ‖∞=__ 3_____, ‖AX ‖∞≤_15_ __。 4. 非线性方程f (x )=0的迭代函数x =(x )在有解区间满足 |’(x )| <1 ,则使用该迭代函数 的迭代解法一定是局部收敛的。 5. 区间[a ,b ]上的三次样条插值函数S (x )在[a ,b ]上具有直到 2 阶的连续导数。 6. 当插值节点为等距分布时,若所求节点靠近首节点,应该选用等距节点下牛顿差 商公式的 前插公式 ,若所求节点靠近尾节点,应该选用等距节点下牛顿差商公式的 后插公式 ;如果要估计结果的舍入误差,应该选用插值公式中的 拉格朗日插值公式 。 7. 拉格朗日插值公式中f (x i )的系数a i (x )的特点是:=∑=n i i x a 0)( 1 ;所以当系数 a i (x )满足 a i (x )>1 ,计算时不会放大f (x i )的误差。 8. 要使 20的近似值的相对误差小于%,至少要取 4 位有效数字。 9. 对任意初始向量X (0)及任意向量g ,线性方程组的迭代公式x (k +1)=Bx (k )+g (k =0,1,…) 收敛于方程组的精确解x *的充分必要条件是 (B)<1 。 10. 由下列数据所确定的插值多项式的次数最高是 5 。 5.2酿酒葡萄的等级划分 5.2.1葡萄酒的质量分类 由问题1中我们得知,第二组评酒员的的评价结果更为可信,所以我们通过第二组评酒员对于酒的评分做出处理。我们通过excel计算出每位评酒员对每支酒的总分,然后计算出每支酒的10个分数的平均值,作为总的对于这支酒的等级评价。 通过国际酿酒工会对于葡萄酒的分级,以百分制标准评级,总共评出了六个级别(见表5)。 在问题2的计算中,我们求出了各支酒的分数,考虑到所有分数在区间[61.6,81.5]波动,以原等级表分级,结果将会很模糊,不能分得比较清晰。为此我们需要进一步细化等级。为此我们重新细化出5个等级,为了方便计算,我们还对等级进行降序数字等级(见表6)。 通过对数据的预处理,我们得到了一个新的关于葡萄酒的分级表格(见表7): 考虑到葡萄酒的质量与酿酒葡萄间有比较之间的关系,我们将保留葡萄酒质量对于酿酒葡萄的影响,先单纯从酿酒葡萄的理化指标对酿酒葡萄进行分类,然后在通过葡萄酒质量对酿酒葡萄质量的优劣进一步进行划分。 5.2.2建立模型 在通过酿酒葡萄的理化指标对酿酒葡萄分类的过程,我们用到了聚类分析方法中的ward 最小方差法,又叫做离差平方和法。 聚类分析是研究分类问题的一种多元统计方法。所谓类,通俗地说,就是指相似元素的集合。为了将样品进行分类,就需要研究样品之间关系。这里的最小方差法的基本思想就是将一个样品看作P 维空间的一个点,并在空间的定义距离,距离较近的点归为一类;距离较远的点归为不同的类。面对现在的问题,我们不知道元素的分类,连要分成几类都不知道。现在我们将用SAS 系统里面的stepdisc 和cluster 过程完成判别分析和聚类分析,最终确定元素对象的分类问题。 建立数据阵,具体数学表示为: 1111...............m n nm X X X X X ????=?????? (5.2.1) 式中,行向量1(,...,)i i im X x x =表示第i 个样品; 列向量1(,...,)'j j nj X x x =’,表示第j 项指标。(i=1,2,…,n;j=1,2,…m) 接下来我们将要对数据进行变化,以便于我们比较和消除纲量。在此我们用了使用最广范的方法,ward 最小方差法。其中用到了类间距离来进行比较,定义为: 2||||/(1/1/)kl k l k l D X X n n =-+ (5.2.2) Ward 方法并类时总是使得并类导致的类内离差平方和增量最小。 系统聚类数的确定。在聚类分析中,系统聚类最终得到的一个聚类树,如何确定类的个数,这是一个十分困难但又必须解决的问题;因为分类本身就没有一定标准,人们可以从不同的角度给出不同的分类。在实际应用中常使用下面几种数值分析习题汇总
数值分析学习心得体会.doc
聚类分析案例.doc
数值计算方法教学大纲(本)
数值分析试题及答案汇总
聚类分析实例分析题(推荐文档)