作为mathematica的新手, 请帮助我在mathematica中给出的代码中发生的事情。 我想用matlab编写它。
Clear[t, k, w, fg, g];
t = 0;
k = 0;
For[a = 1, a < 26, t = t1, t1 = t + 8];
g = ((−1)^a+1)∗ Integrate[Exp[−i ∗ w ∗ z],{z,t,t1}]; k = k + g; a++);
fg[w_] = Re[k ∗ Conjugate[k]];
li = Plot[fg[w], {w, 0.1, 0.7}], PlotRange → All, Frame → True]
want to know how the for loop is working here.?
实际问题是将函数与一组w值的限制相结合,并且再次使用相同的w值集合来更改限制并对这些积分值求和。 在这里输入“w”值的输入?
答案 0 :(得分:1)
我最好猜测这应该是什么样的:
Clear[w];
t = 0; k = 0;
For[a = 1, a < 26, a++,
g = ((-1)^a + 1) Integrate[Exp[ -I w z], {z, t, t + 8}];
k += g;
t += 8];
fg[w_] = Re[k Conjugate[k]];
Plot[fg[w], {w, 0.1, 0.7}, PlotRange -> All]
以更加数学的形式出现:
Clear[w]
fg[w_] = Re[# Conjugate[#]] &@
Sum[ ((-1)^a + 1)
8 Integrate[Exp[-I w (z + a - 1) 8 ], {z, 0, 1}] ,
{a, 25}];
Plot[fg[w], {w, 0.1, 0.7}, PlotRange -> All]