您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 其它文档 > 三角形识别-数学建模
三角形识别注:仅供参考1问题的提出由于每一个三角形完全由其三个内角所决定,若以三角形的三个内角为指标,则所有三角形的集合可记为。要识别不同的三角形,可分别构造不同的隶属函数。比如,若要判别一个三角形是否为等腰三角形,可构造隶属函数为。今给定几个三角形内角如下:,(1)试问哪一个三角形最有可能判别为等腰三角形?(2)模仿等腰三角形隶属函数的构造,分别再构造直角三角形、等边三角形、锐角三角形及钝角三角形的隶属函数并说明理由,再对上面给出的三角形进行判别。2符号约定三角形的三个内角用,,表示。三角形表示为),,(A。3基本假设三角形),,(A的三个内角4问题分析先来研究条件给定的等腰三角形的隶属函数的特性。首先要注意,因为假设,所以0,0。等腰三角形,它有两个内角相等,根据前面的假设,那么只有或者,这样),min(必是0,于是等腰三角形的隶属函数1),,(A;反过来,如果某个三角形的隶属函数值等于1,那么必是0),min(,也就是说或者,因此三角形是等腰三角形。于是得:定理1设三角形三个内角,2),min(6011),,(A,那么三角形是等腰三角形的充要条件是1),,(A。5问题解答5.1问题1解答根据定理1,一个三角形的2),min(6011),,(A值越接近1,那么),min(越接近0,也就是与,或者与越接近相等,因此该三角形越接近等腰三角形。x1=[935037];x2=[1004535];x3=[1253817];x4=[805644];x=[x1x2x3x4];fori=1:4j=3*i-2;a=(1-1/60*min(x(j)-x(j+1),x(j+1)-x(j+2)))^2;disp(['A('num2str(x(j))','num2str(x(j+1))','num2str(x(j+2))')='num2str(a)])end;执行程序得:A(93,50,37)=0.61361A(100,45,35)=0.69444A(125,38,17)=0.4225A(80,56,44)=0.64所以,最容易被判断为等腰三角形的是x2=[1004535]5.2问题2解答(1)直角三角形的隶属函数设三角形),,(A,,如果它是直角三角形,那么只有90,其他两个角绝对都比90小。所以要判断该三角形是直角三角形,也就是判断最大角|90|是否为零。为了符合前面是等腰三角形就靠近1的思路,还必须对|90|除以一个数x,以使x90介于0到1之间,因为只有这样才能使2901x等于1时表示三角形是直角三角形。假设最大取180度,那么很显然|90|最大取90,因此x取90合适。定理2设三角形三个内角,290901),,(A,那么三角形是直角三角形的充要条件是1),,(A。x1=[935037];x2=[1004535];x3=[1253817];x4=[805644];x=[x1x2x3x4];fori=1:4j=3*i-2;a=(1-1/90*abs(x(j)-90))^2;disp(['A('num2str(x(j))','num2str(x(j+1))','num2str(x(j+2))')='num2str(a)])end;执行程序:A(93,50,37)=0.93444A(100,45,35)=0.79012A(125,38,17)=0.37346A(80,56,44)=0.79012可见x1=[935037]最接近直角三角形。(2)等边三角形的隶属函数等边三角三角形的三个内角都是60度,,,都等于60度才能是等边三角形,所以要判断606060等是否等于0。606060的最大值是240,可以假设0,0,180得到最大值。于是构造22406060601),,(A,当1),,(A时表示三角形是等边三角形。定理3设三角形三个内角,22406060601),,(A,那么三角形是等边三角形的充要条件是1),,(A。x1=[935037];x2=[1004535];x3=[1253817];x4=[805644];x=[x1x2x3x4];fori=1:4j=3*i-2;a=(1-1/240*(abs(x(j)-60)+abs(x(j+1)-60)+abs(x(j+2)-60)))^2;disp(['A('num2str(x(j))','num2str(x(j+1))','num2str(x(j+2))')='num2str(a)])end;执行程序:A(93,50,37)=0.52563A(100,45,35)=0.44444A(125,38,17)=0.21007A(80,56,44)=0.69444可见x4=[805644]最接近等边三角形。(3)锐角三角形、钝角三角形隶属函数有个符号函数0,10,00,1)(xxxxsign设三角形),,(A,。要判断三角形是锐角三角形,就是判断最大角90,也就是判断090;要判断三角形是钝角三角形,就是判断090。因此,有下面的定理定理4设三角形三个内角,)90(),,(signA(1)三角形是锐角三角形的充要条件是1),,(A。(2)三角形是直角三角形的充要条件是0),,(A。(3)三角形是钝角三角形的充要条件是1),,(A。在这个定理4内,加了一个直角三角形的判定,可与前面的对照一下。x1=[935037];x2=[1004535];x3=[1253817];x4=[805644];x=[x1x2x3x4];fori=1:4j=3*i-2;a=sign(x(j)-90);disp(['A('num2str(x(j))','num2str(x(j+1))','num2str(x(j+2))')='num2str(a)])end;执行程序:A(93,50,37)=1A(100,45,35)=1A(125,38,17)=1A(80,56,44)=-1可见前三个三角形都是钝角三角形,最后一个是锐角三角形。6问题推广通过上面的讨论,任意给定一个三角形的三个角度,用相关的隶属函数可以判断该三角形的类型。三角形名称类型编号等腰三角形1直角三角形2等边三角形3锐角三角形4钝角三角形5第一步:任意产生三个角度,三个角度之和是180度。因为这个三角度之和是180度,所以必有一个小于60度,必有一个大于60度,另外一个等于180减去前面两个之和。m1=1;whilem10af=round(unifrnd(0,60));m1=1;ifaf0m1=-1;end;end;m2=1;whilem20gm=round(unifrnd(60,180));m2=1;ifgm180&180-af-gm0m2=-1;end;end;bt=180-af-gm;第二步:三个角度降序排列x=[afbtgm];x=sort(x,2,'descend')第三步判断三角形类型。从定理1知,当2),min(6011),,(A接近1时,三角形就接近是等腰三角形。为了判断出这些接近1的“等腰三角形”,下面的程序规定了2),min(6011),,(A的值与1之差的绝对值小于0.2,就算接近。注意,这里仅是接近1,仅是接近等腰三角形,其实并不是真正的等腰三角形。定理2、定理3也如此。定理4不存在接近与否。m1=1;whilem10af=round(unifrnd(0,60));m1=1;ifaf0m1=-1;end;end;m2=1;whilem20gm=round(unifrnd(60,180));m2=1;ifgm180&180-af-gm0m2=-1;end;end;bt=180-af-gm;x=[afbtgm];x=sort(x,2,'descend')if(1-1/60*min(x(1)-x(2),x(2)-x(3)))^2==1||abs((1-1/60*min(x(1)-x(2),x(2)-x(3)))^2-1)=0.2disp(['thistriangle'num2str(x)'is1'])end;if(1-1/90*abs(x(1)-90))^2==1||abs((1-1/90*abs(x(1)-90))^2-1)=0.2disp(['thistriangle'num2str(x)'is2'])end;if(1-1/240*(abs(x(1)-60)+abs(x(2)-60)+abs(x(3)-60)))^2==1||abs((1-1/240*(abs(x(1)-60)+abs(x(2)-60)+abs(x(3)-60)))^2-1)=0.2disp(['thistriangle'num2str(x)'is3'])end;ifsign(x(1)-90)==-1disp(['thistriangle'num2str(x)'is4'])end;ifsign(x(1)-90)==1disp(['thistriangle'num2str(x)'is5'])end;把以上程序放到Matlab内就可以任意选择角度,并判断三角形类型。执行程序10次得:thistriangle1133829is5thistriangle934839is2thistriangle934839is5thistriangle805941is4thistriangle120537is5thistriangle1015821is5thistriangle875835is2thistriangle875835is4thistriangle914544is1thistriangle914544is2thistriangle914544is5thistriangle144306is5thistriangle126531is5thistriangle94788is2thistriangle94788is5
本文标题:三角形识别-数学建模
链接地址:https://www.777doc.com/doc-4228123 .html