m0_61305569 2021-08-28 09:03 采纳率: 50%
浏览 81
已结题

三重累加求和数值积分怎么编程呢

最近遇到一个棘手的问题,面对这个三重的如何进行数值积分编程?
之前只进行过一重的数值积分代码如下

clear
clc
n=20;
d=0.1;
x=-0.2:0.0001:0.2;
N=length(x);
sum=0;
%trapz方法
for i=0:n
    for ii=1:N
        y=x(ii);
        f(ii)=0.9.*(%函数)
    end
    S=trapz(x,f);
    sum=sum+S;
end
sum

img

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-08-28 10:39
    关注

    这个最好用integral3函数

    % 定义被积函数,注意用的是对应位置相乘的结果所以乘法、幂次和除法要加.号
    F = @(u,w,v,i,d,n) 0.9*(d+0.15*i/n-w)./((v-u).^2+(d+0.15*i/n-w).^2).^(3/2)...
    - 0.9*(d+0.15*i/n-w)./(0.025*0.025 + (v-u).^2 + (d+0.15*i/n-w).^2).^(3/2);
    u1 = -0.022; u2 = 0.022; % 积分区间
    w1 = -0.1; w2 = 0;% 积分区间
    v1 = -0.2; v2 = 0.2;% 积分区间
    n = 20;
    i_arr = 0:n;
    d = 0.1;
    S = 0;% 求和初值
    for i = 1:1:numel(i_arr)
    S = S + integral3(@(u,w,v)F(u,w,v,i_arr(i),d,n),u1,u2,w1,w2,v1,v2);
    end
    S
    

    结果

    
    S =
    
       0.012099286633777
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月5日
  • 已采纳回答 8月28日
  • 创建了问题 8月28日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵