我有一个矩阵
b = [1+ 1i, 2 + 1i, 2+ 2i, 3 + 3i, 3+ 3i ; ...
1.2 + 2i , 2+2i, 2.1 + 2.1i, 3+2.1i, 3.1 + 3.2i]
其中real(b)
是x
坐标,b(x,:)
是一个实验,imag(b)
是y
坐标。
我想要两件事:
在二维图中将我的实验绘制为线条(但点数必须是正确的顺序)
将我的y
(通常称为z
)坐标绘制为轴x
上的曲面并进行实验。
问题是,我想要沿着行的行和Matlab混合复数的坐标,并且该行在整个地方以锯齿形显示。
更基本的问题是,我想在x1
处设置从x2
到y1
的条形码,而我只想在{{{{}}处添加数据点y1
1}}和x1
。但在x2
,还有x2
似乎混淆了Matlab。
答案 0 :(得分:1)
您可以使用Euler's formula将数据从笛卡尔坐标转换为极坐标。
clear all; close all;
function [rho, theta] = polarize(z)
rho = abs(z);
theta = angle(z);
end
b = [1+ 1i, 2 + 1i, 2+ 2i, 3 + 3i, 3+ 3i;
1.2 + 2i , 2+2i, 2.1 + 2.1i, 3+2.1i, 3.1 + 3.2i];
[rho1, theta1] = polarize(b(1,:));
[rho2, theta2] = polarize(b(2,:));
figure
hold on
polar(theta1, rho1, 'b');
polar(theta2, rho2, 'r');
print('-dpng','euler.png')
八度结果:
答案 1 :(得分:0)
对于问题(1),plot(b)
将为您提供由b
列组成的行。如果您切换到使用b-transpose,即plot(b')
,您将分别绘制每一行。
plot(b')
ylim([-4 0])
xlim([-0 4])
问题(2)需要resp
函数的某个工具箱吗?