三角形常应变单元matlab程序的编制与使用

三角形常应变单元matlab程序的编制与使用
三角形常应变单元matlab程序的编制与使用

三角形常应变单元程序的编制与使用

有限元法是求解微分方程边值问题的一种通用数值方法,该方法是一种基于变分法(或变分里兹法)而发展起来的求解微分方程的数值计算方法,以计算机为手段,采用分片近似,进而逼近整体的研究思想求解物理问题。

有限元分析的基本步骤可归纳为三大步:结构离散、单元分析和整体分析。对于平面问题,结构离散常用的网格形状有三角形、矩形、任意四边形,以三个顶点为节点的三角形单元是最简单的平面单元,它较矩形或四边形对曲边边界有更好的适应性,而矩形或四边形单元较三节点三角

形有更高的计算精度。

Matlab语言是进行矩阵运算的强大工具,因

此,用Matlab语言编写有限元中平面问题的程序

有优越性。本章将详细介绍如何利用Matlab语言

编制三角形常应变单元的计算程序,程序流程图见

图1。

有限元法中三节点三角形分析结构的步骤如

下:

1)整理原始数据,如材料性质、荷载条件、约

束条件等,离散结构并进行单元编码、结点

编码、结点位移编码、选取坐标系。

2)单元分析,建立单元刚度矩阵。

3)整体分析,建立总刚矩阵。

4)建立整体结构的等效节点荷载和总荷载矩

5)边界条件处理。

6)解方程,求出节点位移。

7)求出各单元的单元应力。

8)计算结果整理。计算结果整理包括位移和应

力两个方面;位移计算结果一般不需要特别

的处理,利用计算出的节点位移分量,就可

画出结构任意方向的位移云图;而应力解的

误差表现在单元内部不满足平衡方程,单元与单元边界处应力一般不连续,在边界上应力解一般与力的边界条件不相符合。图1 程序流程图

1.1 程序说明

%******************************************************************* % 三角形常应变单元求解结构主程序

%******************************************************************* ●功能:运用有限元法中三角形常应变单元解平面问题的计算主程序。

●基本思想:单元结点按右手法则顺序编号。

●荷载类型:可计算结点荷载。

●说明:主程序的作用是通过赋值语句、读取和写入文件、函数调用等完成算

法的全过程,即实现程序流程图的程序表达。

%----------------------------------------------------------------------------------------------------- 1 程序准备

format short e %设定输出类型

clear all %清除所有已定义变量

clc %清屏

●说明:

format short e -设定计算过程中显示在屏幕上的数字类型为短格式、科学计数法;

clear all -清除所有已定义变量,目的是在本程序的运行过程中,不会发生变量名相同等可能使计算出错的情况;

clc -清屏,使屏幕在本程序运行开始时

%----------------------------------------------------------------------------------------------------- 2 全局变量定义

global NNODE NPION NELEM NVFIX NFORCE COORD LNODS YOUNG POISS THICK

global FORCE FIXED

global BMATX DMATX SMATX AREA

global ASTIF ASLOD ASDISP

global FP1

●说明:

NNODE—单元结点数,NPION—总结点数,NELEM—单元数,NVFIX—受约束边界点数,NFORCE—结点力数,COORD—结构结点坐标数组,LNODS —单元定义数组,YOUNG—弹性模量,POISS—泊松比,THICK—厚度

FORCE —节点力数组(n,3) n:受力节点数目,(n,1):作用点,(n,2):x方向,(n,3):y 方向;FIXED—约束信息数组(n,3) n:受约束节点数目, (n,1):约束点(n,2)与(n,3)分别为约束点x方向和y方向的约束情况,受约束为1否则为0

BMATX—单元应变矩阵(3*6),DMATX—单元弹性矩阵(3*3),SMATX—单元应力矩阵(3*6),AREA—单元面积

ASTIF—总体刚度矩阵,ASLOD—总体荷载向量,ASDISP—结点位移向量FP1—数据文件指针

3 打开文件

FP1=fopen('input.txt','rt'); %打开输入数据文件存放初始数据

●说明:

FP1=fopen('input.txt','rt'); -打开已存在的输入数据文件input.txt,且设置其为只读格式,使程序在执行过程中不能改变输入文件中的数值,并用文件句柄FP1来执行

FP2=fopen('output.txt','wt'); -打开输出数据文件,该文件不存在时,通过此命令创建新文件,该文件存在时则将原有内容全部删除。该文件设置为可写格式,可在程序执行过程中向输出文件写入数据。

%----------------------------------------------------------------------------------------------------- 4 读入程序控制信息

NPION=fscanf(FP1,'%d',1) %结点个数(结点编码总数)

NELEM=fscanf(FP1,'%d',1) %单元个数(单元编码总数)

NFORCE=fscanf(FP1,'%d',1) %结点荷载个数

NVFIX=fscanf(FP1,'%d',1) %受约束边界点数

YOUNG=fscanf(FP1,'%e',1) %弹性模量

POISS=fscanf(FP1,'%f',1) %泊松比

THICK=fscanf(FP1,'%d',1) %厚度

LNODS=fscanf(FP1,'%d',[3,NELEM])' %单元定义数组(单元结点号)

●说明:

建立LNODS矩阵,该矩阵指出了每一单元的连接信息。

矩阵的每一行针对每一单元,共计NELEM;每一列相应为单元结点号(编码)、按逆时针顺序输入。

命令中,[3,NELEM]’表示读取NELEM行3列数据赋值给LNODS矩阵。

显然,LNODS(i,1:3)依次表示i单元的i,j,k结点号。

COORD=fscanf(FP1,'%f',[2,NPION])' %结点坐标数组

●说明:

建立COORD矩阵,该矩阵用来存储各结点x,y方向的坐标值。

从FP1文件中读取全部结点个数NPOIN的坐标值,从1开始按顺序读取。

COORD(i,1:2)表示第i个结点的x,y坐标。

FORCE=fscanf(FP1,'%f',[3,NFORCE])' %结点力数组

●说明:

(n,3) n:受力结点数目,(n,1):作用点,(n,2):x方向,(n,3):y方向

FIXED=fscanf(FP1,'%d',[3,inf])' %约束信息数组

●说明:

(n,3) n:受约束节点数目, (n,1):约束点(n,2)与(n,3)分别为约束点x方向和y 方向的约束情况,受约束为1否则为0

●总体说明:

从输入文件FP1中读入结点个数,单元个数,结点荷载个数,受约束边界点数,弹性模量,泊松比,厚度,单元定义数组,结点坐标数组,结点力数组,约束信息数组;

程序中弹性模量仅输入了一个值,表明本程序仅能求解一种材料构成的结构,如:钢筋混凝土结构、钢结构,不能求解钢筋混凝土-钢组合结构。

采用了命令fscanf,其中:’%d’表示读入整数格式,’%f'’表示读入浮点数;1表示读取1个数,[A,B]形式表示读A行B列数组,[A,B]’表示将[A,B]转置,inf 表示正无穷。

%----------------------------------------------------------------------------------------------------- 5 调用子程生成单刚,组成总刚并加入约束信息

function ASSEMBLE()

%----------------------------------------------------------------------------------------------------- 6 调用子程生成荷载向量

function FORMLOAD()

%----------------------------------------------------------------------------------------------------- 7 计算结点位移向量

ASDISP=ASTIF\ASLOD'

%----------------------------------------------------------------------------------------------------- 8调用子程计算单元应力

function WRITESTRESS()

%******************************************************************* 9 关闭输出数据文件

fclose(FP2);

%*******************************************************************

读取ASSEMBLE子

程%*****************************************************************

**

function ASSEMBLE()

% 所引用的全局变量:global NPION NELEM NVFIX LNODS ASTIF THICK

global BMATX SMATX AREA FIXED

%------------------------------------------------------------------------------------------------ ---- % 计算单刚并生成总刚

ASTIF(1:2*NPION,1:2*NPION)=0; %张成特定大小总刚矩阵并置0 ●说明:

建立单元刚度矩阵ASTIF,该矩阵的行列数均为2*NPION ,NPION表示结点数,每个结点有两个方向的力和位移。

%----------------------------------------------------------------------------------------------------- for i=1:NELEM

FORMSMATX(i) %% %调用应力子程序

ESTIF=BMATX'*SMATX*THICK*AREA; %求解单元刚度矩阵

a=LNODS(i,:); %临时向量,用来记录当前单元的节点编号

for j=1:3

for k=1:3

ASTIF((a(j)*2-1):a(j)*2,(a(k)*2-1):a(k)*2)=ASTIF((a(j)*2-1):a(j)*2,(

a(k)*2-1):a(k)*2)+ESTIF(j*2-1:j*2,k*2-1:k*2);

%跟据节点编号对应关系将单元刚度分块叠加到总刚矩阵中

end

end

end

●说明:

FORMSMATX(i)调用应力子程序,提取i单元的应力矩阵SMATX;

a=LNODS(i,:)记录i单元的三个结点编号;

for…end循环语句表示行从1到3循环,列从1到3循环,将单刚中的元素叠加至总刚中:

ASTIF((a(j)*2-1):a(j)*2,(a(k)*2-1):a(k)*2)表示总刚中第a(j)*2-1到:a(j)*2行,

第a(k)*2-1到a(k)*2列的元素由单刚中第j*2-1到j*2行,第k*2-1到k*2列的元素叠加而得,a(j)*2即将单元中的位移编码对应到整体的位移编码。

%---------------------------------------------------------------------------------------------------- %将约束信息加入总刚(置0置1法)

NUM=1; %计数器(当前已分析的节点数)

i=0; %计数器(当前已处理的约束数)

tmp(NVFIX)=0; %临时存被约束的序号

while i

for j=-1:0

if FIXED(NUM,j+3)==1 %若发现约束

i=i+1; %计数器自增

tmp(i)=FIXED(NUM)*2+j; %求约束序号

end

end

NUM=NUM+1;

end

说明:

tmp(NVFIX)=0,形成一个元素值均为0的一行NVFIX列的行向量,

执行while语句,首先判断i是否小于控制数据NVFIX,若小于则往下进行,若不小于则退出。

执行for语句,FIXED(NUM,j+3)表示约束信息数组中第NUM行第j+3列的元素,j从-1到0,即j+3表示2到3列,即约束信息数组中描述结点x和y方向受约束的情况,判断FIXED(NUM,j+3)若等于1,则约束数自增,若不等于1,跳出。

FIXED(NUM)表示FIXED(NUM,1),tmp(i)=FIXED(NUM)*2+j计算整体约束序号,将序号放入tmp行向量中的i列。

%----------------------------------------------------------------------------------------------------- for i=1:NVFIX

ASTIF(1:2*NPION,tmp(i))=0; %将一约束序号处的总刚列向量清0

ASTIF(tmp(i),1:2*NPION)=0; %.将一约束序号处的总刚行向量清0

ASTIF(tmp(i),tmp(i))=1; %将行列交叉处的元素置为1 end

● 说明:

后处理法中置0置1法,设j j C =δ(包括0=j C ),则将总刚中的主元素 K jj 换为1,j 行和j 列的其他元素均改为零。

%******************************************************************* % 读取FORMSMATX 子程

%******************************************************************* function FORMSMATX(ELEMENT) %计算应力矩阵 %引用所需的全局变量 global NPION NELEM COORD LNODS YOUNG POISS global BMATX DMATX SMATX AREA %----------------------------------------------------------------------------------------------------- %生成弹性矩阵D a=YOUNG/(1-POISS^2);

DMATX(1,1)=1*a; DMATX(1,2)=POISS*a; DMATX(2,1)=POISS*a; DMATX(2,2)=1*a;

DMATX(3,3)=(1-POISS)*a/2; ● 说明:

平面应力问题的弹性矩阵?

????

??

????

???--=21,0,00,1,0,,1122μμμμE D ,其中,E 为弹性模量,μ为泊松比。

%-----------------------------------------------------------------------------------------------------

i=ELEMENT; %i 为当前所计算的单元号 %计算当前单元的面积

AREA=det([1 COORD(LNODS(i,1),1) COORD(LNODS(i,1),2);... 1 COORD(LNODS(i,2),1) COORD(LNODS(i,2),2);... 1 COORD(LNODS(i,3),1) COORD(LNODS(i,3),2);])/2; ● 说明:

det 表示求矩阵行列式的值,m

m j j i

i y x y x y x A ,,1,,1,12

1

,=,其中),,(m j i x i 分别表示一个三角形单元的三个节点坐标。

MATLAB 中若一行中无法写下一个完整的命令,则可以在行尾加入3个连续的英文句号,表示命令余下的部分在下一行出现。

%----------------------------------------------------------------------------------------------------- %生成应变矩阵B for j=0:2 b(j+1)=

COORD(LNODS(i,(rem((j+1),3))+1),2)-COORD(LNODS(i,(rem((j+2),3))+1),2); c(j+1)=

-COORD(LNODS(i,(rem((j+1),3))+1),1)+COORD(LNODS(i,(rem((j+2),3))+1),1); end

BMATX=[b(1) 0 b(2) 0 b(3) 0;... 0 c(1) 0 c(2) 0 c(3);... c(1) b(1) c(2) b(2) c(3) b(3)]/(2*AREA); 说明:

应变矩阵),,(,,00,21m j i l b c c b A B l l l l l =????

??????= rem 表示求余函数,rem (x ,y )命令返回的是x-n.*y ,当y ≠0时,n=fix(x./y),其中fix 为最近的整数取整。

%----------------------------------------------------------------------------------------------------- SMATX=DMATX*BMATX; %求应力矩阵S=D*B

%******************************************************************* % 读取FORMLOAD 子程

%******************************************************************* function FORMLOAD() %本子程生成荷载向量 %---------------------------------------------------------------------------------------------------- %所需引用的全局变量

global ASLOD NPION NFORCE FORCE

%----------------------------------------------------------------------------------------------------

ASLOD(1:2*NPION)=0; %张成特定大小的0向量 ● 说明:

ASLOD 为总体荷载向量,每个结点有x ,y 两个方向的结点力。

%---------------------------------------------------------------------------------------------------- for i=1:NFORCE

ASLOD((FORCE(i,1)*2-1):FORCE(i,1)*2)=FORCE(i,2:3);

end ● 说明:

FORCE(i,1)为作用点,FORCE(i,2:3)为x,y 方向的结点力。

%---------------------------------------------------------------------------------------------------- %将有约束处的荷载置为0 NUM=1;

i=0;

tmp(NVFIX)=0; while i

if FIXED(NUM,j+3)==1 i=i+1; tmp(i)=FIXED(NUM)*2+j; end end

NUM=NUM+1; end

for i=1:NVFIX

ASLOD(tmp(i))=0; end

● 说明:

置0置1法,同上。

%******************************************************************* ASDISP=ASTIF\ASLOD' %计算结点位移向量 %******************************************************************* % 读取WRITESTRESS 子程

%******************************************************************* function WRITESTRESS()

%求解内力,即两个方向的正应力与一个剪应力(xy y x τεε,,)

%---------------------------------------------------------------------------------------------------- %所引用的全局变量

global NELEM NPION SMATX ASDISP LNODS

%----------------------------------------------------------------------------------------------------

ELEDISP(1:6)=0; %当前单元的结点位移向量 ● 说明:

ELEDIS 为单元的结点位移?????

?????????????????=m m j j i i e

v u v u v u a

%---------------------------------------------------------------------------------------------------- for i=1:NELEM for j=1:3

ELEDISP(j*2-1:j*2)=ASDISP(LNODS(i,j)*2-1:LNODS(i,j)*2); end

FORMSMATX(i) %% %调用子程求应力矩阵 i

STRESS=SMA TX*ELEDISP' %求内力 end ● 说明:

通过循环,依次从结构位移列阵中对号,赋值给第i 个单元的单元位移向量ELEDISP 。

%----------------------------------------------------------------------------------------------------

1.2 程序应用举例

【例1】利用三角形三节点常应变单元程序计算图2所示的结构。

设弹性模量1 E ,泊松比为0,厚度为1。 %-----------------------------------------------------------------

输入数据文件input.txt 为: 6 4 1 6 1.0e0 0.0 1 3 1 2 5 2 4

3 2 5 6 3 5 图2 0.0 2.0 0.0 1.0 1.0 1.0 0.0 0.0 1.0 0.0 2.0 0.0 1 0 -1 1 1 0 2 1 0

4 1 1

5 0 1

6 0 1

%----------------------------------------------------------------------------------------------- 说明:

第一行:读入程序控制信息

NPION=fscanf(FP1,'%d',1) %结点个数(结点编码总数) NELEM=fscanf(FP1,'%d',1) %单元个数(单元编码总数) NFORCE=fscanf(FP1,'%d',1) %结点荷载个数 NVFIX=fscanf(FP1,'%d',1) %受约束边界点数 YOUNG=fscanf(FP1,'%e',1) %弹性模量

136

5

4

2

POISS=fscanf(FP1,'%f',1) %泊松比

THICK=fscanf(FP1,'%d',1) %厚度

第二、三、四、五行:读入单元连接信息:

LNODS=fscanf(FP1,'%d',[3,NELEM])'; %单元定义数组,单元结点号,逆时针输入

第六、七、八、九、十、十一行:读入结点坐标

COORD=fscanf(FP1,'%f',[2,NPOIN])'; %结点坐标值,第1列为x坐标值,第2列为y坐标值

第十一行:读入结点荷载信息

FORCE=fscanf(FP1,'%f',[3,NFORCE])'; %结点号,X向结点荷载数值,Y 向结点荷载数值(与坐标轴方向一致为正)

第十二、十六行:读入零位移信息

FIXED=fscanf(FP1,'%d',[3,inf])'; %结点号,X向约束,Y向约束%-----------------------------------------------------------------------------------------------------

1.3 程序的改进要点

上述三角形三节点程序反映了有限元的基本思路,可以计算简单的平面应力或平面应变问题。在熟练掌握了程序的编制与使用后,可在以下几方面对程序进行改进,以加深对矩阵位移法及MATLAB语言编程的理解:

1、本程序的弹性模量仅能输入一个数值,意味着程序仅能计算由同种材料构成的结构。考虑如何改进使程序可计算由不同材料构成的组合结构。

2、本程序仅能计算结点集中荷载类型,考虑如何编制体积力、表面力、跨中集中力等类型的程序。

3、考虑如何编制有支座位移的程序。

4、本程序最后的结果没有生成输出文件,可以编制输出文件。

5、本程序计算的应力没有进行结果处理,可以编制最后结果处理的程序。

6、可以在此程序基础上编制三角形六节点、四边形四节点等程序。

综上所述,本章的三角形三节点常应变程序体现了如何将有限元法的计算方法和过程用MATLAB程序语言表达出来,重点放在程序架构和流程的建立以及算法实现方面,主要依赖手工操作-手工输入初始数据(前处理)、手工绘制计

算结果(后处理),目的是使学生能够清晰、明确地掌握有限元法的基本理论和概念,熟练掌握应用MATLAB语言编制、修改和调试简单程序的能力。

matlab源代码实例

1.硬币模拟试验 源代码: clear; clc; head_count=0; p1_hist= [0]; p2_hist= [0]; n = 1000; p1 = 0.3; p2=0.03; head = figure(1); rand('seed',sum(100*clock)); fori = 1:n tmp = rand(1); if(tmp<= p1) head_count = head_count + 1; end p1_hist (i) = head_count /i; end figure(head); subplot(2,1,1); plot(p1_hist); grid on; hold on; xlabel('重复试验次数'); ylabel('正面向上的比率'); title('p=0.3试验次数N与正面向上比率的函数图'); head_count=0; fori = 1:n tmp = rand(1); if(tmp<= p2) head_count = head_count + 1; end p2_hist (i) = head_count /i; end figure(head); subplot(2,1,2); plot(p2_hist); grid on; hold on; xlabel('重复试验次数'); ylabel('正面向上的比率'); title('p=0.03试验次数N与正面向上比率的函数图'); 实验结果:

2.不同次数的随机试验均值方差比较 源代码: clear ; clc; close; rand('seed',sum(100*clock)); Titles = ['n=5时' 'n=20时' 'n=25时' 'n=50时' 'n=100时']; Titlestr = cellstr(Titles); X_n_bar=[0]; %the samples of the X_n_bar X_n=[0]; %the samples of X_n N=[5,10,25,50,100]; j=1; num_X_n = 100; num_X_n_bar = 100; h_X_n_bar = figure(1);

第十一章三角形知识点归纳

第十一章三角形知识点归纳 考点一:三角形的三边关系 1、三角形两边的和 第三边 2、三角形两边的差 第三边 3、判断三边能组成三角形的方法:最小两数之和大于第三边 4、已知三角形两边的长度为a 和b ,则第三边的取值范围是 两边之差<第三边<两边之和 例:下列长度的三条线段能组成三角形的是( ) A.5,6,10 B.5,6,11 C.3,4,8 D.4,4,8 例:已知三角形的两边分别是7和12,则第三边长得取值范围为( ) 考点二:5、三角形具有 性,四边形具有 性 例:下列图形具有稳定性的是( ) A.正方形 B.矩形 C.平行四边形 D.直角三角形 考点三: 1. 三角形的高 从△ABC 的顶点向它的对边BC 所在的直线画垂线,垂足为D , 那么线段AD 叫做△ABC 的边BC 上的高。 注:三角形面积=底×底边上的高 例:AD 是△ABC 的高,∠ADB=∠ADC= 例:AD 是△ABC 的高,AD=3,BC=5,则△ABC 的面积是 2. 三角形的中线 连接△ABC 的顶点A 和它所对的对边BC 的中点D , 所得的线段AD 叫做△ABC 的边BC 上的中线。 几何语言: AD 是△ABC 的中线 BD=CD=2 1BC 注:三角形的中线可以将三角形分为面积相等的两个小三角形

D 例:AD 是△ABC 的中线 ,BD=3,则CD= ,BC= , 若△ABC 的面积是18,则△ABD 的面积等于 。 3. 三角形的角平分线 ∠A 的平分线与对边BC 交于点D ,那么线段AD 叫做三角形的角平分线。 几何语言: AD 是△ABC 的角平分线 ∴∠BAD=∠CAD=2 1∠BAC 例:AD 是△ABC 的角平分线,∠BAC=70度,则∠BAD= ,∠CAD= 考点四:三角形内角和定理 三角形三个内角的和等于 几何语言:∠A+∠B+∠C= 例:在△ABC 中,∠B=45度,∠C=55度,则∠A= 考点五:三角形的外角 1、定义:三角形的一边与另一边的延长线组成的角叫做三角形的外角。 2. 性质:三角形的一个外角等于与它不相邻的两个内角之和。 几何语言: ∠ACD 是△ABC 的外角 ∴∠ACD=∠A+∠B 例:如图,已知∠ACD=120度,∠B=50度,则∠A= 考点六:n 边形的内角和公式等于 例:计算五边形的内角和是 例:一个多边形的内角和是720度,则这个多边形的边数是 考点七:多边形的外角和等于 例:十二边形的外角和等于 例:正多边形的每个外角的度数都是40度,则这个正多边形的边数是

图论算法及其MATLAB程序代码

图论算法及其MATLAB 程序代码 求赋权图G =(V ,E ,F )中任意两点间的最短路的Warshall-Floyd 算法: 设A =(a ij )n ×n 为赋权图G =(V ,E ,F )的矩阵,当v i v j ∈E 时a ij =F (v i v j ),否则取a ii =0,a ij =+∞(i ≠j ),d ij 表示从v i 到v j 点的距离,r ij 表示从v i 到v j 点的最短路中一个点的编号. ①赋初值.对所有i ,j ,d ij =a ij ,r ij =j .k =1.转向② ②更新d ij ,r ij .对所有i ,j ,若d ik +d k j <d ij ,则令d ij =d ik +d k j ,r ij =k ,转向③. ③终止判断.若d ii <0,则存在一条含有顶点v i 的负回路,终止;或者k =n 终止;否则令k =k +1,转向②. 最短路线可由r ij 得到. 例1求图6-4中任意两点间的最短路. 解:用Warshall-Floyd 算法,MATLAB 程序代码如下: n=8;A=[0281Inf Inf Inf Inf 206Inf 1Inf Inf Inf 8607512Inf 1Inf 70Inf Inf 9Inf Inf 15Inf 03Inf 8 Inf Inf 1Inf 3046 Inf Inf 29Inf 403 Inf Inf Inf Inf 8630];%MATLAB 中,Inf 表示∞ D=A;%赋初值 for (i=1:n)for (j=1:n)R(i,j)=j;end ;end %赋路径初值 for (k=1:n)for (i=1:n)for (j=1:n)if (D(i,k)+D(k,j)

三角形常应变单元matlab程序的编制与使用

三角形常应变单元程序的编制与使用 有限元法是求解微分方程边值问题的一种通用数值方法,该方法是一种基于变分法(或变分里兹法)而发展起来的求解微分方程的数值计算方法,以计算机为手段,采用分片近似,进而逼近整体的研究思想求解物理问题。 有限元分析的基本步骤可归纳为三大步:结构离散、单元分析和整体分析。对于平面问题,结构离散常用的网格形状有三角形、矩形、任意四边形,以三个顶点为节点的三角形单元是最简单的平面单元,它较矩形或四边形对曲边边界有更好的适应性,而矩形或四边形单元较三节点三角 形有更高的计算精度。 Matlab语言是进行矩阵运算的强大工具,因 此,用Matlab语言编写有限元中平面问题的程序 有优越性。本章将详细介绍如何利用Matlab语言 编制三角形常应变单元的计算程序,程序流程图见 图1。 有限元法中三节点三角形分析结构的步骤如 下: 1)整理原始数据,如材料性质、荷载条件、约 束条件等,离散结构并进行单元编码、结点 编码、结点位移编码、选取坐标系。 2)单元分析,建立单元刚度矩阵。 3)整体分析,建立总刚矩阵。 4)建立整体结构的等效节点荷载和总荷载矩 阵 5)边界条件处理。 6)解方程,求出节点位移。 7)求出各单元的单元应力。 8)计算结果整理。计算结果整理包括位移和应 力两个方面;位移计算结果一般不需要特别 的处理,利用计算出的节点位移分量,就可 画出结构任意方向的位移云图;而应力解的 误差表现在单元内部不满足平衡方程,单元与单元边界处应力一般不连续,在边界上应力解一般与力的边界条件不相符合。图1 程序流程图

1.1 程序说明 %******************************************************************* % 三角形常应变单元求解结构主程序 %******************************************************************* ●功能:运用有限元法中三角形常应变单元解平面问题的计算主程序。 ●基本思想:单元结点按右手法则顺序编号。 ●荷载类型:可计算结点荷载。 ●说明:主程序的作用是通过赋值语句、读取和写入文件、函数调用等完成算 法的全过程,即实现程序流程图的程序表达。 %----------------------------------------------------------------------------------------------------- 1 程序准备 format short e %设定输出类型 clear all %清除所有已定义变量 clc %清屏 ●说明: format short e -设定计算过程中显示在屏幕上的数字类型为短格式、科学计数法; clear all -清除所有已定义变量,目的是在本程序的运行过程中,不会发生变量名相同等可能使计算出错的情况; clc -清屏,使屏幕在本程序运行开始时 %----------------------------------------------------------------------------------------------------- 2 全局变量定义 global NNODE NPION NELEM NVFIX NFORCE COORD LNODS YOUNG POISS THICK global FORCE FIXED global BMATX DMATX SMATX AREA global ASTIF ASLOD ASDISP global FP1 ●说明: NNODE—单元结点数,NPION—总结点数,NELEM—单元数,NVFIX—受约束边界点数,NFORCE—结点力数,COORD—结构结点坐标数组,LNODS —单元定义数组,YOUNG—弹性模量,POISS—泊松比,THICK—厚度

matlab语音识别系统(源代码)最新版

matlab语音识别系统(源代码)最新版

目录 一、设计任务及要求 (1) 二、语音识别的简单介绍 2.1语者识别的概念 (2) 2.2特征参数的提取 (3) 2.3用矢量量化聚类法生成码本 (3) 2.4VQ的说话人识别 (4) 三、算法程序分析 3.1函数关系 (4) 3.2代码说明 (5) 3.2.1函数mfcc (5) 3.2.2函数disteu (5) 3.2.3函数vqlbg (6) 3.2.4函数test (6) 3.2.5函数testDB (7) 3.2.6 函数train (8) 3.2.7函数melfb (8) 四、演示分析 (9) 五、心得体会 (11) 附:GUI程序代码 (12)

一、设计任务及要求 用MATLAB实现简单的语音识别功能; 具体设计要求如下: 用MATLAB实现简单的数字1~9的语音识别功能。 二、语音识别的简单介绍 基于VQ的说话人识别系统,矢量量化起着双重作用。在训练阶段,把每一个说话者所提取的特征参数进行分类,产生不同码字所组成的码本。在识别(匹配)阶段,我们用VQ方法计算平均失真测度(本系统在计算距离d时,采用欧氏距离测度),从而判断说话人是谁。 语音识别系统结构框图如图1所示。 图1 语音识别系统结构框图 2.1语者识别的概念 语者识别就是根据说话人的语音信号来判别说话人的身份。语音是人的自然属性之一,由于说话人发音器官的生理差异以及后天形成的行为差异,每个人的语音都带有强烈的个人色彩,这就使得通过分析语音信号来识别说话人成为可能。用语音来鉴别说话人的身份有着许多独特的优点,如语音是人的固有的特征,不会丢失或遗忘;语音信号的采集方便,系统设备成本低;利用电话网络还可实现远程客户服务等。因此,近几年来,说话人识别越来越多的受到人们的重视。与其他生物识别技术如指纹识别、手形识别等相比较,说话人识别不仅使用方便,而且属于非接触性,容易被用户接受,并且在已有的各种生物特征识别技术中,是唯一可以用作远程验证的识别技术。因此,说话人识别的应用前景非常广泛:今天,说话人识别技术已经关系到多学科的研究领域,不同领域中的进步都对说话人识别的发展做出了贡献。说话人识别技术是集声学、语言学、计算机、信息处理和人工智能等诸多领域的一项综合技术,应用需求将十分广阔。在吃力语音信号的时候如何提取信号中关键的成分尤为重要。语音信号的特征参数的好坏直接导致了辨别的准确性。

人教版四年级下册数学三角形单元知识点

三角形单元知识点 煌固中心小学陈道元 市实验一小陈思思 1. 由三条线段围成的图形(每相邻两条线段的端点相连)叫做三角形。 2. 三角形有3条边,3个角,3个顶点。 3. 从三角形的一个顶点到它的对边做一条垂线,顶点和垂足之间的线段叫做三角形的高,这条对边叫做三角形的底。 4. 三角形有3条高,3个底。 5. 三角形具有稳定性,不易变形。 6. 三角形任意两边的和大于第三边。 7. 三角形任意两边的差小于第三边。 8. 快速判断任意三条线段能否围成一个三角形:看两条较短的线段之和是否大于第三条线段。 9. 直角三角形的两条直角边互为底和高。 10.三个角都是锐角的三角形,是锐角三角形。 11.有一个直角的三角形,是直角三角形。 12.有一个钝角的三角形,是钝角三角形。 13.三角形按角分:锐角三角形、直角三角形、钝角三角形 13.三角形按边分:普通三角形、等腰三角形、等边三角形

14.有两条边相等的三角形是等腰三角形。(按边) 有两个角相等的三角形是等腰三角形。(按角) 15.有三条边相等的三角形是等边三角形。(按边) 有三个角相等的三角形是等边三角形。(按角) 注:课本83页三角形集合图。 16.等边三角形是特殊的等腰三角形。 17.等边三角形一定是锐角三角形。 18.等腰三角形的两腰相等,两个底角相等。 19.等边三角形的三条边相等,三个角也相等,都是60度。 20.等边三角形也叫正三角形。 21.等腰三角形中,两腰相交于一点形成的夹角是顶角;两腰与底相交形成的两个夹角是底角。(P84图) 22.三角形的内角和是180度。 23.多边形的内角和=180度×(多边形的边数-2) 24. 任意一个四边形的内角和是360度。 25.两个完全一样的三角形可以拼成三角形、正方形、长方形、平行四边形、和四边形。 26.最少用2个直角三角形可以拼成一个长方形; 最少用3个等边三角形可以拼成一个等腰梯形。

基于MATLAB的潮流计算源程序代码(优.选)

%*************************电力系统直角坐标系下的牛顿拉夫逊法潮流计算********** clear clc load E:\data\IEEE014_Node.txt Node=IEEE014_Node; weishu=size(Node); nnum=weishu(1,1); %节点总数 load E:\data\IEEE014_Branch.txt branch=IEEE014_Branch; bwei=size(branch); bnum=bwei(1,1); %支路总数 Y=(zeros(nnum)); Sj=100; %********************************节点导纳矩阵******************************* for m=1:bnum; s=branch(m,1); %首节点 e=branch(m,2); %末节点 R=branch(m,3); %支路电阻 X=branch(m,4); %支路电抗 B=branch(m,5); %支路对地电纳 k=branch(m,6); if k==0 %无变压器支路情形 Y(s,e)=-1/(R+j*X); %互导纳 Y(e,s)=Y(s,e); end if k~=0 %有变压器支路情形 Y(s,e)=-(1/((R+j*X)*k)); Y(e,s)=Y(s,e); Y(s,s)=-(1-k)/((R+j*X)*k^2); Y(e,e)=-(k-1)/((R+j*X)*k); %对地导纳 end Y(s,s)=Y(s,s)-j*B/2; Y(e,e)=Y(e,e)-j*B/2; %自导纳的计算情形 end for t=1:nnum; Y(t,t)=-sum(Y(t,:))+Node(t,12)+j*Node(t,13); %求支路自导纳 end G=real(Y); %电导 B=imag(Y); %电纳 %******************节点分类************************************* * pq=0; pv=0; blancenode=0; pqnode=zeros(1,nnum); pvnode=zeros(1,nnum); for m=1:nnum; if Node(m,2)==3 blancenode=m; %平衡节点编号 else if Node(m,2)==0 pq=pq+1; pqnode(1,pq)=m; %PQ 节点编号 else if Node(m,2)==2 pv=pv+1; pvnode(1,pv)=m; %PV 节点编号 end end end end %*****************************设置电压初值********************************** Uoriginal=zeros(1,nnum); %对各节点电压矩阵初始化 for n=1:nnum Uoriginal(1,n)=Node(n,9); %对各点电压赋初值 if Node(n,9)==0;

(完整版)第二单元:认识三角形和四边形知识点及测试题,文档.doc

第二单元:认识三角形和四边形知识点及测试题 1.图形分为:立体图形和平面图形。 2.平面图形: a、圆(由曲线围成的图形) b、三角形、四边形、多边形(由线段围成的图 形) 3.三角形内角和是 180°。锐角:小于 90°的角是锐角。钝角:大于 90 °的角是钝角。直角: 等于 90°的角是直角。平角=180°;周角=360° 4.等腰三角形相等的两条边叫做腰。等腰三角形两腰间的夹角叫顶角。腰与底边的夹角叫底角。 5.等腰三角形包含:等腰三角形、等边三角形(又叫正三角形)、等腰直角三角形。 等边三角形是特殊的等腰三角形,它的每个内角都是60°。 6. 三角形不易变形具有稳定性。四边形易变形具有不稳定性. 直角三角形(有一个直角两个锐角) 按角分锐角三角形(三个角都是锐角) 钝角三角形(有一个钝角两个锐角) 7 . 三角形 (有三条边)等边三角形(三条边都相等)是对称图形,有三条对称轴 按边分等腰三角形(有两条边相等)是对称图形,有一条对称轴 不等边三角形(三条边都不相等) 8.三角形任意两边之和大于第三边。 9. 由四条线段围成的封闭图形叫四边形四边形内角和是360°。 10. 正方形是特殊的长方形。长方形和正方形是特殊的平行四边形。 11.平行四边形:两组对边分别平行且相等的四边形。 12.梯形:只有一组对边平行的四边形。 13.平行的两条边叫做梯形的底边,上面的一条叫上底,下面一条叫下底。 14. 梯形的周长:上底 + 下底 + 腰+ 腰梯形的面积:(上底+下底)×高÷2

15.. 根据三角形的边长判定三角形的类型: 较小两边的平方和小于最长边的平方钝角三角形 较小两边的平方和等于最长边的平方直角三角形 较小两边的平方和大于最长边的平方钝角三角形 16.. 等腰三角形的两个底角相等。等边三角形是特殊的等腰三角形。 一般平行四边形 平行四边形:长方形 特殊的平行四边形 (两组对边分别平行且相等的四边形)正方形 17. 四边形一般四边形:正方形是特殊的长方形 (有四条边)(两组对边都不平行的四边形)一般梯形 等腰梯形是轴对称图形 梯形:等腰梯形:两条腰相等,同一底上的两个底角相等。 (只有一组对边平行的四边形)直角梯形:一条腰垂直于的的梯形。 第二单元认识三角形和四边形测试题 一、填空: 1. 有一个角是直角的三角形是()有一个角是钝角的三角形是(),三个角是 锐角的三角形是()。任何三角形都有()个角,()条边,()顶角。 2. 等腰三角形相等的两条边叫(),另一条边叫();两腰的夹角叫(),底边 上的两个角叫()。 3. 三角形中三个角都相等的是()三角形,又叫()三角形。它的三天边都(),每个角都是()度。 4. 三角形按角分可以分为()()();按边分可以分为()()()。三角形是()图形,圆球是()图形。 5.三角形最多有()直角,最多有()钝角,最多有()锐角,至少有()个锐角。 6.()条边相等的三角形是等腰三角形,()条边都相等的三角形是等边三角形。

第一节三角形常应变单元(DOC)

第三章平面问题的有限元法本章通过三角形常应变单元,介绍有限元法应用于弹性体应力分析的基本原理和方法:包括弹性体的离散化,单元特性的分析,刚度矩阵的建立,等效节点力的计算,解答的收敛性以及实施步骤和注意事项,同时对形函数的性质也作简要的叙述。 第一节三角形常应变单元 一、结构离散化 用有限元法分析弹性力学平面问题,第一步就是把原来的连续的弹性体离散化。 (a) (b) 图3.1 弹性体和有限元模型 将整个结构(平板)划分成有限个三角形。这样的三角形称为单元(三角形单元)。 三角形单元的顶点取为节点。3节点三角形单元用边界节点间的直线段来近似板的曲线边界。 这些三角形在其节点处相互连接,组成一个单元集合体,以代替原来的弹性体。 注:1. 全部节点和全部单元一般由1开始按自然顺序编号。2. 节点编码:

总码-----------用于整体分析,如1,2,…,按自然顺序编号局部码--------用于单元分析,i,j,m 要求按逆时针方向的顺序进行编码 每个单元的节点局部码i,j,m和节点总码有一一对应的关系 3. 单元间不能有重叠 4. 一个单元的任一顶点不许为另一单元任一边的内点 5. 所有作用在单元上的载荷,包括集中载荷、表面载荷和体积力,都按虚功等效的原则移置到节点上,成为等效节点载荷。

二、 位移模式 1. 单元节点位移列阵 i u 图 3.2 平面三角形单元 设单元e 的节点号码为i ,j ,m 。由弹性力学平面可知,单元内任意一点有两个位移分量u ,v ,记为 {}T f u v ????= 故每个节点也有两个位移分量,因此称节点自由度为2。3个节点得位移分量分别是 ,,,,,m m i i j j u v u v u v ,用列阵表示为 {} i e i i e j j j m m m u v u v u v δδδδ?? ???????????????????????????? ?????? == (3-1)

最常用的matlab图像处理的源代码

最常用的一些图像处理Matlab源代 码 #1:数字图像矩阵数据的显示及其傅立叶变换 #2:二维离散余弦变换的图像压缩 #3:采用灰度变换的方法增强图像的对比度 #4:直方图均匀化 #5:模拟图像受高斯白噪声和椒盐噪声的影响 #6:采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波 #7:采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波 #8:图像的自适应魏纳滤波 #9:运用5种不同的梯度增强法进行图像锐化 #10:图像的高通滤波和掩模处理 #11:利用巴特沃斯(Butterworth)低通滤波器对受噪声干扰的图像进行平滑处理 #12:利用巴特沃斯(Butterworth)高通滤波器对受噪声干扰的图像进行平滑处理 1.数字图像矩阵数据的显示及其傅立叶变换 f=zeros(30,30); f(5:24,13:17)=1; imshow(f, 'notruesize'); F=fft2(f,256,256); % 快速傅立叶变换算法只能处矩阵维数为2的幂次,f矩阵不 % 是,通过对f矩阵进行零填充来调整 F2=fftshift(F); % 一般在计算图形函数的傅立叶变换时,坐标原点在 % 函数图形的中心位置处,而计算机在对图像执行傅立叶变换 % 时是以图像的左上角为坐标原点。所以使用函数fftshift进 %行修正,使变换后的直流分量位于图形的中心; figure,imshow(log(abs(F2)),[-1 5],'notruesize');

2 二维离散余弦变换的图像压缩I=imread('cameraman.tif'); % MATLAB自带的图像imshow(I); clear;close all I=imread('cameraman.tif'); imshow(I); I=im2double(I); T=dctmtx(8); B=blkproc(I,[8 8], 'P1*x*P2',T,T'); Mask=[1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; B2=blkproc(B,[8 8],'P1.*x',Mask); % 此处为点乘(.*) I2=blkproc(B2,[8 8], 'P1*x*P2',T',T); figure,imshow(I2); % 重建后的图像 3.采用灰度变换的方法增强图像的对比度I=imread('rice.tif'); imshow(I); figure,imhist(I); J=imadjust(I,[0.15 0.9], [0 1]); figure,imshow(J); figure,imhist(J);

北师大版数学七年级下第3章三角形知识点

三角形 几何A 级概念:(要求深刻理解、熟练运用、主要用于几何证明) 1.三角形的角平分线定义: 三角形的一个角的平分线与这个角的对边相交,这个角的顶点和交点之间的线段叫做三角形的角平分线.(如图) A B C D 几何表达式举例: (1) ∵AD 平分∠BAC ∴∠BAD=∠CAD (2) ∵∠BAD=∠CAD ∴AD 是角平分线 2.三角形的中线定义: 在三角形中,连结一个顶点和它的对边的中点的线段叫做三角形的中线.(如图) A B C D 几何表达式举例: (1) ∵AD 是三角形的中线 ∴ BD = CD (2) ∵ BD = CD ∴AD 是三角形的中线 3.三角形的高线定义: 从三角形的一个顶点向它的对边画垂线,顶点和垂足间的线段叫做三角形的高线. (如图) A B C D 几何表达式举例: (1) ∵AD 是ΔABC 的高 ∴∠ADB=90° (2) ∵∠ADB=90° ∴AD 是ΔABC 的高 ※4.三角形的三边关系定理: 三角形的两边之和大于第三边,三角形的两边之差小于第三边.(如图) A B C 几何表达式举例: (1) ∵AB+BC >AC ∴…………… (2) ∵ AB-BC <AC ∴…………… 5.等腰三角形的定义: 有两条边相等的三角形叫做等腰三角形. (如图) A B C 几何表达式举例: (1) ∵ΔABC 是等腰三角形 ∴ AB = AC (2) ∵AB = AC ∴ΔABC 是等腰三角形 6.等边三角形的定义: 有三条边相等的三角形叫做等边三角形. (如图) A B C 几何表达式举例: (1)∵ΔABC 是等边三角形 ∴AB=BC=AC (2) ∵AB=BC=AC ∴ΔABC 是等边三角形

(图论)matlab模板程序

(图论)matlab模板程序

第一讲:图论模型 程序一:可达矩阵算法 %根据邻接矩阵A(有向图)求可达矩阵P(有向图) function P=dgraf(A) n=size(A,1); P=A; for i=2:n P=P+A^i; end P(P~=0)=1; %将不为0的元素变为1 P; 程序二:无向图关联矩阵和邻接矩阵互换算法F表示所给出的图的相应矩阵 W表示程序运行结束后的结果 f=0表示把邻接矩阵转换为关联矩阵 f=1表示把关联矩阵转换为邻接矩阵 %无向图的关联矩阵和邻接矩阵的相互转换 function W=incandadf(F,f) if f==0 %邻接矩阵转换为关联矩阵 m=sum(sum(F))/2; %计算图的边数 n=size(F,1); W=zeros(n,m); k=1; for i=1:n for j=i:n if F(i,j)~=0 W(i,k)=1; %给边的始点赋值为1 W(j,k)=1; %给边的终点赋值为1 k=k+1; end end end elseif f==1 %关联矩阵转换为邻接矩阵 m=size(F,2); n=size(F,1); W=zeros(n,n); for i=1:m a=find(F(:,i)~=0); W(a(1),a(2))=1; %存在边,则邻接矩阵的对应值为1 W(a(2),a(1))=1;

end else fprint('Please imput the right value of f'); end W; 程序三:有向图关联矩阵和邻接矩阵互换算法 %有向图的关联矩阵和邻接矩阵的转换 function W=mattransf(F,f) if f==0 %邻接矩阵转换为关联矩阵 m=sum(sum(F)); n=size(F,1); W=zeros(n,m); k=1; for i=1:n for j=i:n if F(i,j)~=0 %由i发出的边,有向边的始点 W(i,k)=1; %关联矩阵始点值为1 W(j,k)=-1; %关联矩阵终点值为-1 k=k+1; end end end elseif f==1 %关联矩阵转换为邻接矩阵 m=size(F,2); n=size(F,1); W=zeros(n,n); for i=1:m a=find(F(:,i)~=0); %有向边的两个顶点 if F(a(1),i)==1 W(a(1),a(2))=1; %有向边由a(1)指向a(2) else W(a(2),a(1))=1; %有向边由a(2)指向a(1) end end else fprint('Please imput the right value of f'); end W;

BP神经网络matlab源程序代码

close all clear echo on clc % NEWFF——生成一个新的前向神经网络 % TRAIN——对 BP 神经网络进行训练 % SIM——对 BP 神经网络进行仿真 % 定义训练样本 % P为输入矢量 P=[0.7317 0.6790 0.5710 0.5673 0.5948;0.6790 0.5710 0.5673 0.5948 0.6292; ... 0.5710 0.5673 0.5948 0.6292 0.6488;0.5673 0.5948 0.6292 0.6488 0.6130; ... 0.5948 0.6292 0.6488 0.6130 0.5654; 0.6292 0.6488 0.6130 0.5654 0.5567; ... 0.6488 0.6130 0.5654 0.5567 0.5673;0.6130 0.5654 0.5567 0.5673 0.5976; ... 0.5654 0.5567 0.5673 0.5976 0.6269;0.5567 0.5673 0.5976 0.6269 0.6274; ... 0.5673 0.5976 0.6269 0.6274 0.6301;0.5976 0.6269 0.6274 0.6301 0.5803; ... 0.6269 0.6274 0.6301 0.5803 0.6668;0.6274 0.6301 0.5803 0.6668 0.6896; ... 0.6301 0.5803 0.6668 0.6896 0.7497]; % T为目标矢量 T=[0.6292 0.6488 0.6130 0.5654 0.5567 0.5673 0.5976 ... 0.6269 0.6274 0.6301 0.5803 0.6668 0.6896 0.7497 0.8094]; % Ptest为测试输入矢量 Ptest=[0.5803 0.6668 0.6896 0.7497 0.8094;0.6668 0.6896 0.7497 0.8094 0.8722; ... 0.6896 0.7497 0.8094 0.8722 0.9096]; % Ttest为测试目标矢量 Ttest=[0.8722 0.9096 1.0000]; % 创建一个新的前向神经网络 net=newff(minmax(P'),[12,1],{'logsig','purelin'},'traingdm'); % 设置训练参数 net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.9; net.trainParam.epochs = 5000; net.trainParam.goal = 0.001; % 调用TRAINGDM算法训练 BP 网络 [net,tr]=train(net,P',T); % 对BP网络进行仿真 A=sim(net,P'); figure; plot((1993:2007),T,'-*',(1993:2007),A,'-o'); title('网络的实际输出和仿真输出结果,*为真实值,o为预测值'); xlabel('年份'); ylabel('客运量'); % 对BP网络进行测试 A1=sim(net,Ptest');

人教版初中数学第十一章三角形知识点复习过程

人教版初中数学第十一章三角形知识点

第十一章三角形 11.1 与三角形有关的线段 11.1.1 三角形的边 1.关于三角形的概念及其按角的分类 定义:由不在同一直线上的三条线段首尾顺次相接所组成的图形叫做三角形. 2.三角形的分类: ①三角形按内角的大小分为三类:锐角三角形、直角三角形、钝角三角形. ②三角形按边分为两类:等腰三角形和不等边三角形. 3.关于三角形三条边的关系(判断三条线段能否构成三角形的方法、比较线段的长短) 根据公理“两点之间,线段最短”可得: 三角形任意两边之和大于第三边. 三角形任意两边之差小于第三边. 例1.小芳有两根长度为4cm和9cm的木条,她想钉一个三角形木框,桌上有下列长度的几根木条,她应该选择长度为()的木条. A.5cm B.3 cm C.17cm D.12 cm 【答案】D 【解析】 试题分析:根据三角形两边之和大于第三边,三角形的两边差小于第三边,可知: 对A,∵4+5=9,不符合三角形两边之和大于第三边,故错误; 对B,∵4+3<9,不符合三角形两边之和大于第三边,故错误; 对C,∵4+9<17,不符合三角形两边之和大于第三边,故错误; 对D,∵4+9>12,12-9<4,符合两边之和大于第三边,三角形的两边差小于第三边,故正确;

考点:三角形的三边关系 例2.以下列各组线段为边,能组成三角形的是() A.2,3,5 B.3,3,6 C.2,5,8 D.4,5,6 【答案】D. 【解析】 试题分析: A.2+3=5,故不能构成三角形,故选项错误; B.3+3=6,故不能构成三角形,故选项错误; C.2+5<8,故不能构成三角形,故选项错误; D.4+5>6,故,能构成三角形,故选项正确. 故选D. 考点:三角形三边关系. 例3.现有四根木棒,长度分别为4cm,6cm,8cm,10cm.从中任取三根木棒,能组成三角形的个数为() A.1个 B.2个 C.3个 D.4个 【答案】C 【解析】 试题分析:根据三角形三边关系可知能组成三角形的木棒长度分别为:4cm、8cm、10cm;4cm、6cm、8cm和4cm、8cm、10cm三种情况. 考点:三角形三边关系 例4.在下列长度的四根木棒中,能与两根长度分别为4cm和9cm的木棒构成一个三角形的是() A.4cm B.5cm C.9cm D.13cm

Matlab源程序代码

正弦波的源程序: (一),用到的函数 1,f2t函数 function x=f2t(X) global dt df t f T N %x=f2t(X) %x为时域的取样值矢量 %X为x的傅氏变换 %X与x长度相同并为2的整幂 %本函数需要一个全局变量dt(时域取样间隔) X=[X(N/2+1:N),X(1:N/2)]; x=ifft(X)/dt; end 2,t2f函数。 function X=t2f(x) global dt df N t f T %X=t2f(x) %x为时域的取样值矢量 %X为x的傅氏变换 %X与x长度相同,并为2的整幂。 %本函数需要一个全局变量dt(时域取样间隔) H=fft(x); X=[H(N/2+1:N),H(1:N/2)]*dt; end (二),主程序。 1,%(1)绘出正弦信号波形及频谱 global dt df t f N close all k=input('取样点数=2^k, k取10左右'); if isempty(k), k=10; end f0=input('f0=取1(kz)左右'); if isempty(f0), f0=1; end N=2^k; dt=0.01; %ms df=1/(N*dt); %KHz T=N*dt; %截短时间

Bs=N*df/2; %系统带宽 f=[-Bs+df/2:df:Bs]; %频域横坐标 t=[-T/2+dt/2:dt:T/2]; %时域横坐标 s=sin(2*pi*f0*t); %输入的正弦信号 S=t2f(s); %S是s的傅氏变换 a=f2t(S); %a是S的傅氏反变换 a=real(a); as=abs(S); subplot(2,1,1) %输出的频谱 plot(f,as,'b'); grid axis([-2*f0,+2*f0,min(as),max(as)]) xlabel('f (KHz)') ylabel('|S(f)| (V/KHz)') %figure(2) subplot(2,1,2) plot(t,a,'black') %输出信号波形画图grid axis([-2/f0,+2/f0,-1.5,1.5]) xlabel('t(ms)') ylabel('a(t)(V)') gtext('频谱图') 最佳基带系统的源程序: (一),用到的函数 f2t函数和t2f函数。代码>> (二),主程序 globaldt t f df N T close all clear Eb_N0 Pe k=input('取样点数=2^k, k取13左右'); if isempty(k), k=13; end z=input('每个信号取样点数=2^z, z

三角形知识点复习(经典归纳)

21 D C B A A D C B A 初二上册知识点:三角形复习 1、三角形的定义: 由不在同一直线上的三条线段首尾顺次相接组成的图形叫做三角形. 三角形有三条边,三个内角,三个顶点.组成三角形的线段叫做三角形的边;相邻两边所组成的角叫做三角形的内角; 相邻两边的公共端点是三角形的顶点, 2、三角形的表示 三角形ABC 用符号表示为△ABC ,三角形ABC 的边AB 可用边AB 所对的角C 的小写字母c 表示,AC 可用b 表示,BC 可用a 表示.三个顶点用大写字母A,B,C 来表示。 注意:(1)三条线段要不在同一直线上,且首尾顺次相接; (2)三角形是一个封闭的图形; (3)△ABC 是三角形ABC 的符号标记,单独的△没有意义. 3、三角形的分类: (1)按边分类: (2)按角分类 4、三角形的主要线段的定义: (1)三角形的中线(在中文中,中有中间的意思而在这里就是边上的中线) 三角形中,连结一个顶点和它对边中点的线段. 表示法:(1)AD 是△ABC 的BC 上的中线.(2)BD=DC=12 BC. 注意:①三角形的中线是线段; ②三角形三条中线全在三角形的内部且交于三角形内部一点 (注:这点叫重心:当我们用一条线穿过重心的时候,三角形不会乱晃) ③中线把三角形分成两个面积相等的三角形. (2)三角形的角平分线 三角形一个内角的平分线与它的对边相交,这个角顶点与交点之间的线段 表示法:(1)AD 是△ABC 的∠BAC 的平分线. (2)∠1=∠2=1 2 ∠BAC. 注意:①三角形的角平分线是线段; ②三角形三条角平分线全在三角形的内部且交于三角形内部一点;(注:这一点角三角形的内心。角平分线的性质:角平分线上的点到角的两边距离相等) ③用量角器画三角形的角平分线. (3)三角形的高 从三角形的一个顶点向它的对边所在的直线作垂线,顶点和垂足之间的线段. 表示法①AD 是△ABC 的BC 上的高线②AD ⊥BC 于D ③∠ADB=∠ADC=90°. 三角形 等腰三角形 不等边三角形 底边和腰不相等的等腰三角形 等边三角形 三角形 直角三象形 斜三角形 锐角三角形钝角三角形 _C _B _A

图论算法及matlab程序的三个案例

图论实验三个案例 单源最短路径问题 Dijkstra 算法 Dijkstra 算法是解单源最短路径问题的一个贪心算法。其基本思想是,设置一个顶点集合S 并不断地作贪心选择来扩充这个集合。一个顶点属于集合S 当且仅当从源到该顶点的最短路径长度已知。设v 是图中的一个顶点,记()l v 为顶点 v 到源点v 1的最短距离, ,i j v v V ?∈,若 (,)i j v v E ?,记i v 到j v 的权ij w =∞。 Dijkstra 算法: ① 1{}S v =,1()0l v =;1{}v V v ??-,()l v =∞,1i =,1{}S V v =-; ② S φ=,停止,否则转③; ③ ()min{(),(,)} j l v l v d v v =, j v S ∈,v S ?∈; ④ 存在 1 i v +,使 1()min{()} i l v l v +=,v S ∈; ⑤ 1{} i S S v +=, 1{} i S S v +=-,1i i =+,转②; 实际上,Dijkstra 算法也是最优化原理的应用:如果12 1n n v v v v -是从1v 到 n v 的最短路径,则 12 1 n v v v -也必然是从1v 到 1 n v -的最优路径。 在下面的MATLAB 实现代码中,我们用到了距离矩阵,矩阵第i 行第j 行元 素表示顶点i v 到j v 的权ij w ,若i v 到j v 无边,则realmax ij w =,其中realmax 是 MATLAB 常量,表示最大的实数+308)。 function re=Dijkstra(ma)

相关文档
最新文档