| 查看: 690 | 回复: 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 %求高人解答 |
» 猜你喜欢
拟解决的关键科学问题还要不要写
已经有9人回复
最失望的一年
已经有17人回复
为什么nbs上溴 没有产物点出现呢
已经有6人回复
求推荐博导
已经有4人回复
存款400万可以在学校里躺平吗
已经有34人回复
求助一下有机合成大神
已经有4人回复
求推荐英文EI期刊
已经有5人回复
26申博
已经有3人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
疑惑?
已经有5人回复
» 本主题相关价值贴推荐,对您同样有帮助:
《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













回复此楼