matlab pdepe用法,Matlab ---可以用pdepe解决这样的一阶pde集吗?

方程:

变量:z,t

想要:S = S(z,t),A = A(z,t)

参数:a,b,c

我是sqrt(-1)

d是偏导数算子

dS / dt = -i a z S -i b A

(d / dz + c d / dt)A = -i S

边界条件:

西格玛是脉冲宽度

tm是脉冲的中心

在z = 0时,

A(1,t)=(0.398942 / sigma) exp( - ((t-tm)。^ 2)/(2 sigma ^ 2))(高斯脉冲)

在z = 1时,

边界条件不明确。预计接近0.如果我使用Mathematica,则没有必要指定这个边界条件。其实这个界限是解决这个问题的目的。

初始条件:

在t = 0时,

S = 0

A = 0(接近0.它应该是上述高斯脉冲的边缘)

我试图用pdepe解决这个pde集。结果显示:

???在77使用==> daeic12时出错

这个DAE似乎指数大于1。

我的问题是:pdepe可以解决这些问题吗?

×××××××××××××××××××××××××××××××××××××××××××××××××× ×××××××××××××××××××××××

详细信息:将公式转换为以下形式:

[1; c]。 d / dt [S; A] = d / dz [0; -A] + [-i a z S-i b A; -i S]

然后我的等式代码:(参数名称被改变,不会被称为a,b和c)

function [ c,f,s ] = myPdeNoDecay( z,t,u,dudz)

LoverzetacT = 6.712414322355693e-05;

betaLT = 66.713366022882500;

omegayetaksbarLT = 4.183966095613130e+02;

c = [1;LoverzetacT];

f = [0;-u(2)];

s = -1i*[betaLT.*z.*u(1)+omegayetaksbarLT.*u(2);u(1)];

end边界条件:

function [ pl,ql,pr,qr ] = myPdeNoDecayBC( xl,ul,xr,ur,t )

tm = 0.5; %ns, Normalized central time of the pulse

sigma = 0.1; %ns, Normalized width of the pulse, 10^-7s

pl = [ul(2)-iniShape(t,sigma,tm);0];

ql = [0;0];

pr = [0;0];

qr = [0;0];

end

function [G] = iniShape(t,sigma,tm)

G = (0.398942/sigma)*exp(-((t-tm).^2)/(2*sigma^2));

end初始条件:

function [ u0 ] = myPdeNoDecayIC( x )

u0 = [0;0];

end主功能:

clear

close all

tlist = 0:0.05:1;

zlist = 0:0.05:1;

LoverzetacT = 6.712414322355693e-05;

betaLT = 66.713366022882500;

omegayetaksbarLT = 4.183966095613130e+02;

tm = 0.5; %ns, Normalized central time of the pulse

sigma = 0.1; %ns, Normalized width of the pulse, 10^-7s

m = 0;

sol = pdepe(m,@myPdeNoDecay,@myPdeNoDecayIC,@myPdeNoDecayBC,zlist,tlist);

figure('numbertitle','off','name','my PDE with no decay or two-ph detuning')

subplot(211);

surf(zlist,tlist,sol(:,:,1));

title('The solution of S');

xlabel('z');

ylabel('t');

zlabel('S(z,t)');

title('The solution of a');

xlabel('z');

ylabel('t');

zlabel('a(z,t)');错误是:

???在77使用==> daeic12时出错

这个DAE似乎指数大于1。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值