| 查看: 708 | 回复: 2 | ||
songzq铁杆木虫 (正式写手)
|
[求助]
如何将m个已经由小到大排序的数组元素按从小到大编码成n个自然数(m<n)? 已有1人参与
|
|
X=[2.1 3.5 4.0 6.7 8.1 8.5]; m=6;n=4; %X=[-28.6842 -22.8615 -16.4373 -4.4710 -1.4859 2.6217 6.1314 7.8344 9.2352 15.9780 20.6900 22.5432 25.1353 28.0081 28.9764]; %m=15;n=10; for i=1:m-1 Xsub(i)=X(i+1)-X(i); end %取Xsub中最小的m-n个数,并记录下这些数对应的Xsort中的减数与被减数 Xsub_Temp=Xsub; [B, IX] = sort(Xsub_Temp);%B为排序后的数组,IX为原元素的位置 MINIndex=IX(1:m-n);%得到m-n个最小数的索引 %对Xsort每个维度按从小到大的顺序,依次赋值为1~n的自然数,将上步中记录下的Xsub的数所对应的减数与被减数赋值为相同的值 i=1;tempn=1; Xsort_temp=zeros(1,m); while i<=m flag=ismember(i,MINIndex); if flag>0 Xsort_temp(i)=tempn; i=i+1; Xsort_temp(i)=tempn; tempn=tempn+1; i=i+1;%重要 continue else Xsort_temp(i)=tempn; i=i+1; end tempn=tempn+1; end Xsort_temp %Xsort_temp输出的结果的 1 2 2 3 4 4,但将X换作15个数的例子时,结果是不对的,按此算法(m=15,n=10时) %Xsort_temp应该输出:1 2 3 4 5 6 6 7 7 8 8 9 9 10 10 %求高人解答 |
» 猜你喜欢
什么是人一生最重要的?
已经有6人回复
为什么中国大学工科教授们水了那么多所谓的顶会顶刊,但还是做不出宇树机器人?
已经有11人回复
网上报道青年教师午睡中猝死、熬夜猝死的越来越多,主要哪些原因引起的?
已经有9人回复
【博士招生】太原理工大学2026化工博士
已经有5人回复
280求调剂
已经有3人回复
面上可以超过30页吧?
已经有11人回复
版面费该交吗
已经有15人回复
体制内长辈说体制内绝大部分一辈子在底层,如同你们一样大部分普通教师忙且收入低
已经有18人回复
» 本主题相关价值贴推荐,对您同样有帮助:
《EXCEL 应用大全 》excel home 编著 PDF扫描版 搜索无重复
已经有327人回复

handsomeys
新虫 (初入文坛)
- 应助: 3 (幼儿园)
- 金币: 8.5
- 帖子: 5
- 在线: 16.1小时
- 虫号: 1895579
- 注册: 2012-07-16
- 性别: MM
- 专业: 交叉学科中的光学问题

2楼2014-05-26 12:35:43
songzq
铁杆木虫 (正式写手)
- 应助: 2 (幼儿园)
- 金币: 5879.4
- 帖子: 638
- 在线: 191.8小时
- 虫号: 940534
- 注册: 2010-01-11
- 性别: GG
- 专业: 控制理论与方法

3楼2014-05-26 13:03:15













回复此楼