找回密码
 注册
关于网站域名变更的通知
查看: 462|回复: 4
打印 上一主题 下一主题

我自定义函数[x,k,err]=Jacobi(A,b,n)后怎么才能输出k和err?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-7-7 10:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
function [x,k,err]=Jacobi(A,b,n)! @  C# ~5 }* s! k0 n
%Input A:系数矩阵
  d1 s* t8 r$ S2 u%Input b:右端向量
7 w0 [( o( D- Y$ Y%Input n:系数矩阵的阶数0 Q- T4 D. x) N4 x! T+ F
%Input epsilon:计算精度1 j0 g( Z: w$ b4 _' h2 n4 ?* J4 a5 C
%Input K:最大迭代次数
& F. c3 ]- n0 f- o5 m%Input x0:初始向量
5 }; C* K/ F# q/ Y" G/ b%Output x:迭代近似解, I9 ^5 h1 j1 l4 ]( S" k2 q  l  j- i) P
epsilon=1e-6;
4 x" s+ [8 x1 h% y6 S  DK=5000;2 s/ f% z9 v; Y- x: N  M- Z! I( B
x0=rand(n,1);: F! o) ^0 L8 J7 U, d0 L' {8 M
k=1;
+ R: G6 z( e$ z1 W) y9 L- px=x0;7 ^/ K$ a7 s0 o
while k<K9 @0 c5 {2 ]9 O) N! ?
    for i=1:n* K& i: r9 U, D4 u
        s=b(i);
" F0 ^/ b8 e, D% U$ e9 c        for j=1:n1 Q* m/ O% \1 I% K  i
            s=s-A(i,j)*x(j);
- y0 U$ e9 I! q# a, c4 w% s        end5 g8 T1 {0 D: Z- D$ H
        s=(s+A(i,i)*x(i))/A(i,i);
3 c" H6 K/ B! A: t. h: I        x(i)=s;
5 R5 M7 `/ q+ `    end5 s, ]8 q2 @- ]  h3 h: Z, b
    if norm(x-x0,inf)<epsilon
% ]: d6 u" x4 n        err=norm(x-x0,inf);  2 p7 Z2 T# I: h; O3 b' o# G
        break;
# O0 h5 h5 f- ?: a* E    end
8 _: z! j# _- d1 v& P; ?3 N( T    k=k+1;8 y; F8 w$ x5 @1 Q0 F# ^! F
end; A/ `. |+ `- S2 l, N0 a
end# ~3 _, ]6 s0 P8 b9 B

0 j6 R1 S4 H9 F- Y/ s  f
( l! `/ F3 V* H0 U1 O$ P+ x. B# }  C8 |+ ^

( ]& b) k+ s) X- e' f, p$ L
) A" n  @7 c$ i4 ]9 Q- I" T* R; }1 f在命令窗口输入 Jacobi([10,5,0,0;5,10,-4,0;0,-4,8,-1;0,0,-1,5],[6;25;-11;-11],4)后
; g1 Q9 L+ E& s% u7 J; A. a/ N: s$ K只得到了x的值,怎么输出k和err?
# c/ L8 @& O& j5 Z
: s1 N5 b) F& P6 e. E: H: W

该用户从未签到

5#
发表于 2020-7-10 10:37 | 只看该作者
来学习一下

该用户从未签到

4#
发表于 2020-7-9 10:42 | 只看该作者
Uifhjvv 发表于 2020-7-8 13:434 t' z5 U8 J6 M5 K1 ^; a8 U% y
像k = 5000这样的等式可以写在函数参数里吗
/ e2 ^5 r& q- I! t5 l3 G! H% s& R
应该可以吧$ J1 Y* g8 d* Y

该用户从未签到

3#
发表于 2020-7-8 13:43 | 只看该作者
像k = 5000这样的等式可以写在函数参数里吗

点评

应该可以吧  详情 回复 发表于 2020-7-9 10:42

该用户从未签到

2#
发表于 2020-7-7 10:25 | 只看该作者
需要按方括号的格式调用后面的输出# u/ [  L3 R* E1 X# n* b7 t
[x,k,err]=Jacobi([10,5,0,0;5,10,-4,0;0,-4,8,-1;0,0,-1,5],[6;25;-11;-11],4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 15:53 , Processed in 0.171875 second(s), 25 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表