Matlab - symsum与itegral

时间:2015-12-11 13:14:54

标签: matlab integral

我正在尝试计算以下内容:

equation

我使用以下代码:

clear all;
close all
clc;
SNR0dB = 40;       
SNR0 = 10 ^ (SNR0dB / 10);
LaserIntensity = 1877;    
EffNoisePower = 4;     
tmp_sigma = 20;
m=1;
rho=0.5;
H=1;
C = sqrt(SNR0*EffNoisePower) / LaserIntensity;
Zn_1  = inf;
Zn    = C / 0.204;
syms k x
S1 = symsum(( ((rho*m)/(H^2*(1-rho^2)))^(m+2*k-1) ) * (1/(factorial(k)*gamma(m+k))) * integral(@(r1) r1.^(2*m+2*k+1).*exp((-r1.^2.*m)/(H^2*(1-rho^2))),Zn,Zn_1), k, 0, 10)

我收到以下错误:

  

使用integralCalc / finalInputChecks时出错(第511行)输入功能
  必须返回'double'或'single'值。找到'sym'。

     

integralCalc / iterateScalarValued中的错误(第315行)
  finalInputChecks(X,FX);

     

integralCalc / vadapt出错(第132行)
  [q,errbnd] = iterateScalarValued(u,tinterval,pathlen);

     

integralCalc出错(第83行)
  [q,errbnd] = vadapt(@ AToInfInvTransform,interval);

     

积分误差(第88行)Q = integralCalc(fun,a,b,opstruct);

     

SumOverIntegral中的错误(第21行)S1 = symsum((
  ((rho * m)/(H ^ 2 *(1-rho ^ 2)))^(m + 2 * k-1))*(1 /(阶乘(k)*伽马(m + k)))
  *积分(@(r1)r1。^(2 * m + 2 * k + 1)。* exp(( - r1。^ 2. * m)/(H ^ 2 *(1-rho ^ 2))) ,Zn,Zn_1),k,0,10)

有人可以帮忙解决如何克服将符号发送到积分函数的错误吗?

0 个答案:

没有答案