qq_41704183
qq_41704183
采纳率0%
2018-12-04 09:23

matlab积分怎么积分?

i=1:0.01:pi;
x=1:0.01:pi;
N1=13;

N2=15;

for i=1:pi+1
if 0.4*pi+1<=x(i)+1 && x(i)+1<=0.6*pi+1
phi_2(i)=(N2-N1)*x(i)+1/2;
end
if 0.0*pi+1<=x(i)+1 && x(i)+1<=0.2*pi+1
phi_2(i)=((N2-N1)*x(i)+1+pi)*0.5;

end
end

syms i;
Er=1-abs(exp(1j*(phi_2(i)-((N1+N2)/2)*i)).*cos(((N2-N1)/2)*i-phi_2(i) )).^2;

s=int((Er),0.4*pi,0.6*pi);

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • weixin_44617733 weixin_44617733 2年前

    f=@(x);%积分函数
    y0=f(0);%定积分初值
    y1=f(2);%定积分终值
    s=0;%积分结果
    n=1;%将定积分区间分成了n份
    while abs(s-pi)>=0.0001%确定精度为万分之一
    n=n+1;%精度不满足的话份数就加1
    s=0;%每次判断精度满足与否进行下一次循环,设定积分结果的初始值为0
    h=2/n;%分成n份后的步长
    for x=h:h:2-h%积分循环
    s=s+h*f(x);
    end
    s=2*(s+(y0+y1)*h/2);%积分结果
    end
    disp('梯形公式积分得到圆的面积为'),s

    点赞 1 评论 复制链接分享
  • weixin_43413649 不不不卟 10月前

    你这代码看得有点乱,我帮你改了。。。

    N1=13;
    N2=15;
    % 以下为分段函数,匿名函数
    phi_2 = @(x)((N2-N1)*x+1/2) .* (0.4*pi+1<=x+1 & x+1<=0.6*pi+1) +...
         (((N2-N1)*x+1+pi)*0.5) .* (0.0*pi+1<=x+1 & x+1<=0.2*pi+1);
    % 被积函数
    Er=@(x)1-abs(exp(1j*(phi_2(x)-((N1+N2)/2)*x)).*cos(((N2-N1)/2)*x-phi_2(x) )).^2;
    %integral为匿名函数的积分,int为符号函数的积分
    s=integral(Er,0.4*pi,0.6*pi);
    
    点赞 评论 复制链接分享

相关推荐