MATLAB画图我想问一下长度不相同的两个向量 一个为x一个为y怎么变成相同的向量而使他们能够完成画图,使用plot画图
3个回答

你的例子中,y和x的向量长度是不一致的;所以没法直接画出来.我理解你的意思应该是,把y均匀划分成10个部分,然后作图.程序见下:

---------------------------------------------------------------------

clc;

clear all;

close all;

y=[0.6255 0.5571];

N = 10; % 划分成10个等分

yMin = min(y); % 取y中的最小值

yMax = max(y); % 取y中的最大值

yBlk = (yMax - yMin)/N; % 等分y

y = yMin:yBlk:yMax; % 重新生成y向量

x = 0:1/N:1; % x也同样被划分成N个等分

figure;

plot(x,y,'o-r'); grid on;

axis([-0.2 1.2 yMin yMax]); % 设置坐标轴

----------------------------------------------------------------------

如果你要画离散的点,当然是可以的;但是每个离散的点也必定有对应的坐标(x,y).你要画多少个点,就要给出多少个这样的坐标才行.

画图命令:

x=0:0.1:1;

tx(1:11) = 0;

y = [0.6255 0.5571];

ty = [0 0];

plot(x,tx,'x-b',ty,y,'o-r');

grid on;

或者你的意思是,只是坐标轴上的点?那就这样:

function bdZhidao()

clc;

close all;

x=0:0.1:1;

tx(1:11) = 0;

y = [0.6255 0.5571];

ty = [0 0];

plot(x,tx,'x-b',ty,y,'o-r');

axis([-0.2 1.2 -0.2 1]);grid on;