24小时热门版块排行榜    

查看: 399  |  回复: 0

hawaiicn

新虫 (初入文坛)

[交流] 请大家帮我看下我的MATLAB卷积分问题出在哪里?谢谢!

用MATLAB自带卷积分函数计算弹性半空间在一三角脉冲荷载下自由表面的竖向位移,与文献正确结果相差10的5次方倍,但自己编写卷积分代码,反而得到文献结果。请大家帮我看下问题出在哪?谢谢!

另外,为何MATLAB自带卷积分函数结果矩阵的维数会是被卷积两矩阵维数之和减1?

1. 问题描述,如下图1所示:

请大家帮我看下我的MATLAB卷积分问题出在哪里?谢谢!

2. 格林函数,如下图2所示:

请大家帮我看下我的MATLAB卷积分问题出在哪里?谢谢!-1

3. 参考文献正确解,如下图3所示:

请大家帮我看下我的MATLAB卷积分问题出在哪里?谢谢!-2

4. 本人直接用自编卷积分MATLAB代码算的出解(如下图4)及相应代码:

请大家帮我看下我的MATLAB卷积分问题出在哪里?谢谢!-3

clear;
clc;

%loading history

dt=0.01;
ti=0.0008;
te=12;
t=ti:dt:te;
pt=(10*t./1.5).*(t>=0 & t<=1.5)+(20-10*t./1.5).*(t>1.5 & t<=3)+0.*(t>3);
m=length(pt);

%load distribution in space

rp=0.1;
ri=0;
rc=0.1;
dr=0.001;
r=ri:dr:rc;
pr=1*(r<=rp)+0*(r>rp);
n=length(pr);

%load function with respect to t and r

p=pr.'*pt;

%green's function

G=1;
cs=1;
for i=1:1:m
  for j=1:1:n
    u(j,i)=heaviside(cs*t(i)-r(j))/(pi*G*sqrt(t(i)^2-(r(j)/cs)^2));
  end
end

%convolution and response of displacement

for i=1:1:m
  for j=1:1:n
    v(j,i)=0;
    for k=1:1:i
      for g=1:1:j
        v(j,i)=v(j,i)+p(g,k)*u(j-g+1,i-k+1)*dr*dt;
      end;
    end;
  end;
end;

%plot the response history

plot(t,v(n,);
xlabel('t/s');
ylabel('v/m');
grid on;
title('response of point A or C');

5. 直接用MATLAB自带卷积分算的出解(如下图5)及相应代码:

请大家帮我看下我的MATLAB卷积分问题出在哪里?谢谢!-4

clear;
clc;

%loading history

dt=0.01;
ti=0.0008;
te=12;
t=ti:dt:te;
pt=(10*t./1.5).*(t>=0 & t<=1.5)+(20-10*t./1.5).*(t>1.5 & t<=3)+0.*(t>3);
m=length(pt);

%load distribution in space

rp=0.1;
ri=0;
rc=0.1;
dr=0.001;
r=ri:dr:rc;
pr=1*(r<=rp)+0*(r>rp);
n=length(pr);

%load function with respect to t and r

p=pr.'*pt;

%green function

G=1;
cs=1;
for i=1:1:m
  for j=1:1:n
    u(j,i)=heaviside(cs*t(i)-r(j))/(pi*G*sqrt(t(i)^2-(r(j)/cs)^2));
  end
end

%convolution and response of displacement

v=conv2(u,p);

%plot the response history

rr=r(n);
[tpu,rpu]=meshgrid(ti:dt:2*te-dt,ri:dr:2*rc);
[X,Y,Z]=meshgrid(linspace(min(tpu(),max(tpu()),linspace(min(rpu(),max(rpu()),linspace(min(v(),max(v()));
V=Y;
h=contourslice(X,Y,Z,V,tpu,rpu,v,[0 0]+rr);
set(h,'edgecolor','k');
contourslice(X,Y,Z,V,tpu,rpu,v,[0 0]+rr);
xlabel('t/s');
ylabel('r/m');
zlabel('v/m');
axis([0 12 0 0.1 0 12e4]);
view(0,0);
grid on;
title('displacement response history of point A or C');
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hawaiicn 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 ASdOkHsho7FD 2026-08-28 5/250 2026-08-29 05:13 by gy1nBQXYQJqL
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 ASdOkHsho7FD 2026-08-28 4/200 2026-08-29 04:18 by gy1nBQXYQJqL
[基金申请] 国自然评审意见 +11 wangmingqi 2026-08-28 15/750 2026-08-29 00:17 by fangyl2005
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +13 晴天加油 2026-08-26 14/700 2026-08-28 18:36 by huagongfeihu
[基金申请] 基金不中,共勉 +11 eulota 2026-08-26 11/550 2026-08-28 14:22 by 火星超人xi
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 申请删除本帖 +6 lyz123lyz 2026-08-27 7/350 2026-08-27 17:31 by 宁静致远sy
[基金申请] 基金未中,这种答复是模板吗? +5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[基金申请] 怎么看青基中了没有啊 +5 叶九微 2026-08-26 5/250 2026-08-27 10:35 by l_zh2008
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
信息提示
请填处理意见