声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 962|回复: 5

[综合讨论] 一个小计算

[复制链接]
发表于 2008-8-6 10:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
请问各位这个简单的问题怎么解决
已知一个边长是5和10的矩形,5的边长分为32等分,10的边长分为32等分,且一个顶点位于坐标原点,在第一象限,请问每一格点的距离?
我编的MATLAB语句为:

lx=5;
ly=10;
N=32;
dx=lx/N;
dy=ly/N;
x=0:dx:(N-1)*dx;
y=0:dy:(N-1)*dy;
r=x.^2+y.^2
结果为
r =
  Columns 1 through 6
         0    0.1221    0.4883    1.0986    1.9531    3.0518
  Columns 7 through 12
    4.3945    5.9814    7.8125    9.8877   12.2070   14.7705
  Columns 13 through 18
   17.5781   20.6299   23.9258   27.4658   31.2500   35.2783
  Columns 19 through 24
   39.5508   44.0674   48.8281   53.8330   59.0820   64.5752
  Columns 25 through 30
   70.3125   76.2939   82.5195   88.9893   95.7031  102.6611
  Columns 31 through 32
  109.8633  117.3096
但是我始终感觉结果应该为32*32个数据,但是不知道感如何计算?MATLAB掌握的不好,请各位指教
回复
分享到:

使用道具 举报

发表于 2008-8-6 12:12 | 显示全部楼层
lx=5;
ly=10;
N=32;
dx=lx/N;
dy=ly/N;
x=0:dx:(N-1)*dx;
for y=0:dy:(N-1)*dy;
r(:,:)=x.^2+y.^2
end
这样试试
发表于 2008-8-6 18:47 | 显示全部楼层
1.32等分,那就是33个点
x=0:dx:(N-1)*dx;
y=0:dy:(N-1)*dy;
为啥要N-1?

2. r是什么?不是矩形么?怎么又出来一个圆方程?

3.估计你的东西能用meshgrid
发表于 2008-8-6 20:04 | 显示全部楼层

回复 楼主 的帖子

你是要求 5的那个 每个个点到 10的每个格点的距离吧,
这比较简单吧,
你用个循环是最简单不过的事情了
for i:32
for i:32
end
end

或者外层循环,内层矩阵


纯粹矩阵,有点像直积的运算了
 楼主| 发表于 2008-8-8 11:33 | 显示全部楼层

回复 4楼 alljoyland 的帖子

好像用[X,Y]=meshgrid(x,y)就可以完成,楼主所说的方法我都试过了,不行啊,用我说的命令正好实现此功能

评分

1

查看全部评分

 楼主| 发表于 2008-8-8 11:34 | 显示全部楼层

谢谢各位指导

问题的以解决谢谢各位的指教
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-23 05:29 , Processed in 0.057599 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表