Re: [討論] 電勢模擬問題
※ 引述《knutten (biker)》之銘言:
: 大家好, 小弟是matlab新手, 正在努力學matlab中.
: 我在一本書看到以下的程式, 但是書上的例子是設定上面的電壓是100V, 兩側和底部的電壓是0V.
: 但是我想要模擬成上面電壓1500V, 兩側和底部的電壓是700V, 可是好像得不到答案,
: 所以只能將上部取800V, 兩側和底部的電壓是0V, 用壓差來模擬, 請問有沒有什麼方法可以
: 模擬成上面電壓1500V, 兩側和底部的電壓是700V?
這不就FDM? 重新定義一下邊界條件應該就可以了吧?
v0=1500;hx=11;hy=9;
v00=700;
: v1=zeros(hy,hx);
: v1(hy,:)=ones(1,hx)*v0;
: v1(2:hy-1,2:hx-1)=ones(hy-2,hx-2);
%原文上面這行我其實不知道有啥意義 只是代個起始值而已用0和用1應該沒差很多
v2=v00*ones(hy,hx);maxt=1;t=0; %這行這樣才會定義到v2 700V那些邊的邊界條件
: 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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.174.96
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1512964242.A.7F7.html
※ 編輯: profyang (114.37.174.96), 12/11/2017 11:51:28
※ 編輯: profyang (114.37.174.96), 12/11/2017 11:52:44
推
12/17 06:52,
7年前
, 1F
12/17 06:52, 1F
→
12/17 06:52,
7年前
, 2F
12/17 06:52, 2F
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章
-1
12