Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-11-04, 21:30   #1
hchhuahua
初级会员
 
注册日期: 2008-11-04
年龄: 45
帖子: 5
声望力: 0
hchhuahua 正向着好的方向发展
微笑 [求助]对这个式子如何一边计算一边排序

给定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,所以还请大家多指教!谢谢。
hchhuahua 当前离线   回复时引用此帖
旧 2008-11-04, 22:07   #2
messenger
初级会员
 
注册日期: 2008-11-01
年龄: 26
帖子: 12
声望力: 17
messenger 正向着好的方向发展
默认 回复: [求助]对这个式子如何一边计算一边排序

你不是只取最后的前20个的值吗?

为什么还要一边计算fmn,一边对其进行排序呢?这不是做无用功吗?
messenger 当前离线   回复时引用此帖
旧 2008-11-04, 22:19   #3
hchhuahua
初级会员
 
注册日期: 2008-11-04
年龄: 45
帖子: 5
声望力: 0
hchhuahua 正向着好的方向发展
默认 回复: [求助]对这个式子如何一边计算一边排序

可能我表达的不够清楚,是只取最小的前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
hchhuahua 当前离线   回复时引用此帖
旧 2008-11-04, 22:25   #4
hchhuahua
初级会员
 
注册日期: 2008-11-04
年龄: 45
帖子: 5
声望力: 0
hchhuahua 正向着好的方向发展
默认 回复: [求助]对这个式子如何一边计算一边排序

因为按照mn的顺序,比如说
1 0
2 0
3 0
....
0 1
0 2
0 3
...
1 1
1 2
1 3
.....
求出来的fmn的大小是打乱的,我想要得到从小到大排列的fmn,并且得到对应m值,n值
hchhuahua 当前离线   回复时引用此帖
旧 2008-11-05, 08:26   #5
anbcjys
高级会员
 
注册日期: 2008-09-14
年龄: 43
帖子: 351
声望力: 24
anbcjys 正向着好的方向发展
默认 回复: [求助]对这个式子如何一边计算一边排序

可以先计算然后把计算出来的数值进行查找,看在那个的后面,或者前面,然后放到哪里就可以了
__________________
qq604443022
anbcjys 当前离线   回复时引用此帖
旧 2008-11-05, 23:50   #6
hchhuahua
初级会员
 
注册日期: 2008-11-04
年龄: 45
帖子: 5
声望力: 0
hchhuahua 正向着好的方向发展
默认 回复: [求助]对这个式子如何一边计算一边排序

引用:
作者: anbcjys 查看帖子
可以先计算然后把计算出来的数值进行查找,看在那个的后面,或者前面,然后放到哪里就可以了
谢谢啊,我明白了
hchhuahua 当前离线   回复时引用此帖
旧 2008-11-06, 13:00   #7
风浪
初级会员
 
注册日期: 2008-01-12
年龄: 43
帖子: 8
声望力: 0
风浪 正向着好的方向发展
默认 回复: [求助]对这个式子如何一边计算一边排序

使用sort函数,然后根据index再找出对应的fmn值!
风浪 当前离线   回复时引用此帖
旧 2008-11-11, 01:43   #8
hchhuahua
初级会员
 
注册日期: 2008-11-04
年龄: 45
帖子: 5
声望力: 0
hchhuahua 正向着好的方向发展
默认 回复: [求助]对这个式子如何一边计算一边排序

谢谢风浪,问题解决了
hchhuahua 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
[原创]哥德巴赫猜想-张俊龙请白文章教授出示结果 龙舞山威 数学 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


所有时间均为北京时间。现在的时间是 21:28


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.