当前位置:文档之家› Apriori算法实验报告材料及程序

Apriori算法实验报告材料及程序

Apriori算法实验报告材料及程序
Apriori算法实验报告材料及程序

Apriori算法实验报告

学号:

姓名:

专业:计算机应用技术

教师:

计算机学院

目录

1 APRIORI实验 (1)

1.1实验背景 (1)

1.1.1 国内外研究概况 (1)

1.1.2 发展趋势 (1)

1.2实验内容与要求 (1)

1.2.1 实验内容 (1)

1.2.2 实验要求 (1)

1.2.3 实验目的 (2)

2 APRIORI算法分析与实验环境 (3)

2.1A PRIORI算法的描述 (3)

2.2A PRIORI算法的步骤 (3)

2.3开发环境 (3)

2.3.1 软件环境 (3)

2.3.2 硬件环境 (4)

2.4本章小结 (4)

3 算法的设计 (5)

3.1A PRIORI算法整体框架 (5)

3.2主要的数据结构与函数 (5)

3.2.1 数据结构 (5)

3.2.2 主要的程序 (6)

3.2.3 连接与剪枝操作 (6)

3.3本章小结 (6)

4 数据库的设计与数据的来源 (7)

4.1正确性验证数据 (7)

4.2实验数据 (7)

4.3本章小结 (8)

5 实验结果与性能分析 (9)

5.1A PRIORI实验界面 (9)

5.2实验的正确性验证 (9)

5.3实验性能分析 (10)

5.3.1固定最小支持度改变数据量 (10)

5.3.2固定数据量改变最小支持度 (11)

5.3.3实验结果分析 (11)

5.4本章小结 (12)

6 总结与体会 (13)

1 Apriori实验

1.1 实验背景

现在, 数据挖掘作为从数据中获取信息的有效方法, 越来越受到人们的重视。关联规则挖掘首先是用来发现购物篮数据事务中各项之间的有趣联系。从那以后, 关联规则就成为数据挖掘的重要研究方向,它是要找出隐藏在数据间的相互关系。目前关联规则挖掘的研究工作主要包括:Apriori算法的扩展、数量关联规则挖掘、关联规则增量式更新、无须生成候选项目集的关联规则挖掘、最大频繁项目集挖掘、约束性关联规则挖掘以及并行及分布关联规则挖掘算法等。关联规则的挖掘问题就是在事务数据库D中找出具有用户给定的满足一定条件的最小支持度Minsup和最小置信度Minconf的关联规则。

1.1.1 国内外研究概况

1993年,Agrawal等人首先提出关联规则概念,关联规则挖掘便迅速受到数据挖掘领域专家的广泛关注.迄今关联规则挖掘技术得到了较为深入的发展。Apriori算法是关联规则挖掘经典算法。针对该算法的缺点,许多学者提出了改进算法,主要有基于哈希优化和基于事务压缩等。

1.1.2 发展趋势

关联规则挖掘作为数据挖掘的重要研究内容之一, 主要研究事务数据库、关系数据库和其他信息存储中的大量数据项之间隐藏的、有趣的规律。关联规则挖掘最初仅限于事务数据库的布尔型关联规则, 近年来广泛应用于关系数据库, 因此, 积极开展在关系数据库中挖掘关联规则的相关研究具有重要的意义。近年来,已经有很多基于Apriori 算法的改进和优化。研究者还对数据挖掘的理论进行了有益的探索,将概念格和粗糙集应用于关联规则挖掘中,获得了显著的效果。到目前为止,关联规则的挖掘已经取得了令人瞩目的成绩,包括:单机环境下的关联规则挖掘算法;多值属性关联规则挖掘;关联规则更新算法;基于约束条件的关联规则挖掘;关联规则并行及分布挖掘算法等。

1.2 实验内容与要求

1.2.1 实验内容

编程实现Apriori算法:要求使用‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’,‘i’,‘j’10个项目随机产生数据记录并存入数据库。从数据库读取记录进行Apriori实验,获得频繁集以及关联规则,实现可视化。并用课堂上PPT的实例测试其正确性。

1.2.2 实验要求

1、程序结构:包括前台工具和数据库;

2、设定项目种类为10个,随机产生事务,生成数据库;

3、正确性验证(可用课堂上的例子);

4、算法效率的研究:在支持度固定数据量不同的时候测量运行时间;在数据量固定,支持度不同的时候测量运行时间;

5、注意界面的设计,输入最小支持度和最小可信度,能够输出并显示频繁项目集以及关联规则。

1.2.3 实验目的

1、加强对Apriori算法的理解;

2、锻炼分析问题、解决问题并动手实践的能力。

2 Apriori算法分析与实验环境

2.1 Apriori算法的描述

Apriori算法是一种找频繁项目集的基本算法。其基本原理是逐层搜索的迭代:频繁K项Lk 集用于搜索频繁(K+1)项集Lk+1,如此下去,直到不能找到维度更高的频繁项集为止。这种方法依赖连接和剪枝这两步来实现。算法的第一次遍历仅仅计算每个项目的具体值的数量,以确定大型l项集。随后的遍历,第k次遍历,包括两个阶段。首先,使用在第(k-1)次遍历中找到的大项集Lk-1和产生候选项集Ck。接着扫描数据库,计算Ck中候选的支持度。用Hash树可以有效地确定Ck中包含在一个给定的事务t中的候选。如果某项集满足最小支持度, 则称它为频繁项集。

2.2 Apriori算法的步骤

步骤如下:

1、设定最小支持度s和最小置信度c;

2、Apriori算法使用候选项集。首先产生出候选的项的集合,即候选项集,若候选项集的支持度大于或等于最小支持度,则该候选项集为频繁项集;

3、在Apriori算法的过程中,首先从数据库读入所有的事务,每个项都被看作候选1-项集,得出各项的支持度,再使用频繁1-项集集合来产生候选2-项集集合,因为先验原理保证所有非频繁的1-项集的超集都是非频繁的;

4、再扫描数据库,得出候选2-项集集合,再找出频繁2-项集,并利用这些频繁2-项集集合来产生候选3-项集;

5、重复扫描数据库,与最小支持度比较,产生更高层次的频繁项集,再从该集合里产生下一级候选项集,直到不再产生新的候选项集为止。

2.3 开发环境

2.3.1 软件环境

(1)编程软件:Jdk开发包+eclipse集成开发环境

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

(2)数据库软件:SQL Server 2008

SQL Server 2008 在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。

(3)办公软件:Excel 2010

Excel是一款试算表办公软件。它是微软办公套装软件office的重要的组成部分,它是集统计分析、数据处理和辅助决策等功能于一身,现在金融、统计财经、管理等众多领域广泛应用。本实验主要用来为固定数据量改变最小支持数以及固定最小支持数改变数据量两种情况进行时间分析提供可视化图表。

2.3.2 硬件环境

装有Windows 7 旗舰版电脑。

2.4 本章小结

本章的内容主要是为了引出本实验的主要算法以及对算法的实现环境做了介绍。

3 算法的设计

3.1 Apriori算法整体框架

图3.1 Apriori实验流程图3.2 主要的数据结构与函数

3.2.1 数据结构

class Transaction

{

public int pid;

public String itemset;

}

该类表示表中的一条记录。

class Dao

{

public ArrayList Query(String sql)

}

该类用于访问数据库操作。

class Kfp

{

public char kfpstr[]=new char[Apriori.ITEMSIZE];

public int index=-1;

public int support=0;

public boolean isfp=true;

}

该类代表一个频繁项目。

3.2.2 主要的程序

Java 中最常用的集合类是 List 和 Map。 List 的具体实现包括 ArrayList 和Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。List 适用于按数值索引访问元素的情形。HashMap:Map接口的常用实现类,系统当成一个整体进行处理,系统总是根据Hash算法来计算的存储位置,这样可以保证能快速存、取 Map的对。

ArrayList alTransactions:保存表中的所有记录

ArrayList alKfpsl:临时存储频繁项目的集合,存储连接后的结果

ArrayList SureFpset:保存频繁k项集

ArrayList SureFpsetPrio:保存频繁k-1项集

ArrayList notFpList:保存一定不是频繁项目的集合,用于剪枝

HashMap KfpSuppor:频繁项目集及其对应的支持数

HashMap guanlianguize:关联规则及其置信度

3.2.3 连接与剪枝操作

对于连接操作的两个字符串(长度为k),它们必须有k-1个相同的字符才能做连接操作。

例如:abc和abd可以连接成abcd,abd和bcd可以连接成abcd,而abc和ade就不可以做连接操作。整个连接过程类似归并排序中的归并操作

对于任一频繁项目集的所有非空子集也必须是频繁的,反之,如果某个候选的非空子集不是频繁的,那么该候选集肯定不是频繁的,将其剪枝。

3.3 本章小结

本章主要介绍了算法设计的整体流程并且也对主要程序和操作作了简要的说明。

4 数据库的设计与数据的来源

本实验的数据均存储于数据库中。数据库yuzm中共产生6张表。表test为测试用表,用于程序的正确性验证。还有5张表存储随机产生的实验数据。其中数据库的结构如下图所示。

图4.1 数据库结构

4.1正确性验证数据

表test为PPT上的实例,用于正确性验证。数据的item个数为5,其中的九行数据均由SQL语句产生,表的每一行都是一个“0”“1”的字符串,字符串长度等于商品种类,其中“0”表示该商品不存在,“1”表示该商品存在。表的全部数据如图4.2。

图4.2 表test

4.2 实验数据

5张表是通过算法随机产生的具有不同数据量的数据集,假设商品种类为10种,表的每一行都是一个“0”“1”的字符串,字符串长度等于商品种类,其中“0”表示该商品不存在,“1”表示该商品存在。其中表data1共随机产生1万行数据,表data2产生

5万行数据,表data3产生25万行数据,表data4产生50万行数据,表data5产生75万行数据。部分数据如图4.3。

图4.3 实验用表(部分)

4.3 本章小结

本章主要对数据库的设计与数据来源做出了说明。

5 实验结果与性能分析

5.1 Apriori实验界面

其中可信度可自由设置,默认为0.7。而支持度记为最小支持度与数据量的比例。实验数据可以下拉选择6张表中的任意一张。如下图所示:

图5.1 实验界面

5.2 实验的正确性验证

运行程序,我们选择表test,即可进行正确性验证,实验结果如下图:

图5.2 正确性验证

最终实验结果与ppt的结果相吻合,表明程序编写正确。

5.3 实验性能分析

为了对本程序的实验进行性能分析,我们分别采用固定数据量改变最小支持数以及固定最小支持数改变数据量两种情况进行时间分析,其中最小置信度设为0.7不变。

5.3.1固定最小支持度改变数据量

设支持度为0.2,最小可信度为0.7。具体实验数据量与执行时间如下:

图5.3 数据量对性能的影响

5.3.2固定数据量改变最小支持度

设实验数据量固定改变最小支持度,具体如下所示:

图5.4 最小支持度对性能的影响

5.3.3实验结果分析

由以上实验我们可以看出,实验时间会随着数据量的增大而增大,并且随着最小支

持度的增大而减小。并且他们之间的变化类似于某种指数函数的变化趋势。Apriori的时间主要消耗在4个方面:

1、利用K频繁集连接产生K+1候选集时,判断连接的条件时比较的次数太多。假设项集个数为m的频繁集合Lk,判断连接条件时比较的时间复杂度为O(K*m2)。而且本实验的m都很大;

2、对Ck中任意的一个c的k个(k-1)子集是否都在Lk-1中。在平均情况下,对所有候选k项集需要扫描次数为|Ck|*|Lk-1|*k/2;

3、为了得到所有的候选频集的支持度,需要扫描N次;

4、扫描一次数据库需时间O(k|T|)。|T|为交易数量,k交易长度

5.4 本章小结

Apriori算法因自身需要多次扫描数据库,并且经过复杂的连接剪枝操作而产生大量候选集以及进行大量的模式匹配计算的缺陷,使得其在I/O上的花费时间很多,从而导致算法的效率不是太高。

6 总结与体会

通过本次实验,让我明白了什么是Apriori算法和数据之间的关联性,Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法,为以后进步学习数据挖掘知识打下了良好的基础。同时我也更加深刻理解了Apriori算法的原理及其实现的内部细节,同时通过实现这一经典的数据挖掘算法,也让我更深刻的体会到数据挖掘对于知识发现的重要性,尽管实现了算法,但其中可能还有可以改进的地方,尤其是程序的运行效率方面。Apriori算法实验不仅使得我对该算法的理解更加上升了一个层次,同时也使得我更加了解了java编程语言,使用更加得心应手。

import java.awt.BorderLayout;

import java.awt.Font;

import java.awt.GridLayout;

import java.awt.Panel;

import java.awt.TextArea;

import java.awt.TextField;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Set;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

import org.omg.CORBA.PUBLIC_MEMBER;

public class Apriori extends JFrame implements ActionListener

{

////////////////////////////////////////////////////// public static int ITEMSIZE=10;

public final int FRAMEWIDTH=800;

public final int FRAMEHEIGHT=600;

/////////////////////////////////////////////////////// JPanel up=null;

JPanel up_up=null;

TextField textFieldName[]=null;

JPanel up_down=null;

JPanel up_down_left=null;

JLabel conflabel=null;

JLabel c1=null;

JLabel c2=null;

JLabel c3=null;

JLabel c4=null;

JLabel c5=null;

JLabel c6=null;

JLabel c7=null;

JLabel c8=null;

JTextField conf=null;

JLabel supportlabel=null;

JTextField support=null;

JPanel up_down_right=null;

JComboBox jComboBoxDateSize=null;//下拉框

JButton jButtonMine=null;

JPanel down=null;

TextArea textArea=null;

int fpstep=1;

int fpindex=0;

Dao dao=null;

double MinSupport=0.20;

double MinConfi=0.70;

double DateSize=9.0;

ArrayList alTransactions=null;

ArrayList alKfps=null;

ArrayList notFpList=null;

ArrayList SureFpset=null;

ArrayList SureFpsetPrio=null;

HashMap KfpSupport=null;

ArrayList alsurekfpstr=null;

HashMap guanlianguize=null;

ArrayList isaddarrStrings=null;

int [][]AuxArr=null;

public static void main(String[] args)

{

Apriori A=new Apriori();

}

public Apriori()

{

JPanel up=new JPanel(new GridLayout(2, 1));

JPanel up_up=new JPanel(new GridLayout(1, ITEMSIZE));

//TextField textFieldName[]=new TextField[ITEMSIZE];

//for(int i=0;i

//{

// textFieldName[i]=new TextField();

// up_up.add(textFieldName[i]);

//}

c1=new JLabel(" 数");

up_up.add(c1);

c2=new JLabel(" 据");

up_up.add(c2);

c3=new JLabel(" 挖");

up_up.add(c3);

c4=new JLabel(" 掘");

up_up.add(c4);

c5=new JLabel(" 实");

up_up.add(c5);

c6=new JLabel(" 验");

up_up.add(c6);

c7=new JLabel(" --------");

up_up.add(c7);

c8=new JLabel(" Apriori");

up_up.add(c8);

up_down=new JPanel(new GridLayout(1, 2));

up_down_left=new JPanel(new GridLayout(1, 4));

conflabel=new JLabel("可信度:");

conf=new JTextField();

conf.setText("0.7");

supportlabel=new JLabel("支持度:");

support=new JTextField();

support.setText("0.2");

up_down_left.add(conflabel);

up_down_left.add(conf);

up_down_left.add(supportlabel);

up_down_left.add(support);

up_down_right=new JPanel(new GridLayout(1, 2)); jComboBoxDateSize=new JComboBox();//下拉框jComboBoxDateSize.addItem("test");

jComboBoxDateSize.addItem("data1");

jComboBoxDateSize.addItem("data2");

jComboBoxDateSize.addItem("data3");

jComboBoxDateSize.addItem("data4");

jComboBoxDateSize.addItem("data5");

jComboBoxDateSize.addActionListener(this);

jButtonMine=new JButton("开始挖掘");

jButtonMine.addActionListener(this);

up_down_right.add(jComboBoxDateSize);

up_down_right.add(jButtonMine);

up_down.add(up_down_left);

up_down.add(up_down_right);

up.add(up_up);

up.add(up_down);

down=new JPanel(new BorderLayout()) ;

textArea=new TextArea();

//textArea.setFont(new Font(Font.DIALOG,Font.ITALIC , 20)); textArea.setFont(new Font(Font.DIALOG,Font.PLAIN , 20)); down.add(textArea);

this.setLayout(new BorderLayout());

this.setSize(FRAMEWIDTH, FRAMEHEIGHT);

this.setLocation(100, 100);

this.setSize(this.FRAMEWIDTH, this.FRAMEHEIGHT);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setTitle("Apriori");

//up.setSize(this.FRAMEWIDTH, 100);

this.add(up,BorderLayout.NORTH);

//down.setLocation(0, 100);

//down.setSize(this.FRAMEWIDTH, this.FRAMEHEIGHT-100);

this.add(down);

this.setVisible(true);

}

public void InitDate(String table)

{

fpstep=1;

AuxArr=new int[ITEMSIZE+1][ITEMSIZE+1];

alKfps=new ArrayList();

notFpList=new ArrayList();

SureFpset=new ArrayList();

SureFpsetPrio=new ArrayList();

dao=new Dao();

KfpSupport=new HashMap();

alsurekfpstr=new ArrayList();

guanlianguize=new HashMap();

isaddarrStrings=new ArrayList();

alTransactions=dao.Query("select * from "+table);

this.DateSize=alTransactions.size();

}

public void ShowkFp(ArrayList SureFpset)

{

int steptemp=fpstep;

textArea.append("频繁"+(steptemp)+"项集\r\n");

//System.out.println();

for(int i=0;i

{

Kfp k=SureFpset.get(i);

int tempindex=k.index;

String string=String.copyValueOf(k.kfpstr, 0, ++tempindex);

int support=KfpSupport.get(string);

textArea.append(string+"-----"+support+"-----"+support/DateSize+"\r\n");

//System.out.println(string+"\r\n");

}

}

public void ShowkFp2(HashMap SureFpset)

{

textArea.append("关联规则\r\n");

Set keys=(Set) SureFpset.keySet();

for(String keyString:keys)

{

textArea.append(keyString+"-----------"+SureFpset.get(keyString)+"\r\n") ;;

}

}

public void DataMine()

{

int fpsteptemp=0;

if(fpstep == 1)

{

for(int i=0;i

{

Kfp kfp=new Kfp();

kfp.kfpstr[++kfp.index]=(char) ('a'+i);

kfp.support=0;

kfp.isfp=false;

alKfps.add(kfp);

}

DealSupport();

SaveNotFpBySupport();

SaveSureFp();

ShowkFp(alKfps);

fpstep++;

}

while(!alKfps.isEmpty())

{

alKfps.clear();

for (int i = 0; i < SureFpset.size(); i++)

{

材料分析方法实验报告

篇一:材料分析方法实验报告 篇二:材料分析方法课程设计报告 材料分析测试方法 课程设计(论文) 题目:磁控溅射c/w多层膜成分及微观分析 学院材料科学与工程 专业材料化学 班级材化082 学生王维娜 学号 3080101296 指导教师陈迪春 起止时间 2010.12.27-2011.1.1 年 材料分析测试方法课程设计任务书 课程设计内容要求: 掌握高分辨透射电子显微镜样品制备方法,学习并了解真空镀膜 技术-磁控溅射技术,多层膜制备过程,以及其微观结构分析,成分 分析所用仪器和原理。 学生(签名) 月日 材料分析测试方法课程设计评语 指导教师(签名) 年日 目录 材料分析测试方法 ............................................................................. .. (1) 1.1 磁控溅射 ............................................................................. (5) 1.2 x射线衍射仪 ............................................................................. . (5) 1.3 透射电子显微镜 ............................................................................. (6) 1.4 x射线光电子能谱仪(xps) ........................................................................ (7) 第二章实验方法 ............................................................................. .. (9) 2.1 tem样品的制备方法 .............................................................................

材料现代分析方法练习题及答案

8. 什么是弱束暗场像?与中心暗场像有何不同?试用Ewald图解说明。 答:弱束暗场像是通过入射束倾斜,使偏离布拉格条件较远的一个衍射束通过物镜光阑,透射束和其他衍射束都被挡掉,利用透过物镜光阑的强度较弱的衍射束成像。 与中心暗场像不同的是,中心暗场像是在双光束的条件下用的成像条件成像,即除直射束外只有一个强的衍射束,而弱束暗场像是在双光阑条件下的g/3g的成像条件成像,采用很大的偏离参量s。中心暗场像的成像衍射束严格满足布拉格条件,衍射强度较强,而弱束暗场像利用偏离布拉格条件较远的衍射束成像,衍射束强度很弱。采用弱束暗场像,完整区域的衍射束强度极弱,而在缺陷附近的极小区域内发生较强的反射,形成高分辨率的缺陷图像。图:PPT透射电子显微技术1页 10. 透射电子显微成像中,层错、反相畴界、畴界、孪晶界、晶界等衍衬像有何异同?用什么办法及根据什么特征才能将它们区分开来? 答:由于层错区域衍射波振幅一般与无层错区域衍射波振幅不同,则层错区和与相邻区域形成了不同的衬度,相应地出现均匀的亮线和暗线,由于层错两侧的区域晶体结构和位相相同,故所有亮线和暗线的衬度分别相同。层错衍衬像表现为平行于层错面迹线的明暗相间的等间距条纹。 孪晶界和晶界两侧的晶体由于位向不同,或者还由于点阵类型不同,一边的晶体处于双光束条件时,另一边的衍射条件不可能是完全相同的,也可能是处于无强衍射的情况,就相当于出现等厚条纹,所以他们的衍衬像都是间距不等的明暗相间的条纹,不同的是孪晶界是一条直线,而晶界不是直线。 反相畴界的衍衬像是曲折的带状条纹将晶粒分隔成许多形状不规则的小区域。 层错条纹平行线直线间距相等 反相畴界非平行线非直线间距不等 孪晶界条纹平行线直线间距不等 晶界条纹平行线非直线间距不等 11.什么是透射电子显微像中的质厚衬度、衍射衬度和相位衬度。形成衍射衬度像和相位衬度像时,物镜在聚焦方面有何不同?为什么? 答:质厚衬度:入射电子透过非晶样品时,由于样品不同微区间存在原子序数或厚度的差异,导致透过不同区域落在像平面上的电子数不同,对应各个区域的图像的明暗不同,形成的衬度。 衍射衬度:由于样品中的不同晶体或同一晶体中不同部位的位向差异导致产生衍射程度不同而形成各区域图像亮度的差异,形成的衬度。 相位衬度:电子束透过样品,试样中原子核和核外电子产生的库伦场导致电子波的相位发生变化,样品中不同微区对相位变化作用不同,把相应的相位的变化情况转变为相衬度,称为相位衬度。 物镜聚焦方面的不同:透射电子束和至少一个衍射束同时通过物镜光阑成像时,透射束和衍射束相互干涉形成反应晶体点阵周期的条纹成像或点阵像或结构物象,这种相位衬度图像的形成是透射束和衍射束相干的结果,而衍射衬度成像只用透射束或者衍射束成像。

材料研究与测试方法复习题答案版

材料研究与测试方法复习题答案版

复习题 一、名词解释 1、系统消光: 把由于F HKL=0而使衍射线有规律消失的现象称为系统消光。 2、X射线衍射方向: 是两种相干波的光程差是波长整数倍的方向。 3、Moseley定律:对于一定线性系的某条谱线而言其波长与原子序数平方近似成反比关系。 4、相对强度:同一衍射图中各个衍射线的绝对强度的比值。 5、积分强度:扣除背影强度后衍射峰下的累积强度。 6、明场像暗场像:用物镜光栏挡去衍射束,让透射束成像,有衍射的为暗像,无衍射的为明像,这样形成的为明场像;用物镜光栏挡去透射束和及其余衍射束,让一束强衍射束成像,则无衍射的为暗像,有衍射的为明像,这样形成的为暗场像。 7、透射电镜点分辨率、线分辨率:点分辨率表示电镜所能分辨的两个点之间的最小距离;线分辨率表示电镜所能分辨的两条线之间的最小距离。 8、厚度衬度:由于试样各部分的密度(或原子序数)和厚度不同形成的透射强度的差异; 9、衍射衬度:由于晶体薄膜内各部分满足衍射条件的程度不同形成的衍射强度的差异;10相位衬度:入射电子收到试样原子散射,得到透射波和散射波,两者振幅接近,强度差很小,两者之间引入相位差,使得透射波和合成波振幅产生较大差异,从而产生衬度。 11像差:从物面上一点散射出的电子束,不一定全部聚焦在一点,或者物面上的各点并不按比例成像于同一平面,结果图像模糊不清,或者原物的几何形状不完全相似,这种现象称为像差 球差:由于电磁透镜磁场的近轴区和远轴区对电子束的汇聚能力不同造成的 像散:由于透镜磁场不是理想的旋转对称磁场而引起的像差 色差:由于成像电子的波长(或能量)不同而引起的一种像差 12、透镜景深:在不影响透镜成像分辨本领的前提下,物平面可沿透镜轴移动的距离 13、透镜焦深:在不影响透镜成像分辨本领的前提下,像平面可沿透镜轴移动的距离 14、电子衍射:电子衍射是指当一定能量的电子束落到晶体上时,被晶体中原子散射,各散射电子波之间产生互相干涉现象。它满足劳厄方程或布拉格方程,并满足电子衍射的基本公式Lλ=Rd L是相机长度,λ为入射电子束波长,R是透射斑点与衍射斑点间的距离。 15、二次电子:二次电子是指在入射电子作用下被轰击出来并离开样品表面的原子的核外电子。

材料现代分析方法实验指导书

实验一:显微镜的操作与金相组织观察 一、实验目的: 1. 了解掌握普通光学金相显微镜基本原理。 2. 掌握普通光学金相显微镜基本操作。 3. 分辨已制备好的标准试祥组织。 二、实验设备及材料: 1. 台式金相显微镜; 2. 已制备好的标准试祥。 三、实验内容: 1. 掌握金相显微镜的使用方法。 2. 观察标准试样的组织,调整粗调及微调手轮,掌握显微镜的聚焦方法 3. 分别调整视场光栏和孔径光栏,观察其对显微镜分辨率的影响规律。 4. 调整物镜与目镜的匹配,理解有效放大倍数。 5. 分别用100X及400X观察标准试祥组织,并描绘示意图。 四、实验报告要求: 1. 实验目的 2. 实验设备及材料 3. 实验内容 4. 讨论 (1)简述金相显微镜的放大原理。 (2)简述影响显微镜成像质量的因素有哪些。 (3)如何提高显微镜的分辨率。 (4)画出观察组织的示意图。示意图按统一规格画,并用箭头标明各组织

材料: 放大倍数: 实验二:金相试样制备技术 一、实验目的: 1. 了解试样的制备原理,熟悉制备过程。 2. 初步掌握显微试样的制备方法。 二、实验设备及材料: 砂轮机、抛光机、加工好的碳钢试样、砂纸、抛光膏、无水乙醇、浓硝酸。 三、实验内容 1. 每人制备一块碳钢的金相显微试样,按照下面步骤:砂轮机粗磨 T 砂纸从粗到细磨 制f 机械抛光f 化学腐蚀。 2. 观察金相制备试样,分析所制备试样存在的缺陷。 四、实验报告要求: 1. 实验目的 2. 实验设备及材料 3. 实验内容 4. 讨论 (1) 简述金相试样的制备原理和过程。 (2) 分析试样制备过程中出现缺陷的原因, 结合自己试样中的缺陷讨论如何制备出高质 量的显微试样 编号: 组织:

五种大数据压缩算法

?哈弗曼编码 A method for the construction of minimum-re-dundancy codes, 耿国华1数据结构1北京:高等教育出版社,2005:182—190 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997. 冯桂,林其伟,陈东华.信息论与编码技术[M].北京:清华大学出版社,2007. 刘大有,唐海鹰,孙舒杨,等.数据结构[M].北京:高等教育出版社,2001 ?压缩实现 速度要求 为了让它(huffman.cpp)快速运行,同时不使用任何动态库,比如STL或者MFC。它压缩1M数据少于100ms(P3处理器,主频1G)。 压缩过程 压缩代码非常简单,首先用ASCII值初始化511个哈夫曼节点: CHuffmanNode nodes[511]; for(int nCount = 0; nCount < 256; nCount++) nodes[nCount].byAscii = nCount; 其次,计算在输入缓冲区数据中,每个ASCII码出现的频率: for(nCount = 0; nCount < nSrcLen; nCount++) nodes[pSrc[nCount]].nFrequency++; 然后,根据频率进行排序: qsort(nodes, 256, sizeof(CHuffmanNode), frequencyCompare); 哈夫曼树,获取每个ASCII码对应的位序列: int nNodeCount = GetHuffmanTree(nodes); 构造哈夫曼树 构造哈夫曼树非常简单,将所有的节点放到一个队列中,用一个节点替换两个频率最低的节点,新节点的频率就是这两个节点的频率之和。这样,新节点就是两个被替换节点的父

ch05材料分析测试方法作业答案

第五章 X 射线衍射分析原理 一、教材习题 5-2 “一束X 射线照射一个原子列(一维晶体),只有镜面反射方向上才有可能 产生衍射”,此种说法是否正确? 答:不正确。(根据劳埃一维方程,一个原子列形成的衍射线构成一系列共顶同轴的衍射圆锥,不仅镜面反射方向上才有可能产生衍射。) 5-3 辨析概念:X 射线散射、衍射与反射。 答:X 射线散射:X 射线与物质作用(主要是电子)时,传播方向发生改变的现象。 X 射线衍射:晶体中某方向散射X 射线干涉一致加强的结果,即衍射。 X 射线反射:晶体中各原子面产生的反射方向上的相干散射。与可见光的反射不同,是“选择反射”。 在材料的衍射分析工作中,“反射”与“衍射”通常作为同义词使用。 5-4 某斜方晶体晶胞含有两个同类原子,坐标位置分别为:( 43,43,1)和(4 1 ,41,2 1 ),该晶体属何种布拉菲点阵?写出该晶体(100)、(110)、(211)、(221)等晶面反射线的F 2值。 答:根据题意,可画出二个同类原子的位置,如下图所示: 如果将原子(1/4,1/4,1/2)移动到原点(0,0,0),则另一原子(3/4,3/4,1)的坐标变为(1/2,1/2,1/2),因此该晶体属布拉菲点阵中的斜方体心点阵。 对于体心点阵: ])1(1[)()2/2/2/(2)0(2L K H L K H i i f fe fe F ++++-+=+=ππ

???=++=++=奇数时 ,当偶数时; 当L K H 0,2L K H f F ?? ?=++=++=奇数时 ,当偶数时; 当L K H L K H f 0,4F 22 或直接用两个原子的坐标计算: ()()()()()()()3 31112()2()4444211111122()222442 111 2() 4421 (2)2 11111111i h k l i h k l i h k l i h k l i h k l h k l i h k l h k l h k l F f e e f e e f e f e f ππππππ++++??++++ ? ??++++++++++??=+ ? ????=+?????? ??=+-?? ?? =+-?? ??=+-±?? 所以 F 2=f 2[1+(-1)(h +k +l )]2 因此,(100)和(221),h +k +l =奇数,|F |2=0;(110)、(211),h +k +l =偶数,|F |2=4f 2。 5-7 金刚石晶体属面心立方点阵,每个晶胞含8个原子,坐标为:(0,0,0)、 ( 21,21,0)、(21,0,21)、(0,21,21)、(41,41,41)、(43,43,41 )、(43,41,43)、(41,43,4 3),原子散射因子为f a ,求其系统消光规律(F 2 最简表达式),并据此说明结构消光的概念。 答:金刚石晶体属面心立方点阵,每个晶胞含8个原子,坐标为:(0,0,0)、(1/2,1/2,0)、(1/2,0,1/2)、(0,1/2,1/2)、(1/4,1/4,1/4)、(3/4,3/4,1/4)、(3/4,1/4,3/4)、(1/4,3/4,3/4),可以看成一个面心立方点阵和沿体对角线平移(1/4,1/4,1/4)的另一个面心立方点阵叠加而成的。

材料分析(SEM)实验报告

材料专业实验报告 题目:扫描电镜(SEM)物相分析实验学院:先进材料与纳米科技学院专业:材料物理与化学 姓名: 学号:1514122986 2016年6月30日

扫描电镜(SEM)物相分析实验 一.实验目的 1.了解扫描电镜的基本结构与原理 2.掌握扫描电镜样品的准备与制备方法 3.掌握扫描电镜的基本操作并上机操作拍摄二次电子像 4.了解扫描电镜图片的分析与描述方法 二.实验原理 1.扫描电镜的工作原理 扫描电镜(SEM)是用聚焦电子束在试样表面逐点扫描成像。试样为块状或粉末颗粒,成像信号可以是二次电子、背散射电子或吸收电子。其中二次电子是最主要的成像信号。由电子枪发射的电子,以其交叉斑作为电子源,经二级聚光镜及物镜的缩小形成具有一定能量、一定束流强度和束斑直径的微细电子束,在扫描线圈驱动下,于试样表面按一定时间、空间顺序作栅网式扫描。聚焦电子束与试样相互作用,产生二次电子发射以及背散射电子等物理信号,二次电子发射量随试样表面形貌而变化。二次电子信号被探测器收集转换成电讯号,经视频放大后输入到显像管栅极,调制与入射电子束同步扫描的显像管亮度,得到反映试样表面形貌的二次电子像。 本次实验中主要通过观察背散射电子像及二次电子像对样品进行分析表征。 1)背散射电子 背散射电子是指被固体样品原子反射回来的一部分入射电子,其中包括弹性背反射电子和非弹性背反射电子。弹性背反射电子是指被样品中原子和反弹回来的,散射角大于90度的那些入射电子,其能量基本上没有变化(能量为数千到数万电子伏)。非弹性背反射电子是入射电子和核外电子撞击后产生非弹性散射,不仅能量变化,而且方向也发生变化。非弹性背反射电子的能量范围很宽,从数十电子伏到数千电子伏。背反射电子的产生范围在100nm-1mm深度。背反射电子产额和二次电子产额与原子序数的关系背反射电子束成像分辨率一般为50-200nm(与电子束斑直径相当)。背反射电子的产额随原子序数的增加而增加,所以,利用背反射电子作为成像信号不仅能分析形貌特征,也可以用来显示原子序数衬

(完整word版)教案-材料现代分析测试方法

西南科技大学 材料科学与工程学院 教师教案 教师姓名:张宝述 课程名称:材料现代分析测试方法 课程代码:11319074 授课对象:本科专业:材料物理 授课总学时:64 其中理论:64 实验:16(单独开课) 教材:左演声等. 材料现代分析方法. 北京工业大 学出版社,2000 材料学院教学科研办公室制

2、简述X射线与固体相互作用产生的主要信息及据此建立的主要分析方法。 章节名称第三章粒子(束)与材料的相互作用 教学 时数 2 教学目的及要求1.理解概念:(电子的)最大穿入深度、连续X射线、特征X射线、溅射;掌握概念:散射角(2 )、电子吸收、二次电子、俄歇电子、背散射电子、吸收电流(电子)、透射电子、二次离子。 2.了解物质对电子散射的基元、种类及其特征。 3.掌握电子与物质相互作用产生的主要信号及据此建立的主要分析方法。 4.掌握二次电子的产额与入射角的关系。 5.掌握入射电子产生的各种信息的深度和广度范围。 6.了解离子束与材料的相互作用及据此建立的主要分析方法。 重点难点重点:电子的散射,电子与固体作用产生的信号。难点:电子与固体的相互作用,离子散射,溅射。 教学内容提要 第一节电子束与材料的相互作用 一、散射 二、电子与固体作用产生的信号 三、电子激发产生的其它现象第二节离子束与材料的相互作用 一、散射 二、二次离子 作业一、教材习题 3-1电子与固体作用产生多种粒子信号(教材图3-3),哪些对应入射电子?哪些是由电子激发产生的? 图3-3入射电子束与固体作用产生的发射现象 3-2电子“吸收”与光子吸收有何不同? 3-3入射X射线比同样能量的入射电子在固体中穿入深度大得多,而俄歇电子与X光电子的逸出深度相当,这是为什么? 3-8配合表面分析方法用离子溅射实行纵深剖析是确定样品表面层成分和化学状态的重要方法。试分析纵深剖析应注意哪些问题。 二、补充习题 1、简述电子与固体作用产生的信号及据此建立的主要分析方法。 章节第四章材料现代分析测试方法概述教学 4

LZ77压缩算法实验报告

LZ77压缩算法实验报告 一、实验内容 使用C++编程实现LZ77压缩算法的实现。 二、实验目的 用LZ77实现文件的压缩。 三、实验环境 1、软件环境:Visual C++ 6.0 2、编程语言:C++ 四、实验原理 LZ77 算法在某种意义上又可以称为“滑动窗口压缩”,这是由于该算法将一个虚拟的,可以跟随压缩进程滑动的窗口作为术语字典,要压缩的字符串如果在该窗口中出现,则输出其出现位置和长度。使用固定大小窗口进行术语匹配,而不是在所有已经编码的信息中匹配,是因为匹配算法的时间消耗往往很多,必须限制字典的大小才能保证算法的效率;随着压缩的进程滑动字典窗口,使其中总包含最近编码过的信息,是因为对大多数信息而言,要编码的字符串往往在最近的上下文中更容易找到匹配串。 五、LZ77算法的基本流程 1、从当前压缩位置开始,考察未编码的数据,并试图在滑动窗口中找出最长的匹 配字符串,如果找到,则进行步骤2,否则进行步骤3。 2、输出三元符号组( off, len, c )。其中off 为窗口中匹

配字符串相对窗口边 界的偏移,len 为可匹配的长度,c 为下一个字符。然后将窗口向后滑动len + 1 个字符,继续步骤1。 3、输出三元符号组( 0, 0, c )。其中c 为下一个字符。然后将窗口向后滑动 len + 1 个字符,继续步骤1。 六、源程序 /********************************************************************* * * Project description: * Lz77 compression/decompression algorithm. * *********************************************************************/ #include #include #include #include #define OFFSET_CODING_LENGTH (10) #define MAX_WND_SIZE 1024 //#define MAX_WND_SIZE (1<

材料分析测试技术习题

近代材料分析测试方法习题 1 Ariy斑如何形成? 2 简述产生像差的三种原因。 3 何为焦长及景深,有何用途? 4 对比光学显微镜与电磁显微镜分辨率。 6 画出电镜结构原理图,简述每个部件的 作用。 7 何谓点分辨率、晶格分辨率、放大倍 数,其测定方法? 8 简述塑料一级复型、碳一级复型、塑料 -碳-喷铬二级复型制作步骤,对比各 有何特点。 9 简述质后衬度成像原理。 10 计算2种复型样品相对衬度(见书)。 11 简述透射电镜的主要用途。 12 写出劳埃方程,简述其用途。 13 写出布拉格方程,简述其用途。 14 已知简单立方晶体晶格常数为3A°,分别 在正空间和倒易空间中画出(101)、 (210)、(111)晶面及倒易易点,并计算出晶面的面间距和倒易失量的大小。 15 画出面心立方及体心立方[011]晶带轴的 标准电子衍射花样,标出最近的三个斑点指数及夹角。 16 画出爱瓦尔德球简述其用途。 17 体心立方和简单立方晶体的消光条件。 18 何谓标准电子衍射花样。面心立方和简单 立方晶体的消光条件。 19 为何不精确满足布拉格方程时,也会在底 片上出现衍射斑点。 20 为何入射电子束严格平行〔uvw〕时, 底片上也有衍射斑点出现。 21 绘出面心立方〔012〕晶带轴的标准电 子衍射花样,并写明步骤。(10分)22 已知相机常数K、晶体结构及单晶衍射花 样,简述单晶衍射花样标定步骤。(10 分) 23 何谓磁偏角。 24 选区衍射操作与选区衍射成像操作有何不 同。 25 孪晶衍射花样有何特点。 26 高阶劳爱斑点如何得到。 27 如何确定有序固溶体。 28 何谓菊池线花样。 29 何谓二次衍射斑点。 30 简述薄晶体样品制作步骤。 31 多晶衍射花样标定步骤。32 薄晶体成像原理与复型成像原理有何异同 点。 33 画出薄晶体衍衬成明场像、暗场像的光路 图,并加以说明。 34 螺型位错和刃型位错衍衬成像特征。为 何? 35 厚度消光、弯曲消光条纹产生原因。 36 孪晶、层错典型特征。 37 扫描电镜的主要用途。 38 扫描电镜中能成形貌像、成分像的信号各 有哪些? 39 如图所示,晶粒1为铝、晶粒2为铁,画 出A、B探头的收集背散射电子的信 号,及形貌、成分信号。 40 对比二次电子、背散电子成像衬度。 41 特征x射线可成哪种像,有何特征。 42 简述能谱仪与波谱仪工作原理。 43 试述原子散射因子f和结构因子│FHKL│ 2的物理意义,结构因子与哪些因素有 关? 44 画出X射线衍射分析光路图,说明测角仪 的工作原理。(8分) 45 简述用X射线衍射方法定性分析未知材料 的步骤。 46 写出粉末衍射卡组字母索引和数字索引 的编排方法和查询方法。 47 对钙钛矿(CaTiO3)为主的复相材料进 行定性分析,试设计分析方案(特别应 指出选何种辐射源及滤光片)。 48 用X射线衍射仪进行物相分析,请绘图说 明X射线管焦点、入射束、衍射束、接收狭缝、样品表面法线、反射晶面法线、 衍射圆之间的关系。

编译原理实验报告材料(预测分析报告表方法)

预测分析表方法 一、实验目的 理解预测分析表方法的实现原理。 二、实验内容: 编写一通用的预测法分析程序,要求有一定的错误处理能力,出错后能够使程序继续运行下去,直到分析过程结束。可通过不同的文法(通过数据表现)进行测试。 三、实验步骤 1.算法数据构造: 构造终结符数组:char Vt[10][5]={“id”,”+”……}; 构造非终结符数组:char Vn[10]={ }; 构造follow集数组:char *follow[10][10]={ } (可将follow集与预测分析表合并存放) 数据构造示例(使用的预测分析表构造方法1): /*data1.h简单算术表达式数据*/ char VN[10][5]={"E","E'","T","T'","F"}; //非终结符表 int length_vn=5; //非终结符的个数 char VT[15][5]={"id","+","*","(",")","#"}; //终结符表 int length_vt=6; //终结符的个数 char Fa[15][10]={"TE'","+TE'","","FT'","*FT'","","(E)","id"}; //产生式表:0:E->TE' 1:E'->+TE' 2:E'->空 // 3:T->FT' 4:T'->*FT' 5:T'->空 6:F->(E) 7:F->id int analysis_table[10][11]={0,-1,-1,0,-2,-2,0,0,0,0,0, -1,1,-1,-1,2,2,0,0,0,0,0, 3,-2,-1,3,-2,-2,0,0,0,0,0, -1,5, 4,-1,5, 5,0,0,0,0,0, 7,-2,-2,6,-2,-2,0,0,0,0,0}; //预测分析表,-1表示出错,-2表示该行终结符的follow集合,用于错误处理,正数表示产生式在数组Fa 中的编号,0表示多余的列。 (1)预测分析表的构造方法1 给文法的正规式编号:存放在字符数组中,从0开始编号,正规式的编号即为该正规式在数组中对应的下标。如上述Fa数组表示存储产生式。 构造正规式数组:char P[10][10]={“E->TE’”,”E’->+TE’”,……..}; (正规式可只存储右半部分,如E->TE’可存储为TE’,正规式中的符号可替换,如可将E’改为M ) 构造预测分析表:int analyze_table[10][10]={ } //数组元素值存放正规式的编号,-1表示出错 (2)预测分析表的构造方法2 可使用三维数组 Char analyze_table[10][10][10]={ }

材料现代分析方法北京工业大学

材料现代分析方法北京工业大学 篇一:13103105-材料现代分析方法 《材料现代分析方法》课程教学大纲 一、课程基本信息 课程编号:13103105 课程类别:专业核心课程 适应专业:材料物理 总学时:54学时 总学分:3 课程简介: 本课程介绍材料微观形貌、结构及成分的分析与表面分析技术主要方法及基本技术,简单介绍光谱分析方法。包括晶体X射线衍射、电子显微分析、X射线光电子谱仪、原子光谱、分子光谱等分析方法及基本技术。 授课教材:《材料分析测试方法》,黄新民解挺编,国防工业出版社,20XX年。 参考书目: [1]《现代物理测试技术》,梁志德、王福编,冶金工业出版社,20XX 年。 [2]《X射线衍射分析原理与应用》,刘粤惠、刘平安编,化学工业出

版社,20XX年。 [3]《X射线衍射技术及设备》,丘利、胡玉和编,冶金工业出版社,20XX年。 [4]《材料现代分析方法》,左演声、陈文哲、梁伟编,北京工业大学出版社,20XX年。 [5]《材料分析测试技术》,周玉、武高辉编,哈尔滨工业大学出版社,2000年。 [6]《材料结构表征及应用》,吴刚编,化学工业出版社,20XX年。 [7]《材料结构分析基础》,余鲲编,科学出版社,20XX年。 二、课程教育目标 通过学习,了解X射线衍射仪及电子显微镜的结构,掌握X-射线衍射及电子显微镜的基本原理和操作方法,了解试样制备的基本要求及方法,了解材料成分的分析与表面分析技术的主要方法及基本技术,了解光谱分析方法,能够利用上述相关仪器进行材料的物相组成、显微结构、表面分析研究。学会运用以上技术的基本方法,对材料进行测试、计算和分析,得到有关微观组织结构、形貌及成分等方面的信息。 三、教学内容与要求 第一章X射线的物理基础 教学重点:X射线的产生及其与物质作用原理 教学难点:X射线的吸收和衰减、激发限 教学时数:2学时

LZSS压缩算法实验报告

实验名称:LZSS压缩算法实验报告 一、实验内容 使用Visual 6..0 C++编程实现LZ77压缩算法。 二、实验目的 用LZSS实现文件的压缩。 三、实验原理 LZSS压缩算法是词典编码无损压缩技术的一种。LZSS压缩算法的字典模型使用了自适应的方式,也就是说,将已经编码过的信息作为字典, 四、实验环境 1、软件环境:Visual C++ 6.0 2、编程语言:C++ 五、实验代码 #include #include #include #include /* size of ring buffer */ #define N 4096 /* index for root of binary search trees */ #define NIL N /* upper limit for g_match_len. Changed from 18 to 16 for binary compatability with Microsoft COMPRESS.EXE and EXPAND.EXE #define F 18 */ #define F 16 /* encode string into position and length if match_length is greater than this: */ #define THRESHOLD 2 /* these assume little-endian CPU like Intel x86

-- need byte-swap function for big endian CPU */ #define READ_LE32(X) *(uint32_t *)(X) #define WRITE_LE32(X,Y) *(uint32_t *)(X) = (Y) /* this assumes sizeof(long)==4 */ typedef unsigned long uint32_t; /* text (input) size counter, code (output) size counter, and counter for reporting progress every 1K bytes */ static unsigned long g_text_size, g_code_size, g_print_count; /* ring buffer of size N, with extra F-1 bytes to facilitate string comparison */ static unsigned char g_ring_buffer[N + F - 1]; /* position and length of longest match; set by insert_node() */ static unsigned g_match_pos, g_match_len; /* left & right children & parent -- these constitute binary search tree */ static unsigned g_left_child[N + 1], g_right_child[N + 257], g_parent[N + 1]; /* input & output files */ static FILE *g_infile, *g_outfile; /***************************************************************************** initialize trees *****************************************************************************/ static void init_tree(void) { unsigned i; /* For i = 0 to N - 1, g_right_child[i] and g_left_child[i] will be the right and left children of node i. These nodes need not be initialized. Also, g_parent[i] is the parent of node i. These are initialized to NIL (= N), which stands for 'not used.' For i = 0 to 255, g_right_child[N + i + 1] is the root of the tree for strings that begin with character i. These are initialized to NIL. Note there are 256 trees. */ for(i = N + 1; i <= N + 256; i++) g_right_child[i] = NIL; for(i = 0; i < N; i++) g_parent[i] = NIL; } /***************************************************************************** Inserts string of length F, g_ring_buffer[r..r+F-1], into one of the trees (g_ring_buffer[r]'th tree) and returns the longest-match position and length via the global variables g_match_pos and g_match_len. If g_match_len = F, then removes the old node in favor of the new one, because the old one will be deleted sooner.

材料测试分析方法答案

第一章 一、选择题 1.用来进行晶体结构分析的X射线学分支是() A.X射线透射学; B.X射线衍射学; C.X射线光谱学; D.其它 2. M层电子回迁到K层后,多余的能量放出的特征X射线称() A.Kα; B. Kβ; C. Kγ; D. Lα。 3. 当X射线发生装置是Cu靶,滤波片应选() A.Cu;B. Fe;C. Ni;D. Mo。 4. 当电子把所有能量都转换为X射线时,该X射线波长称() A.短波限λ0; B. 激发限λk; C. 吸收限; D. 特征X射线 5.当X射线将某物质原子的K层电子打出去后,L层电子回迁K层,多余能量将另一个L层电子打出核外,这整个过程将产生()(多选题) A.光电子; B. 二次荧光; C. 俄歇电子; D. (A+C) 二、正误题 1. 随X射线管的电压升高,λ0和λk都随之减小。() 2. 激发限与吸收限是一回事,只是从不同角度看问题。() 3. 经滤波后的X射线是相对的单色光。() 4. 产生特征X射线的前提是原子内层电子被打出核外,原子处于激发状态。() 5. 选择滤波片只要根据吸收曲线选择材料,而不需要考虑厚度。() 三、填空题 1. 当X射线管电压超过临界电压就可以产生X射线和X射线。 2. X射线与物质相互作用可以产生、、、、 、、、。 3. 经过厚度为H的物质后,X射线的强度为。 4. X射线的本质既是也是,具有性。 5. 短波长的X射线称,常用于;长波长的X射线称 ,常用于。 习题 1.X射线学有几个分支?每个分支的研究对象是什么?

2. 分析下列荧光辐射产生的可能性,为什么? (1)用CuK αX 射线激发CuK α荧光辐射; (2)用CuK βX 射线激发CuK α荧光辐射; (3)用CuK αX 射线激发CuL α荧光辐射。 3. 什么叫“相干散射”、“非相干散射”、“荧光辐射”、“吸收限”、“俄歇效应”、“发射谱”、 “吸收谱”? 4. X 射线的本质是什么?它与可见光、紫外线等电磁波的主要区别何在?用哪些物理量 描述它? 5. 产生X 射线需具备什么条件? 6. Ⅹ射线具有波粒二象性,其微粒性和波动性分别表现在哪些现象中? 7. 计算当管电压为50 kv 时,电子在与靶碰撞时的速度与动能以及所发射的连续谱的短 波限和光子的最大动能。 8. 特征X 射线与荧光X 射线的产生机理有何异同?某物质的K 系荧光X 射线波长是否等 于它的K 系特征X 射线波长? 9. 连续谱是怎样产生的?其短波限V eV hc 3 01024.1?= =λ与某物质的吸收限k k k V eV hc 3 1024.1?= =λ有何不同(V 和V K 以kv 为单位)? 10. Ⅹ射线与物质有哪些相互作用?规律如何?对x 射线分析有何影响?反冲电子、光电 子和俄歇电子有何不同? 11. 试计算当管压为50kv 时,Ⅹ射线管中电子击靶时的速度和动能,以及所发射的连续 谱的短波限和光子的最大能量是多少? 12. 为什么会出现吸收限?K 吸收限为什么只有一个而L 吸收限有三个?当激发X 系荧光 Ⅹ射线时,能否伴生L 系?当L 系激发时能否伴生K 系? 13. 已知钼的λK α=0.71?,铁的λK α=1.93?及钴的λK α=1.79?,试求光子的频率和能量。 试计算钼的K 激发电压,已知钼的λK =0.619?。已知钴的K 激发电压V K =7.71kv ,试求其λK 。 14. X 射线实验室用防护铅屏厚度通常至少为lmm ,试计算这种铅屏对CuK α、MoK α辐射 的透射系数各为多少? 15. 如果用1mm 厚的铅作防护屏,试求Cr K α和Mo K α的穿透系数。 16. 厚度为1mm 的铝片能把某单色Ⅹ射线束的强度降低为原来的23.9%,试求这种Ⅹ射 线的波长。 试计算含Wc =0.8%,Wcr =4%,Ww =18%的高速钢对MoK α辐射的质量吸收系数。 17. 欲使钼靶Ⅹ射线管发射的Ⅹ射线能激发放置在光束中的铜样品发射K 系荧光辐射,问 需加的最低的管压值是多少?所发射的荧光辐射波长是多少? 18. 什么厚度的镍滤波片可将Cu K α辐射的强度降低至入射时的70%?如果入射X 射线束 中K α和K β强度之比是5:1,滤波后的强度比是多少?已知μm α=49.03cm 2 /g ,μm β =290cm 2 /g 。 19. 如果Co 的K α、K β辐射的强度比为5:1,当通过涂有15mg /cm 2 的Fe 2O 3滤波片后,强 度比是多少?已知Fe 2O 3的ρ=5.24g /cm 3,铁对CoK α的μm =371cm 2 /g ,氧对CoK β的 μm =15cm 2 /g 。 20. 计算0.071 nm (MoK α)和0.154 nm (CuK α)的Ⅹ射线的振动频率和能量。(答案:4.23

材料现代分析方法实验报告

力学与材料学院 材料现代分析方法实验报告二 XRD图谱分析 专业年级:1 姓名:1 指导老师:1 学号:1 2016年12月 中国南京 目录 实验名称:XRD图谱分析…………………………………………… 一、实验目的……………………………………………………

二、实验要求…………………………………………………… 三、操作过程…………………………………………………… 四、结果分析与讨论……………………………………………… 实验名称:XRD图谱分析 一、实验目的 了解XRD基本原理及其应用,不同物相晶体结构XRD图谱的区别,熟练掌握如何来分析利用X射线测试得到的XRD图谱。 二、实验要求

1、熟练掌握如何来利用软件打开、分析XRD图谱,以及输出分析结果。 2、明确不同物质的XRD图谱,掌握XRD图谱包含的晶体结构的关系,通过自己分析、数据查找和鉴别的全过程,了解如何利用软件正确分析和确定不同物相的XRD图谱,并输出分析结果。 3、实验报告的编写,要求报告能准确的反映实验目的、方法、过程及结论。 三、操作过程 1、启动Jade 6.0,并打开实验数据。 2、点击图标使图谱平滑后,再连续两次点击图标扣除背景影响。 3、右击工具栏中的图标,全选左侧的项目,取消选择右侧中的Use Chemistry Filter,最后在下方选择S/M Focus on Major Phases(如图一),并点击OK。 图一

4、得到物相分析,根据FOM值(越小,匹配性越高)可推断出该物相为以ZnO为主,可能含有CaF2、Al2O3、Mg(OH)2混合组成的物质(如图二),双击第一种物质可以得到主晶相的PDF卡片(如图三),点击图三版面中的Lines可以观察到不同角度处的衍射强度(如图四)。 图二

多媒体数据压缩实验报告

多媒体数据压缩实验报告 篇一:多媒体实验报告_文件压缩 课程设计报告 实验题目:文件压缩程序 姓名:指导教师:学院:计算机学院专业:计算机科学与技术学号: 提交报告时间:20年月日 四川大学 一,需求分析: 有两种形式的重复存在于计算机数据中,文件压缩程序就是对这两种重复进行了压 缩。 一种是短语形式的重复,即三个字节以上的重复,对于这种重复,压缩程序用两个数字:1.重复位置距当前压缩位置的距离;2.重复的长度,来表示这个重复,假设这两个数字各占一个字节,于是数据便得到了压缩。 第二种重复为单字节的重复,一个字节只有256种可能的取值,所以这种重复是必然的。给 256 种字节取值重新编码,使出现较多的字节使用较短的编码,出现较少的字节使用较长的编码,这样一来,变短的字节相对于变长的字节更多,文件的总长度就会减少,并且,字节使用比例越不均

匀,压缩比例就越大。 编码式压缩必须在短语式压缩之后进行,因为编码式压缩后,原先八位二进制值的字节就被破坏了,这样文件中短语式重复的倾向也会被破坏(除非先进行解码)。另外,短语式压缩后的结果:那些剩下的未被匹配的单、双字节和得到匹配的距离、长度值仍然具有取值分布不均匀性,因此,两种压缩方式的顺序不能变。 本程序设计只做了编码式压缩,采用Huffman编码进行压缩和解压缩。Huffman编码是一种可变长编码方式,是二叉树的一种特殊转化形式。编码的原理是:将使用次数多的代码转换成长度较短的代码,而使用次数少的可以使用较长的编码,并且保持编码的唯一可解性。根据 ascii 码文件中各 ascii 字符出现的频率情况创建 Huffman 树,再将各字符对应的哈夫曼编码写入文件中。同时,亦可根据对应的哈夫曼树,将哈夫曼编码文件解压成字符文件. 一、概要设计: 压缩过程的实现: 压缩过程的流程是清晰而简单的: 1. 创建 Huffman 树 2. 打开需压缩文件 3. 将需压缩文件中的每个 ascii 码对应的 huffman 编码按 bit 单位输出生成压缩文件压缩结束。

相关主题
文本预览
相关文档 最新文档