Matlab:绘图只是绘制向量中的最后一个值

Matlab:绘图只是绘制向量中的最后一个值,matlab,for-loop,vector,plot,Matlab,For Loop,Vector,Plot,我需要以下代码来绘制Ci值与x值的范围。所以根据x=1的代码,我需要C1,x=2,C2等等。。。一个简单的问题我确定,请帮助 clear all; clc; n = 15 x = 1:(n-1) T = 500; D = T./(n-x) for i=1:13 C(i) = D(i+1) - D(i) end plot(x, C(i), 'rx') 我猜你想要的是这个 clear clc close all n = 15; x = 1:(n-1); T = 500; D = T./(n

我需要以下代码来绘制Ci值与x值的范围。所以根据x=1的代码,我需要C1,x=2,C2等等。。。一个简单的问题我确定,请帮助

clear all; clc;
n = 15
x = 1:(n-1)
T = 500;
D = T./(n-x)

for i=1:13
C(i) = D(i+1) - D(i)
end

plot(x, C(i), 'rx')

我猜你想要的是这个

clear 
clc
close all

n = 15;
x = 1:(n-1);
T = 500;
D = T./(n-x);

C = zeros(length(x) - 1, 1);

for i=1:13
    C(i) = D(i+1) - D(i);
end

figure, plot(C, 'rx')
最好预先分配C变量,这样就可以绘制它了

Ci只给出了最后一个数字,因为在for i是13,而Cias之后,它只给出了第13位的C。

更改:

plot(x, C(i), 'rx')
致:

实际上,您可以用以下内容替换for循环:

C = diff(D);

它计算连续元素之间的差异。

直到现在我才看到您正在计算连续值之间的差异。我将编辑我的答案。很高兴我能帮忙!:我已经编辑了我的答案,为您提供了for循环的替代方案。
C = diff(D);