在原始

时间:2018-03-15 08:19:41

标签: matlab

我是Matlab的新手,我在使用绘图功能时遇到了很大的麻烦。我已经阅读了帮助和doc文件,但我没有找到解决什么是非常基本的任务的解决方案。

我有一个函数,它为源自原点的矢量的终点产生X,Y坐标。有效值将是:

a = [0;1];
b = [0.5;0.8];
c = [1;3]

我必须绘制这些,但我对正在发生的事情感到迷茫。似乎每当我尝试绘制其中一个时,它使用矩阵中的一个值,并且它在矩阵内的索引作为另一个值。我试图通过转置和连接原始矩阵(origin = [0;0])来抵消这一点,但我仍然得到了错误的结果。

我尝试过的事例包括:

plot(b) - produces line from 1,0.5 to 2,0.8
plot(origin,b) - produces vertical line from 0,0 to 0,0.8
plot(transpose(origin),transpose(b)) - produces line from 2,0 to 3,0.5 then 4,0.8
plot([transpose(origin);transpose(b)]) - produces two lines from the origin, 1 to 2,0.5 and the other to 2,0.8.

(以上所有数字均为x,y格式)

我现在迷失了,并且在命令窗口中玩耍,试图解决所有事情,但我发疯了。

如何绘制像b = [0.5; 0.8]这样的值,因此矢量起源于原点,并在绘图上以x = 0.5和y = 0.8结束?

感谢。

1 个答案:

答案 0 :(得分:3)

要绘制(x0,y0)(x,y)之间的一条线,电话就是

plot([x0,x],[y0,y]);

答案是plot([0,b(1)],[0,b(2)]);