Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-05-24
帖子: 28
声望力: 16 ![]() |
![]()
我有一240*4的矩阵,前两列正好是分布在一个半径为0.005圆周上的坐标点(如图1中的红*),我的目的是将前两列经反三角或其他方式转换为对应的360度直线,然后以这条直线为x轴,分别得到矩阵的第三、四列的二维图,想得到如图2的结果,但我经反三角函数变化后(试过很多方法),得到的图很乱。请高手帮下忙,先谢谢了
图1.jpg 图1,前两列对应的图 图2.jpg 图2 x轴是由前两列转换而得的 下面是我的部分数据(整个数据在附件里)z02ms.rar 2.1195130e-018 -5.0000004e-003 -5.8866244e+003 8.3838407e+003 -1.2927217e-004 -4.9983291e-003 -6.4644268e+003 8.4098488e+003 1.2927217e-004 -4.9983291e-003 -5.3442376e+003 8.2814140e+003 -2.5952412e-004 -4.9932608e-003 -7.0453113e+003 8.4341468e+003 2.5952412e-004 -4.9932608e-003 -4.9248484e+003 8.0371400e+003 -3.9040763e-004 -4.9847346e-003 -7.6547117e+003 8.4517707e+003 3.9040763e-004 -4.9847346e-003 -4.5412538e+003 7.8258028e+003 -5.2156451e-004 -4.9727228e-003 -8.2930520e+003 8.4763877e+003 5.2156451e-004 -4.9727228e-003 -4.1754575e+003 7.7050938e+003 -6.5263093e-004 -4.9572247e-003 -8.8750256e+003 8.4573361e+003 6.5263093e-004 -4.9572247e-003 -3.9336525e+003 7.7314030e+003 -7.8324275e-004 -4.9382723e-003 -9.3956711e+003 8.4560658e+003 7.8324275e-004 -4.9382723e-003 -3.7928207e+003 7.9660194e+003 -9.1303955e-004 -4.9159294e-003 -9.9061493e+003 8.4296295e+003 9.1303955e-004 -4.9159294e-003 -3.5791294e+003 8.0809199e+003 -1.0416699e-003 -4.8902892e-003 -1.0382426e+004 8.3558926e+003 1.0416699e-003 -4.8902892e-003 -3.2145386e+003 7.9438170e+003 -1.1687954e-003 -4.8614722e-003 -1.0782399e+004 8.2597157e+003 1.1687954e-003 -4.8614722e-003 -2.9140631e+003 7.8138520e+003 -1.2940953e-003 -4.8296293e-003 -1.1087138e+004 8.1446527e+003 1.2940953e-003 -4.8296293e-003 -2.7736140e+003 7.6369052e+003 我的程序: clear;clc; load z02ms.dat %数据名 x=z02ms(:,1);y=z02ms(:,2);r=abs(sqrt(x.^2+y.^2)); [m,n]=size(z02ms); ang=[m,1];%ang是前两列转化对应角,也曾直接用“[ang,RHO] = cart2pol(z02ms(:,1),z02ms(:,2));”等转过 for i=1:m if x(i,1)>0 && y(i,1)>0 ang(i,1)=asind(y(i,1)/r(i,1)); elseif x(i,1)<0 && y(i,1)>0 ang(i,1)=90-acosd(y(i,1)/r(i,1)); elseif x(i,1)<0 && y(i,1)<0 ang(i,1)=180-asind(y(i,1)/r(i,1)); else ang(i,1)=270-acosd(y(i,1)/r(i,1)); end end me=z02ms(:,3);st=z02ms(:,4); subplot 211, plot(ang,me); xlabel('\it\theta\^o');ylabel('mean pressure'); title('mean pressure '); grid on subplot 212, plot(ang,st); xlabel('\it\theta\^o');ylabel('Fluctuating pressure'); title('Fluctuating pressure rms'); grid on 此帖于 2013-05-24 11:43 被 guohf 编辑。 |
![]() |
![]() |