一个小计算
请问各位这个简单的问题怎么解决已知一个边长是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.7031102.6611
Columns 31 through 32
109.8633117.3096
但是我始终感觉结果应该为32*32个数据,但是不知道感如何计算?MATLAB掌握的不好,请各位指教 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
这样试试 1.32等分,那就是33个点
x=0:dx:(N-1)*dx;
y=0:dy:(N-1)*dy;
为啥要N-1?
2. r是什么?不是矩形么?怎么又出来一个圆方程?
3.估计你的东西能用meshgrid
回复 楼主 的帖子
你是要求 5的那个 每个个点到 10的每个格点的距离吧,这比较简单吧,
你用个循环是最简单不过的事情了
for i:32
for i:32
end
end
或者外层循环,内层矩阵
纯粹矩阵,有点像直积的运算了
回复 4楼 alljoyland 的帖子
好像用=meshgrid(x,y)就可以完成,楼主所说的方法我都试过了,不行啊,用我说的命令正好实现此功能谢谢各位指导
问题的以解决谢谢各位的指教
页:
[1]