24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1024  |  回复: 4

06101403

金虫 (小有名气)

[求助] matlab程序求助指教

各位虫友大家好,有一道数学题目,刚才写程序,运行出现错误,请指导,谢谢。
A=hilb(6);            
b=sum(A,2);            
[x,n]=jacobi(A,b,[0,0,0]',1.0e-6)

运算出现错误,??? Error using ==> mtimes
Inner matrix dimensions must agree.
Error in ==> jacobi at 13
y=B*x0+f;
请问这里怎样修改,
其中 jacobi 函数程序按照教材抄写的,如下:
function[y,n]=jacobi(A,b,x0,eps)
if nargin==3
    eps=1.0e-6;
elseif nargin<3
    error
    return
end
D=diag(diag(A));  %求A的对角矩阵
L=-tril(A,-1);    %求A的下三角阵
U=-triu(A,1);     %求A的上三角阵
B=D\(L+U);
f=D\b;
y=B*x0+f;
n=1;
while norm(y-x0)>=eps
    x0=y;
    y=B*x0+f;
    n=n+1;
end
请指教,谢谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dota

木虫 (著名写手)

x0 初值的个数不对,需要6个,你只提供3个。
2楼2013-10-23 06:00:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

06101403

金虫 (小有名气)

引用回帖:
2楼: Originally posted by dota at 2013-10-23 06:00:16
x0 初值的个数不对,需要6个,你只提供3个。

谢谢您的回答....
是需要修改成:
if nargin==6
    eps=1.0e-6;
elseif nargin<6
这样吗?
不过这样运行好像也不行,请指教 谢谢啦!
3楼2013-10-23 12:15:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dota

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
06101403: 金币+10, ★★★很有帮助, 帮忙解答 2013-10-23 17:37:15
引用回帖:
3楼: Originally posted by 06101403 at 2013-10-23 12:15:25
谢谢您的回答....
是需要修改成:
if nargin==6
    eps=1.0e-6;
elseif nargin<6
这样吗?
不过这样运行好像也不行,请指教 谢谢啦!...

真地没开巧!调用函数的初值,多加三个, 如 [0,0,0,0,0,0]

[ 发自手机版 http://muchong.com/3g ]
4楼2013-10-23 13:09:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

06101403

金虫 (小有名气)

引用回帖:
4楼: Originally posted by dota at 2013-10-23 13:09:27
真地没开巧!调用函数的初值,多加三个, 如
...

这次 明白了,谢谢您指点!
5楼2013-10-23 17:39:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 06101403 的主题更新
信息提示
请填处理意见