24小时热门版块排行榜    

北京石油化工学院2025年硕士研究生招生接受调剂公告
查看: 1252  |  回复: 6

亮亮1283

新虫 (小有名气)

[求助] matlab程序问题,总是出错,麻烦大家看看问题在那里?

function pdex1()

clc
clear
Up =400;
Un =8000;
Kb =1.38*10^(-23);
h =6.63*10^(-34);  
e =1.6*10^(-19);   
r =0.35;
y =0.6;  
n0 =1*10^16;
p0 =1*10^16;
tn =1*10^(-9);
tp =1*10^(-9);  
p1 =p0;
n1 =n0;
T =300;
a =1.65*10^4;
v =(3/532)*10^17;
X =10;
P=10;  
%主函数----------------------------------------------------------------
m=0;
x=0:0.1:10;
t=0:20:1000;
sol = pdepe(m,@pdex1pde,@pdex1ic,@pdex1bc,x,t);
figure('numbertitle','off','name','PDE Demo-by matlab')
subplot(211)
surf(x,t,sol(:,:,1))
title('The Solution of p')
xlable('x')
ylable('t')
zlable('p')
subplot(212)
surf(x,t,sol(:,:,2))
title('The Solution of n')
xlable('x')
ylable('t')
zlable('n')


%目标函数----------------------------------------------------------------
function [c,f,s] = pdex1pde(x,t,u,DuDx)
c= [1;1];
f= [(Up*Kb*T/e)*DuDx(1); (Un*Kb*T/e)*DuDx(2)];
G= a*y*(1-r)*P*exp(-a*x)/(h*v);
R1= u(1)*u(2)-p0*n0;
R2=tn*(u(1)+p1)+tp*(u(2)+n1);
R=R1/R2;
s= [1;1].*(G-R);


%初值条件函数------------------------------------------------------------
function u0 = pdex1ic(x)
u0= [p0;n0];

%边界条件函数------------------------------------------------------------
function [pa,qa,pb,qb] = pdex1bc(xa,ua,xb,ub,t)       %a为下边界, b为上边界
pa =[0; 0];
qa =[1; 1];
pb =[0; 0];
qb =[1; 1];
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

czxf

银虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
楼主,你的函数文件能正常调用吗?有些格式都是错的。注意FUNCTION申明的是函数文件,而不是c中的函数
2楼2012-05-26 21:43:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

亮亮1283

新虫 (小有名气)

引用回帖:
2楼: Originally posted by czxf at 2012-05-26 21:43:32
楼主,你的函数文件能正常调用吗?有些格式都是错的。注意FUNCTION申明的是函数文件,而不是c中的函数

实在是不好意思啊,我不是很懂你说的什么意思,这个程序是我参考matlab帮助里面一个专门求解这样的方程组的例子写的。能不能麻烦你把错误的地方给我指一下,我好再看看。
3楼2012-05-27 12:52:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
亮亮1283: 金币+20, ★★★★★最佳答案, 哈哈,就是这个原因。太谢谢你了! 2012-05-28 15:17:02
不知道对不对,画出来的结果好像都是1*10^16
原程序主要有两个问题,你的那些参数需要用全局变量,子函数不能直接用主函数的值的
还有xlabel,ylabel,zlabel,不是xlable等



function pdex1()

clc
clear
global Up Kb T P a y r h v Un e tp p0 n0 n1 p1 G tn
Up =400;
Un =8000;
Kb =1.38*10^(-23);
h =6.63*10^(-34);  
e =1.6*10^(-19);   
r =0.35;
y =0.6;  
n0 =1*10^16;
p0 =1*10^16;
tn =1*10^(-9);
tp =1*10^(-9);  
p1 =p0;
n1 =n0;
T =300;
a =1.65*10^4;
v =(3/532)*10^17;
X =10;
P=10;  

%主函数----------------------------------------------------------------
m=0;
x=0:0.1:10;
t=0:20:1000;
sol = pdepe(m,@pdex1pde,@pdex1ic,@pdex1bc,x,t);
% u =[ sol(:,:,1), sol(:,:,2)];
figure('numbertitle','off','name','PDE Demo-by matlab')
subplot(211)
surf(x,t,sol(:,:,1))
title('The Solution of p')
xlabel('x')
ylabel('t')
zlabel('p')
subplot(212)
surf(x,t,sol(:,:,2))
title('The Solution of n')
xlabel('x')
ylabel('t')
zlabel('n')


%目标函数----------------------------------------------------------------
function [c,f,s] = pdex1pde(x,t,u,DuDx)
     global Up Kb T P a y r h v Un e tp p0 n0 n1 p1 G tn
c= [1;1];
f= [(Up*Kb*T/e)*DuDx(1); (Un*Kb*T/e)*DuDx(2)];
G= a*y*(1-r)*P*exp(-a*x)/(h*v);
R1= u(1)*u(2)-p0*n0;
R2=tn*(u(1)+p1)+tp*(u(2)+n1);
R=R1/R2;
s= [1;1].*(G-R);


%初值条件函数------------------------------------------------------------
function u0 = pdex1ic(x)
global p0 n0
u0= [p0;n0];

%边界条件函数------------------------------------------------------------
function [pa,qa,pb,qb] = pdex1bc(xa,ua,xb,ub,t)       %a为下边界, b为上边界
pa =[0; 0];
qa =[1; 1];
pb =[0; 0];
qb =[1; 1];

» 本帖已获得的红花(最新10朵)

showmethemoney
4楼2012-05-28 14:35:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

亮亮1283

新虫 (小有名气)

引用回帖:
4楼: Originally posted by csgt0 at 2012-05-28 14:35:31
不知道对不对,画出来的结果好像都是1*10^16
原程序主要有两个问题,你的那些参数需要用全局变量,子函数不能直接用主函数的值的
还有xlabel,ylabel,zlabel,不是xlable等



function pdex1()

clc
c ...

问题解决了
5楼2012-05-28 15:20:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

亮亮1283

新虫 (小有名气)

送鲜花一朵
引用回帖:
4楼: Originally posted by csgt0 at 2012-05-28 14:35:31
不知道对不对,画出来的结果好像都是1*10^16
原程序主要有两个问题,你的那些参数需要用全局变量,子函数不能直接用主函数的值的
还有xlabel,ylabel,zlabel,不是xlable等



function pdex1()

clc
c ...

不好意思,我还想问一下,你知道我的方程组是一个抛物线型的非线性偏微分方程组,方程组中的这两个方程都是抛物线型的,如果我要是再加上一个方程,但是方程的形式是双曲型的,应该怎么来解决呢?
6楼2012-05-28 15:35:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

这个我不太懂,你用hyperbolic试试
showmethemoney
7楼2012-05-28 16:15:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 亮亮1283 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料学硕290求调剂 +8 洲洲洲zzzz 2025-04-02 8/400 2025-04-02 11:45 by 分子式
[考研] 302,一志愿985材料调剂 +9 高歌奋进 2025-03-30 11/550 2025-04-02 09:26 by Cloris-y
[考研] 材料学硕308调剂 +8 想上学的伽古拉 2025-03-28 12/600 2025-04-02 09:13 by Cloris-y
[考研] 本科高分子材料与工程,考研英一数二277分求调剂 +6 幼儿园扛把子100 2025-04-01 6/300 2025-04-02 08:46 by 648590014
[考研] 材料与化工281求调剂 +4 筑天正 2025-03-31 4/200 2025-04-02 08:25 by zhangbowu
[考研] 一志愿211,材料与化工专硕322,求调剂 +5 cdass 2025-04-01 5/250 2025-04-01 23:49 by andonlee
[考研] 化工一志愿北京理工大学292分求调剂 +5 化工方向 2025-04-01 5/250 2025-04-01 23:04 by cqjd0301
[考研] 济南大学 收材料调剂 +3 济南大学 康俊峰 2025-04-01 4/200 2025-04-01 22:22 by 济南大学 康俊峰
[考研] 求导师收留 +3 小花加油- 2025-04-01 4/200 2025-04-01 16:13 by 望京京
[考研] 求调剂 +9 桑榆子 2025-03-28 9/450 2025-04-01 09:19 by nanaliuyun
[考研] 085404 293分 希望调剂到材料相关专业 +8 Fizzes 2025-03-28 10/500 2025-03-31 23:33 by 褚迎松小小
[考研] 311求调剂 +5 小张真的想读研 2025-03-31 5/250 2025-03-31 21:21 by cqjd0301
[考研] 有机化学 调剂 +9 hjsaa 2025-03-27 10/500 2025-03-31 21:10 by oooqiao
[考研] 295求调剂 +13 .J.. 2025-03-29 13/650 2025-03-31 18:59 by 刺猬hz
[考研] 313求调剂 +6 Pj. 2025-03-31 6/300 2025-03-31 18:49 by DNDYR
[考研] 求调剂 +4 雾撞山野 2025-03-31 4/200 2025-03-31 16:03 by Yik_93345238
[硕博家园] 调剂给导师发邮件,老师读了邮件后一般多久回复啊 +4 yuzhan221 2025-03-30 4/200 2025-03-31 00:40 by MacTavish9
[考研] 材料与化工考研336分求调剂 +4 张天傲121 2025-03-29 9/450 2025-03-30 07:28 by microscopy
[考研] 277求调剂 +5 瀚墨123 2025-03-29 5/250 2025-03-29 13:33 by 褚迎松小小
[考研] 085702安全工程求调剂 +3 鲁!! 2025-03-26 5/250 2025-03-28 00:37 by 鲁!!
信息提示
请填处理意见
复试调剂复试调剂
复试调剂二维码获取复试 & 调剂指南!微信扫一扫
商务合作商务合作
商务合作二维码商务合作咨询微信扫一扫(备注:商务合作)
学术干货学术干货
学术干货二维码微信扫一扫了解最新学术干货
论文辅导论文辅导
论文辅导二维码微信扫一扫添加老师,免费咨询
师资招募师资招募