一个matlab编程不能运行,高手来看一下

来源:百度知道 编辑:UC知道 时间:2024/06/04 15:17:54
h = 1 ; / / 步长
v0 = 100 ; / / 导体槽盖电位
hx = 15 3 h + 1 ; / / 网格横向节点数
hy = 9 3 h + 1 ; / / 网格纵向节点数
- - - - - - - - - - - - - - - - - - 设置零级近似值- - - - - - - - - - - - - - - - - - -
v1 = zeros (hy , hx) ; / / 用零矩阵对网格各节点电位进行初值化
v1 (hy , :) = ones (1 ,hx) 3 v0 ; / / 对沿盖板各节点赋初值100
v1 (2 :hy - 1 ,2 :hx - 1 ) = ones (hy - 2 ,hx - 2 ) 3 v0 / 2 ; / / 对内节点赋一任意初值
v2 = zeros (hy , hx) ; / / 初值化结果变量
- - - - - - - - - - - - - - - - - - 以v1 开始迭代计算v2 - - - - - - - - - - - - - - - -
for i = 1 :hy
for j = 1 :hx
if i = = hy
v2 (i , j) = v0 ; / / 盖板电位100
else if i = = 1| j = = 1| j = = hx
v2 (i , j) = 0 ; / / 周边电位0
else
v2 (i , j) = (v1 (i , j - 1 ) + v1 (i , j + 1 )
+ v1 (i - 1 ,j) + v1 (i + 1 ,j) ) / 4 ;
end
/ / 拉普拉斯方程
end
end
- - - - - - - - - - - - - - - 用v2 代替v1 ,以v1 循环迭代计算v2 - - - - -

这次通了。

h = 1 ; % 步长
v0 = 100 ; % 导体槽盖电位
hx = 15 * h + 1 ; % 网格横向节点数
hy = 9 *h + 1 ; % 网格纵向节点数
%- - - - - - - - - - - - - - - - - - 设置零级近似值- - - - - - - - - - - - - - - - - - -
v1 = zeros (hy , hx) ; % 用零矩阵对网格各节点电位进行初值化
v1 (hy , :) = ones (1 ,hx) * v0 ; % 对沿盖板各节点赋初值100
v1 (2 :hy - 1 ,2 :hx - 1 ) = ones (hy - 2 ,hx - 2 ) * v0 / 2 ; % 对内节点赋一任意初值
v2 = zeros (hy , hx) ; % 初值化结果变量
%- - - - - - - - - - - - - - - - - - 以v1 开始迭代计算v2 - - - - - - - - - - - - - - - -
for i = 1 :hy
for j = 1 :hx
if i ==hy
v2 (i , j) = v0 ; % 盖板电位100
elseif i == 1| j == 1| j == hx
v2 (i , j) = 0 ; % 周边电位0
else
v2 (i , j) = (v1 (i , j - 1 ) + v1 (i , j + 1 ) + v1 (i - 1 ,j) + v1 (i + 1 ,j) ) / 4 ;
end
% 拉普拉斯方程
end
end
%- - - - - - - - - - - - - - - 用v2 代替v1 ,以v1 循环迭代计算v2 - - - - - - - - - - -
for k = 1 :500 % 循环次数
v1 = v2 ;
for i = 1 :hy
for j = 1 :hx