[討論] 電勢模擬問題

作者: knutten (biker)   2017-12-10 23:53:00
大家好, 小弟是matlab新手, 正在努力學matlab中.
我在一本書看到以下的程式, 但是書上的例子是設定上面的電壓是100V, 兩側和底部的電壓是0V.
但是我想要模擬成上面電壓1500V, 兩側和底部的電壓是700V, 可是好像得不到答案,
所以只能將上部取800V, 兩側和底部的電壓是0V, 用壓差來模擬, 請問有沒有什麼方法可以
模擬成上面電壓1500V, 兩側和底部的電壓是700V?
v0=800;hx=11;hy=9;
v1=zeros(hy,hx);
v1(hy,:)=ones(1,hx)*v0;
v1(2:hy-1,2:hx-1)=ones(hy-2,hx-2);
v2=zeros(hy,hx);maxt=1;t=0;
v2(hy,:)=v1(hy,:);
while (maxt>0.1)
for i=2:hy-1
for j=2:hx-1
v2(i,j)=(v1(i,j-1)+v1(i,j+1)+v1(i-1,j)+...
v1(i+1,j))/4;
t=v2(i,j)-v1(i,j);
maxt=0;
if(t>maxt) maxt=t; end
end
end
v1=v2;
end
subplot(1,2,1),surf(v2)
axis ([0,11,0,9,1,800])
subplot(1,2,2),
contour(v2);
hold on;
x=1:1:11;y=1:1:9;
[xx,yy]=meshgrid(x,y);
[Gx,Gy]=gradient(v2,0.6,0.6);
quiver (xx,yy,Gx,Gy,'r'),
hold off

Links booklink

Contact Us: admin [ a t ] ucptt.com