Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-11-04
年龄: 45
帖子: 5
声望力: 0 ![]() |
![]()
给定a,b的大小,在不同的m和n时,求fmn的值,并且对fmn的值从小到大排序,只取前20个的值,并保存fmn相应的m和n。m和n都是整数,从0开始往大,但是m和n不同时为0。现在的问题是我怎么样能一边计算fmn,一边对其进行排序,同时得到排序之后的m和n。
mn可能的组合有 1 0 2 0 3 0 .... 0 1 0 2 0 3 ... 1 1 1 2 1 3 ..... a=3.485;b=1.580; fmn=sqrt((m*pi/a)^2+(n*pi/b)^2);%m,n都是从0,1,2,3。。 我自己通过一些计算已经知道排序后的m和n,但是不知道具体用matlab怎么实现。因为刚学matlab,所以还请大家多指教!谢谢。 |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2008-11-01
年龄: 26
帖子: 12
声望力: 17 ![]() |
![]()
你不是只取最后的前20个的值吗?
为什么还要一边计算fmn,一边对其进行排序呢?这不是做无用功吗? |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2008-11-04
年龄: 45
帖子: 5
声望力: 0 ![]() |
![]()
可能我表达的不够清楚,是只取最小的前20个值。
比如我算了如下这么多个,但是没有排序。 m n fcmn 1 0 4.3013 2 0 8.6026 3 0 12.9039 4 0 17.2052 5 0 21.5065 6 0 25.8077 7 0 30.109 8 0 34.4103 0 1 9.4873 1 1 10.4168 2 1 12.8068 3 1 16.0162 4 1 19.6476 5 1 23.5061 6 1 27.4964 7 1 31.5684 8 1 35.6943 0 2 18.9747 1 2 19.4561 2 2 20.8337 3 2 22.9466 4 2 25.6136 5 2 28.6804 6 2 32.0325 7 2 35.5892 8 2 39.2952 0 3 28.462 1 3 28.7852 2 3 29.7337 3 3 31.2505 4 3 33.2582 5 3 35.6737 6 3 38.4204 7 3 41.4324 8 3 44.656 0 4 37.9494 1 4 38.1923 2 4 38.9122 3 4 40.0832 4 4 41.6674 5 4 43.6197 6 4 45.8933 7 4 48.4428 8 4 51.2272 0 5 47.4367 1 5 47.6313 2 5 48.2104 3 5 49.1605 4 5 50.4605 5 5 52.0842 6 5 54.0026 7 5 56.1854 8 5 58.603 0 6 56.9241 1 6 57.0863 2 6 57.5704 3 6 58.3683 4 6 59.4673 5 6 60.8513 6 6 62.5011 7 6 64.3964 8 6 66.5163 0 7 66.4114 1 7 66.5505 2 7 66.9662 3 7 67.6534 4 7 68.6039 5 7 69.8069 6 7 71.2497 7 7 72.9179 8 7 74.7967 取最小的前20个如下: 1 4.3013 2 8.6026 3 9.4873 4 10.4168 5 12.8068 6 12.9039 7 16.0162 8 17.2052 9 18.9747 10 19.4561 11 19.6476 12 20.8337 13 21.5065 14 22.9466 15 23.5061 16 25.6136 17 25.8077 18 27.4964 19 28.462 20 28.6804 |
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2008-11-04
年龄: 45
帖子: 5
声望力: 0 ![]() |
![]()
因为按照mn的顺序,比如说
1 0 2 0 3 0 .... 0 1 0 2 0 3 ... 1 1 1 2 1 3 ..... 求出来的fmn的大小是打乱的,我想要得到从小到大排列的fmn,并且得到对应m值,n值 |
![]() |
![]() |
![]() |
#5 |
高级会员
注册日期: 2008-09-14
年龄: 43
帖子: 351
声望力: 24 ![]() |
![]()
可以先计算然后把计算出来的数值进行查找,看在那个的后面,或者前面,然后放到哪里就可以了
__________________
qq604443022 |
![]() |
![]() |
![]() |
#6 |
初级会员
注册日期: 2008-11-04
年龄: 45
帖子: 5
声望力: 0 ![]() |
![]() |
![]() |
![]() |
![]() |
#7 |
初级会员
注册日期: 2008-01-12
年龄: 43
帖子: 8
声望力: 0 ![]() |
![]()
使用sort函数,然后根据index再找出对应的fmn值!
|
![]() |
![]() |
![]() |
#8 |
初级会员
注册日期: 2008-11-04
年龄: 45
帖子: 5
声望力: 0 ![]() |
![]()
谢谢风浪,问题解决了
|
![]() |
![]() |
![]() |
主题工具 | |
显示模式 | |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
[原创]哥德巴赫猜想-张俊龙请白文章教授出示结果 | 龙舞山威 | 数学 | 0 | 2009-02-06 14:36 |
[求助]请教如何画函数 | bowlder | MATLAB论坛 | 0 | 2009-01-09 10:54 |
Matlab声音合成和滤波的问题【附代码-自己写的】 | xmuer | MATLAB论坛 | 4 | 2008-12-17 08:58 |
[求助]通过网络接口对示波器(TDS3052B)采集数据进行处理 | shendagui001218 | MATLAB论坛 | 3 | 2008-11-29 16:46 |
[求助]电力系统机组启停优化算法程序 | woshi523de | MATLAB论坛 | 1 | 2008-11-18 08:12 |