作业帮 > 综合 > 作业

对于以下程序在matlab里算出来的数组,已知各个数据的类别,怎样对其算后的数组中的数据分类?

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/06/24 10:12:28
对于以下程序在matlab里算出来的数组,已知各个数据的类别,怎样对其算后的数组中的数据分类?
da1= [ 42 15 5];
da2= [ 15 6 2.5];
da3= [ 25 18.5 1.5];
da4= [ 41 14 4.5];
da5= [ 16 5 2.3];
da6= [ 14.5 18 1.6];
da7= [ 18 23 2.1];
a1=sum((da7-da1).^2);
a2=sum((da7-da2).^2);
a3=sum((da7-da3).^2);
a4=sum((da7-da4).^2);
a5=sum((da7-da5).^2);
a6=sum((da7-da6).^2);
aaa=sort([a1 a2 a3 a4 a5 a6]);
结果是aaa =
37.5000 69.6100 298.1600 328.0400 615.7600 648.4100
已知的是da1和da4是第一类,da2和da5是第二类,da3和da6是第三类,da7的类别是通过aaa最小k个数据数值大小的类型判别的,假如K取3,那么37.5000 69.61000 298.1600这三个数据假如有两个数据属于同一类,那么da7就属于该类,如果去掉上面运算程序后面的“;”,那么就会知道每个数据相对应的da1~6,da6=37.5000,da3=69.61000,da2=298.1600.
理论是这样的,我想知道在matlab里跟着上面的程序接下来该怎么写,就是判别da7属于哪一类的程序.
对于以下程序在matlab里算出来的数组,已知各个数据的类别,怎样对其算后的数组中的数据分类?
[aaa,index]=sort([a1 a2 a3 a4 a5 a6])
得到的结果是:
aaa =
37.5000 69.6100 298.1600 328.0400 615.7600 648.4100
index =
6 3 2 5 4 1
这个index就是你的分类.
你的da7计算出来a7时,出来的应当是零啊.
所以不知道你想要怎么弄?
再问: 这样的话,那么da7的类别就应当属于第三类,我的意思是怎么把da7属于第三类的结果表达出来。 这个程序前提没有说明da1和da4是第一类,da2和da5是第二类,da3和da6是第三类,是不是还要把这个写出来,根据分类的结果,得出da7的类别
再答: 我明白你的意思了。 你是不知道da7是参考量。 那就没有办法了,你用循环试试吧,就是假定da1为参考量,看其它六个的分类。