我试图通过simpsons方法解决这种积分,并将结果绘制成图。该图仅取得for循环中P0 = -6的值。当我设置I(K,P)时,它会给出错误:
尝试访问P0(0); index必须是正整数或逻辑
我该如何解决?
@
答案 0 :(得分:0)
目前,只有在P0 = -6
中保存I(k)
时,才会使用结果P0 = 6
。首先保存P0 = 6
的结果,然后覆盖它并保存另一个。 for k = 1:length(w)
L_shift = @(w1) (1-((1i*(w(k)-w1))/alpha))^(-1)* (1-((1i*(w(k)-w1))/beta))^(-1);
Q_shift = @(w1) (1/(r_e^2))*((1-((1i*(w(k)-w1))/gamma_e))^(2) - (1/(1-G_ei*L_shift(w1)))*...
(L_shift(w1)*G_ee + (exp(1i*(w(k)-w1)*t_0)*(L_shift(w1)^2*G_ese +L_shift(w1)^3*G_esre))/(1-L_shift(w1)^2*G_srs)));
P_shift = @(w1) (pi/r_e^4)* (abs((L_shift(w1)^2*G_esn)/((1-L_shift(w1)^2*G_srs)*(1-G_ei*L_shift(w1)))))^2 *....
abs((atan2((imag(Q_shift(w1))),(real(Q_shift(w1)))))/imag(Q_shift(w1)));
for P0 = [6 -6]
G = 150*exp(- (f - P0).^2./(2*(delt_P).^2));
P2 = @(w1) G(k) + P_initial(w1);
p = @(w1) P2(w1)*P_shift(w1);
I(k) = simprl(p,a,b,n);
end
end
的结果既未使用也未保存。如果您按如下方式编写代码,则会明确说明。
I(k,P)
您无法访问I
,因为P0 = -6
是一个向量而非矩阵。但是,这将为您提供索引超出矩阵维度。您可以将P0 = 6
的结果保存在一个变量中,将function myOnEdit(e) { ... var x = fetchUrlApp.fetch(...); ... }
保存在另一个变量中,因为代码中的结果不依赖在彼此身上。