【发布时间】:2013-11-30 18:29:25
【问题描述】:
给定以下代码:
t = -5:.1:5;
w = pi;
x = zeros(101,1);
Xt = zeros(101,1);
for i = 1 : 101;
x = exp((-3*t)+(-1i*w*t));
Xt = trapz(t, x);
end
disp (length(x))
disp (length(Xt))
disp (Xt)
Xt 的值不会改变,这是个问题。 应该如何编码以便在 x 改变时改变 Xt?
旁注:
Xt(i) = trapz(t,x);
将向量从长度 101 减少到长度 1,因此不能使用。
【问题讨论】:
-
for 循环正在遍历变量
i = 1:101,但您永远不会在exp表达式中使用变量i。相反,您使用的是虚数-1i(也许这是故意的),但表达式永远不会改变,因为不依赖于循环变量i。 -
澄清:我正在尝试将
-1i用作虚数。应该改变的变量是t。我使用i的原因是在引用集合中间的零值时发生错误。Xt(abs(i))会很棒,但我还不知道如何避免出现在零处的错误。 -
为了避免索引 i 和 j,通常使用 ii 和 jj 来代替。事实上,有些人总是只为他们的循环变量使用双字母名称,例如aa, bb, ii, jj, ..
标签: matlab for-loop vector indexing