QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2976|回复: 3
打印 上一主题 下一主题

求助:关于分块矩阵的还原,为什么实行不了

[复制链接]
字体大小: 正常 放大

1

主题

2

听众

35

积分

升级  31.58%

该用户从未签到

自我介绍
20100103重要的日子
跳转到指定楼层
1#
发表于 2009-12-17 20:17 |只看该作者 |正序浏览
|招呼Ta 关注Ta
%运用Jacobi迭代拟合出来的u关于x和y的矩阵* `4 O: e6 N" o- I' I
function J=jac(A,b,u0,eps)+ `# g4 E% B. f6 N, }1 n
if nargin==3
' b  M! G0 [9 x) b6 k    eps=1.0e-8) d) V/ c: W7 I* p7 g7 |' }
elseif nargin<34 \% t: ]6 `! o
    'error') R& g$ \1 H' d  j
    return
7 ?* o1 O2 m( `$ `) B" ^8 f/ vend
1 Q* m4 Q; f+ G# I) c- L* [
! |0 R) P) C( [3 m( h$ N%定义内部节点矩阵u0* x& G+ [4 R6 I# B
h=1;k=1;6 v8 K- k  `. H: o, L4 Z9 j) S
x=0:h:17;y=0:k:10;
' {: R4 U" A0 s# W$ s( n+ [e=length(x)-2;f=length(y)-2;
, ~  k* b, s2 M* R1 u6 B: Iu=zeros(e,f);
  x: Q+ q* l) `. `/ x( ]u0=u;
- ?* h; u" Y3 \: p/ C
  V) c0 U/ s2 O' x5 f6 d%定义外部节点p
! W1 s$ i2 c# c/ C7 N6 u; [% |p=zeros(e+2,e+2);0 Q* m3 m& U7 K9 z' F) f
p(1,1:f+2)=0;p(e+2,1:f+2)=0;      
/ s2 e; D& i7 S6 ?' t0 @- Y6 Lp(1:e+2,1)=100;p(1:e+2,f+2)=100;/ `1 G+ W2 P- ]+ z

! @0 b! B5 c1 q! b%定义系数矩阵A
7 c4 g  |5 Y* W7 [A=zeros(e*f,e*f);
8 T3 Z0 ~( j& ~' S& }. WB=mat2cell(A,ones(e*f/e,1)*e,ones(e*f/e,1)*e);5 L- l7 z0 F- g: h4 I+ L
d1=ones(e,1);d2=ones(e-1,1);
! y! A, u  C, DM=4*diag(d1)-diag(d2,1)-diag(d2,-1);
8 b7 Q, e  y1 o+ R6 a* RN=-eye(e);
  ]' h3 M4 w8 N  ~3 mB{1,1}=M;B{e,e}=M  C6 o/ P: Z9 x; h/ Q6 ]! P
for i=2:e-1
2 S6 U( i0 ~; V% u* _, I  Q+ ?    B{i,i}=M;B{i-1,i}=N;B{i+1,i}=N4 _4 M. l0 c, g5 p; B% E/ \
end& n7 Q- R. E( K* v/ N; Q- E
A=cell2mat(B);  ; y+ j8 ?8 q. w; `, y! x
这里总是显示2 D: r3 R$ a1 Z* v% o% j8 S
??? function J=jac(A,b,u0,eps)3 e3 \+ p0 ?' a4 l) |4 k5 }
    |' D, d" z) D" J
Error: Function definitions are not permitted at the prompt or in scripts.
# r" e) w, j* c4 M
9 C6 i8 p- Z( s: Z5 d+ Q
%定义b
5 x9 {6 T, @: ^( z9 l& pb=ones(e*f,1);
4 ]; u# b  k8 y& w5 f3 Cfor i=1:e
/ D8 K5 |4 g0 a* b4 L  T+ v+ _    for j=1:f
0 ?6 y! f+ k  X1 m# O) z        b(i+j)=p(i,j+1)+p(i+1,j)+p(i+2,j+1)+p(i+1,j+2)
6 T' G" s) d% N$ R. t7 j    end% f- v) i* p: s) z2 s
end& ]+ p: k# ^5 n( n( D/ v
%运用Jacobi迭代法计算* L6 y2 |; Z. }/ R
D=diag(diag(A));
/ x" j; d4 \) p- K7 D0 rD=inv(D);
6 x1 k( [1 F7 D! rL=tril(A,-1);( x* n8 B( I2 K$ Y
U=triu(A,1);. S8 ~. v" v! ?7 }. r
B=-D*(L+U);
( V: W8 i& K% p# f6 z2 yf=D*b;
* b, _0 r7 ]3 C8 T( R! JJ=B*u0+f;
$ E# ]) F! P8 a& ^4 _9 {while norm(J-u0)>=eps$ Z' i4 w" |# [! n
x0=J;" w& Y5 \. l" V& y4 E7 O* X
J=B*u0+f;( `0 k% ?. c6 c3 y/ Z
end
3 r# p  Y# S3 f8 Breturn
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
madio        

3万

主题

1312

听众

5万

积分

  • TA的每日心情
    奋斗
    2024-7-1 22:21
  • 签到天数: 2014 天

    [LV.Master]伴坛终老

    自我介绍
    数学中国站长

    社区QQ达人 邮箱绑定达人 优秀斑竹奖 发帖功臣 风雨历程奖 新人进步奖 最具活力勋章

    群组数学建模培训课堂1

    群组数学中国美赛辅助报名

    群组Matlab讨论组

    群组2013认证赛A题讨论群组

    群组2013认证赛C题讨论群组

    回复

    使用道具 举报

    BenCam 实名认证       

    9

    主题

    6

    听众

    89

    积分

    该用户从未签到

    自我介绍
    200 字节以内
    不支持自定义 Discuz! 代码
    回复

    使用道具 举报

    1

    主题

    2

    听众

    35

    积分

    升级  31.58%

    该用户从未签到

    自我介绍
    20100103重要的日子
    自己顶一下,拜托哪位高手指点一下,纠结这个矩阵的还原,想了好多方法还是不行~~实在想不出哪里出错了
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-10 17:01 , Processed in 0.442736 second(s), 73 queries .

    回顶部