f=sym('f',[1 4]) q=zeros(1,4) 对于 i=0:3 f(1,i+1) = (@(x)(exp(-x) .*(x.^0.5).*x.*laguerreL(i,0.5,x))) %g(1,i+1)=quadgk(f(1,i+1),0,1) 结束

问题描述 投票:0回答:1

这段代码有什么问题?

请为我描述问题 f=sym('f',[1 4]) q=zeros(1,4) 对于 i=0:3 f(1,i+1) = (@(x)(exp(-x).*( x.^0.5).*x.*laguerreL(i,0.5,x))) %g(1,i+1)=quadgk(f(1,i+1),0,1) 结束 在这段代码中,我想计算 double int,该函数是一个 M+1 维度的数组

matlab integer double boundary
1个回答
0
投票
figure
hold on

q=zeros(1,4);
for k=1:4 
    
    f1=@(x) (exp(-x).*(x.^0.5).*x.*laguerreL(k,x)); 
    fplot(f1);
    g(k)=quadgk(f1,0,1) 
end

grid on
legend('1','2','3','4')

所得积分

g'
ans =
   0.067073046736390
  -0.016768261684098
  -0.064107950475923
  -0.085353721623712

不存在 0 阶 LaguerreL 多项式。

在 MATLAB 中,第一个元素的索引始终为 1,而不是 0。

© www.soinside.com 2019 - 2024. All rights reserved.