matlab数据边界不对,matlab的边界问题

博主在解决抛物线型方程时遇到问题,关于函数u1=parabolic中的b参数设置错误。详细描述了尝试将b设为'my_b'时的报错过程,并求助于如何正确配置边界条件。同时提到了关键代码段和函数文件my_b的调用情况。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

在求解抛物线型方程时,u1=parabolic(u0,tlist,b,p,e,t,c,a,f,d);中的b到底应该怎么设置?

我让b=‘my_b’为什么一直报错?

主程序:

r=0.030;

l=0.2286-2*r;w=0.2286-2*r;

R= [3,4,...

l/2,-l/2,-l/2, l/2,...

w/2, w/2,-w/2,-w/2]';

R1=[3,4,...

l/2, l/2, -l/2,-l/2,...

w/2,w/2+r,w/2+r, w/2]';

R2=[3,4,...

-l/2,-l/2-r,-l/2-r,-l/2,...

w/2, w/2, -w/2, -w/2]';

R3=[3,4,...

-l/2, -l/2, l/2, l/2,...

-w/2,-w/2-r,-w/2-r,-w/2]';

R4=[3,4,...

l/2,l/2+r,l/2+r,l/2,...

-w/2, -w/2, w/2,w/2]';

C1=[1,l/2,w/2,r,zeros(1,6)]';

C2=[1,-l/2,w/2,r,zeros(1,6)]';

C3=[1,-l/2,-w/2,r,zeros(1,6)]';

C4=[1,l/2,-w/2,r,zeros(1,6)]';

geom = [R,R1,R2,R3,R4,C1,C2,C3,C4];

ns = (char( 'R','R1','R2','R3','R4','C1','C2','C3','C4'))';

sf = 'R+R1+R2+R3+R4+C1+C2+C3+C4';

gd = decsg(geom,sf,ns);

[p,e,t]=initmesh(gd,'hmax',1);

pdemesh(p,e,t)

[p,e,t]=refinemesh(gd,p,e,t);

[p,e,t]=refinemesh(gd,p,e,t);

pdemesh(p,e,t);

k=238;

ro=475;

c1=975.15;

Q=-5000;

Te=450;

h=15;

c=k;

a=h;

f=Q+h*Te;

d=ro*c1;

u0=450;

u1=parabolic(u0,tlist,'my_b',p,e,t,c,a,f,d);

———————————————————

函数文件

function [q,g,h,r]=my_b(p,e,u,time)

bl=[1 1 1 1 3 1 '0' '0' '450' '0']';

bl=double(bl);

if any(size(u))

[q,g,h,r]=pdeexpd(p,e,u,time,bl);

else

[q,g,h,r]=pdeexpd(p,e,time,bl);

end

————————————————

Error using pdeexpd (line 103)

Boundary segment number does not exist.

Error in my_b (line 7)

[q,g,h,r]=pdeexpd(p,e,time,bl);

Error in pdeefxpd (line 10)

[q,g,h,r]=feval(bl,p,e,u,time);

Error in pdeexpd (line 40)

[q,g,h,r]=pdeefxpd(p,e,u,time,bl);

Error in assemb (line 99)

[q,g,h,r]=pdeexpd(p,e,time,bl);

Error in parabolic (line 86)

[Q,G,H,R]=assemb(b,p,e,time);

——————————————

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值