我的.txt文件包含圆柱坐标,theta
,x
(将在matlab中为rho)和z
,所有这些都在数字中。我试图将它们转换为笛卡尔坐标,然后绘制它们(网格或冲浪)。我导入了txt文件,我现在有3个变量theta,x,z.
我使用了命令[x,y,z] = pol2cart (theta, x, z)
但结果只有一列。
我哪里错了?
数据位于以空格分隔的列中:
10.2837 -99.975 36.8826
10.2837 -99.963 36.8826
10.2837 -99.95 36.8826
10.2837 -99.938 36.8826
答案 0 :(得分:2)
如果指定三个输出变量,如何获得“仅一列”输出。你收到错误信息吗?
您是否设法将数据放入矩阵中? (作为Matlab变量,不是带空格的文本文件?)如果是,请尝试:
data_mat = [10.2837 -99.975 36.8826
10.2837 -99.963 36.8826
10.2837 -99.95 36.8826
10.2837 -99.938 36.8826];
%% Assuming this order is correct:
theta = data_mat(:,1);
rho = data_mat(:,2);
zz = data_mat(:,3);
[x, y, z] = pol2cart(theta, rho, zz);
另外,请记住将角度转换为弧度。