24小时热门版块排行榜    

查看: 746  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

夜的宁静

金虫 (小有名气)

[求助] matlab牛顿迭代的问题,出现Matrix dimensions must agre的错误 已有1人参与

在用用牛顿迭代求2*log10(5.4*10^-4+2.51*10^-5/sqrt(x)) +1/sqrt(x)=0中的x 初值是0.03
function [x,fval]=newton()
clc;
syms x;
f=@(x)2*log10(5.4*10^-4+2.51*10^-5/sqrt(x))+1/sqrt(x);
df=@(x)diff(2*log10(5.4*10^-4+2.51*10^-5/sqrt(x))+1/sqrt(x));
t=1e-5;
x0=0.03;
x=x0+2*t;
k=0;
while abs(x-x0)>t
k=k+1;
x=x0;
x=x0-feval(f,x0)/feval(df,x0);%这句话有错,提示Matrix dimensions must agree.
end
if k==500
    disp('迭代次数过多,防止死循环终止');
else
    fprintf('迭代到%d次时得到结果%f\n',k,x)
end

matlab牛顿迭代的问题,出现Matrix dimensions must agre的错误
360反馈意见截图16570207506364.png
回复此楼

» 猜你喜欢

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

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

夜的宁静

金虫 (小有名气)

送红花一朵
引用回帖:
4楼: Originally posted by 材料廖 at 2015-05-19 15:56:37
试试这个看对不对
function x = newton()
clc
clear
syms x f df
f = 2*log10(5.4*10^-4+2.51*10^-5/sqrt(x)) +1/sqrt(x);
df = diff(2*log10(5.4*10^-4+2.51*10^-5/sqrt(x)) +1/sqrt(x));
t=1e-5;
x=0.03 ...

很完美,太感谢啦
Tomakeeverydayccount.
5楼2015-05-20 08:37:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

材料廖

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
1.你的x0没有更新
2.报的错,调试时候发现feval(df,x0)是空矩阵
2楼2015-05-18 11:45:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

夜的宁静

金虫 (小有名气)

引用回帖:
2楼: Originally posted by 材料廖 at 2015-05-18 11:45:01
1.你的x0没有更新
2.报的错,调试时候发现feval(df,x0)是空矩阵

还是不知道怎么改,我是初学,因为用到现学的,所以基础不怎么样。x0没有更新什么意思
之前的赋值可能有些错误,改成这样还是不行,麻烦再看一下,十分感谢function [x,fval]=newton()
clc;
syms x;
f=@(x)2*log10(5.4*10^-4+2.51*10^-5/sqrt(x)) +1/sqrt(x);
df=@(x)diff(2*log10(5.4*10^-4+2.51*10^-5/sqrt(x)) +1/sqrt(x));
t=1e-5;
x=0.03;
x0=x+2*t;
k=0;
while abs(x-x0)>t
k=k+1;
x0=x;
x=x0-feval(f,x0)/feval(df,x0);%这句话有错,但不知道错在哪里
end
if k==500
    disp('迭代次数过多,防止死循环终止');
else
    fprintf('迭代到%d次时得到结果%f\n',k,x)
end
Tomakeeverydayccount.
3楼2015-05-18 22:23:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

材料廖

木虫 (正式写手)

引用回帖:
3楼: Originally posted by 夜的宁静 at 2015-05-18 22:23:32
还是不知道怎么改,我是初学,因为用到现学的,所以基础不怎么样。x0没有更新什么意思
之前的赋值可能有些错误,改成这样还是不行,麻烦再看一下,十分感谢function =newton()
clc;
syms x;
f=@(x)2*log10(5.4 ...

试试这个看对不对
function x = newton()
clc
clear
syms x f df
f = 2*log10(5.4*10^-4+2.51*10^-5/sqrt(x)) +1/sqrt(x);
df = diff(2*log10(5.4*10^-4+2.51*10^-5/sqrt(x)) +1/sqrt(x));
t=1e-5;
x=0.03;
x0=x+2*t;
k=0;
while abs(x-x0)>t
    k=k+1;
    x0=x;
    x=x0-double(subs(f,x0)/subs(df,x0)); % feval(f,x0)./feval(df,x0);%这句话有错,但不知道错在哪里
end
if k==500
    disp('迭代次数过多,防止死循环终止');
else
    fprintf('迭代到%d次时得到结果%f\n',k,x)
end

» 本帖已获得的红花(最新10朵)

4楼2015-05-19 15:56:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 302求调剂 +3 锦衣卫藤椒 2026-03-25 3/150 2026-03-25 15:05 by Linda Hu
[考研] 359求调剂 +3 王了个楠 2026-03-25 3/150 2026-03-25 12:50 by Dyhoer
[考研] 271求调剂 +4 生如夏花… 2026-03-22 4/200 2026-03-25 11:25 by userper
[考研] 303求调剂 +3 蓝山月 2026-03-25 3/150 2026-03-25 10:04 by 雾散后相遇lc
[考研] 318求调剂 +5 plum李子 2026-03-21 8/400 2026-03-25 09:26 by aa331100
[考研] 085601求调剂总分293英一数二 +3 钢铁大炮 2026-03-24 3/150 2026-03-24 22:03 by bingxueer79
[考研] 一志愿北化315 求调剂 +3 akrrain 2026-03-24 3/150 2026-03-24 19:35 by 了了了了。。
[考研] 一志愿南航材料专317分求调剂 +5 炸呀炸呀炸薯条 2026-03-23 5/250 2026-03-24 16:52 by 星空星月
[考研] 307求调剂 +5 超级伊昂大王 2026-03-24 5/250 2026-03-24 15:46 by 星空星月
[考研] 277分求调剂,跨调材料 +3 考研调剂lxh 2026-03-24 3/150 2026-03-24 13:52 by JourneyLucky
[考研] 085404电子信息284分求调剂 +4 13659058978 2026-03-24 4/200 2026-03-24 12:15 by syl20081243
[考研] 279分求调剂 一志愿211 +18 chaojifeixia 2026-03-19 20/1000 2026-03-24 10:34 by dolphin_ycj
[考研] 化学308分求调剂 +3 你好明天你好 2026-03-23 3/150 2026-03-23 20:11 by macy2011
[考研] 317求调剂 +12 申子申申 2026-03-19 18/900 2026-03-22 22:23 by luoyongfeng
[考研] 石河子大学(211、双一流)硕博研究生长期招生公告 +3 李子目 2026-03-22 3/150 2026-03-22 21:01 by 怎么释怀
[考研] 306求调剂 +5 来好运来来来 2026-03-22 5/250 2026-03-22 16:17 by BruceLiu320
[考研] 303求调剂 +5 安忆灵 2026-03-22 6/300 2026-03-22 12:46 by 素颜倾城1988
[考研] 初试 317 +7 半拉月丙 2026-03-20 7/350 2026-03-21 22:26 by peike
[考研] 一志愿东华大学控制学硕320求调剂 +3 Grand777 2026-03-21 3/150 2026-03-21 19:23 by 简之-
[考研] 求助 +5 梦里的无言 2026-03-21 6/300 2026-03-21 17:51 by 学员8dgXkO
信息提示
请填处理意见