急求助:帮我分析这个程序问题出在哪
程序编出来了,调试怎么也过不了,希望哪位大虾帮忙调试一下!u,v,ed,E矩阵需要预定义吗?怎么预定义?
tic;
clear;clc;
epsilon=8.9e-12; num=21; a=0.2/(num-1); t=(num+1)/2;cons=300;
dp1=0.1;pg=1.025;ki=2.2e-4;
v(t,t)=6e4;v1=u;N=0;
whilemax(max(abs(v-v1)))>cons;
N=N+1;
v1=v;
for i=2:num-1
for j=2:num-1
Eox=-(v(i-1,j)-v(i+1,j))/(2*a);
Eoy=-(v(i,j-1)-v(i,j+1))/(2*a);
E(i,j)=sqrt(Eox.^2+Eoy.^2);
u(i,j)=0.25*(v(i,j-1)+v(i,j+1)+v(i-1,j)+v(i+1,j)+a^2*ed(i,j)/epsilon);
ed(i,j)=-epsilon/(2*a)*(Eox+Eoy)-0.5*((epsilon/a*(Eox+Eoy))^2
+4*(epsilon/a*(Eox*ed(i+1,j)+Eoy*ed(i,j+1))))^0.5;
u(1,:)=0;u(num,:)=0;u(:,num)=0;u(t,t)=6e4;ed(t,t)=3e5;
end;
end;
v=u;
end;
d=;
=meshgrid(d);
u=abs(u);ed=abs(ed);E=abs(E);
figure(1);surfl(x,y,abs(u));
figure(2);surfl(x,y,abs(ed));
figure(3);surfl(x,y,abs(E));
toc u v 要定义,E不用 请把问题讲清楚一下.
还有: v(t,t)=6e4; ------是对角元,还是(t,t)这个矩阵元,还是整个v被赋值为6e4? 原帖由 spano 于 2007-5-20 11:26 发表 http://www.chinavib.com/forum/images/common/back.gif
u v 要定义,E不用
该怎么定义一下,我不太会,谢谢! 原帖由 xjzuo 于 2007-5-20 14:49 发表 http://www.chinavib.com/forum/images/common/back.gif
请把问题讲清楚一下.
还有: v(t,t)=6e4; ------是对角元,还是(t,t)这个矩阵元,还是整个v被赋值为6e4?
v(t,t)=6e4是(t,t)这个矩阵元,相当于边界条件。 "边界条件"就一个点? 其它矩阵元呢? ----至少也应该有个初值... 原帖由 xjzuo 于 2007-5-20 17:11 发表 http://www.chinavib.com/forum/images/common/back.gif
"边界条件"就一个点? 其它矩阵元呢? ----至少也应该有个初值...
u(1,:)=0;u(num,:)=0;u(:,num)=0;u(t,t)=6e4;这些都是边界条件啊!
今天用估计的u值带进去了,结果却是NANI,问题在哪? 你的程序能运行?都是些明显的错误...
看来我不应该过问这种问题完全没有讲清楚的帖子... 原帖由 xjzuo 于 2007-5-21 17:41 发表 http://www.chinavib.com/forum/images/common/back.gif
你的程序能运行?都是些明显的错误...
看来我不应该过问这种问题完全没有讲清楚的帖子...
呵呵,我一般遇到这种情况也是比较无奈,只能给出“请阅读matlab基础书”的回复 原帖由 xjzuo 于 2007-5-21 17:41 发表 http://www.chinavib.com/forum/images/common/back.gif
你的程序能运行?都是些明显的错误...
看来我不应该过问这种问题完全没有讲清楚的帖子...
基本思路是用u,ed相互迭代。
调试通过了,运行结果不收敛
[ 本帖最后由 para 于 2007-5-21 21:16 编辑 ]
页:
[1]