如何使用 MATLAB 绘制给定值的阶梯图?
How to draw a stair-step graph using MATLAB for given value?
我想用MATLAB画一个步进图。
在X轴上,数值从0
开始递增,如:
0
、0+20=20
、0+20+50=70
、0+20+50+80=150
、0+20+50+80+50=200
...
对应的 Y 轴值为:Y = [0.76 1.10 1.28 1.35 1.35 1.45 1.50]
我的意思是,当:
X
值为 0-20
,Y
值为 0.76
X
值为 20-70
,Y
值为 1.10
X
值为 70-150
,Y
值为 1.28
,
X
值为 150-200
,Y
值为 1.35
,...
请帮我画一下步骤图。下面给出了我的示例代码,由于 X
和 Y
.
的大小不同而显示错误
X = [0 20 50 80 50 50 50 100];
Y = [0.76 1.10 1.28 1.35 1.35 1.45 1.50];
for i=1:length(X)
if i==1
X(i)=0
else
X(i) = X(i-1) + X(i)
end
end
figure
stairs(X, Y, 'LineWidth',2)
xlim([0 500])
grid
需要重复Y
的结束值。
stairs(X, [Y Y(end)], 'LineWidth', 2);
除此之外,您的循环可替换为内置函数 cumsum
。
X = cumsum(X);
我想用MATLAB画一个步进图。
在X轴上,数值从0
开始递增,如:
0
、0+20=20
、0+20+50=70
、0+20+50+80=150
、0+20+50+80+50=200
...
对应的 Y 轴值为:Y = [0.76 1.10 1.28 1.35 1.35 1.45 1.50]
我的意思是,当:
X
值为 0-20
,Y
值为 0.76
X
值为 20-70
,Y
值为 1.10
X
值为 70-150
,Y
值为 1.28
,
X
值为 150-200
,Y
值为 1.35
,...
请帮我画一下步骤图。下面给出了我的示例代码,由于 X
和 Y
.
X = [0 20 50 80 50 50 50 100];
Y = [0.76 1.10 1.28 1.35 1.35 1.45 1.50];
for i=1:length(X)
if i==1
X(i)=0
else
X(i) = X(i-1) + X(i)
end
end
figure
stairs(X, Y, 'LineWidth',2)
xlim([0 500])
grid
需要重复Y
的结束值。
stairs(X, [Y Y(end)], 'LineWidth', 2);
除此之外,您的循环可替换为内置函数 cumsum
。
X = cumsum(X);