您的位置首页百科问答

MATLAB中norm函数

MATLAB中norm函数

的有关信息介绍如下:

MATLAB中norm函数

帮你修改好了:

clc;clear

f='4*(m-5)^2+(n-6)^2';

x0=[1;1];

m=x0(1,1);n=x0(2,1);

fx=diff(f,'m');%对x求偏导数

fy=diff(f,'n');%对y求偏导数

g=[fx;fy];%梯度

g0=subs(g);%把符号变量转为数值

d0=(-g0);

for k=0:10

syms a ww

x1=x0+a*d0;

m=x1(1,1);n=x1(2,1);

a=solve(diff(subs(f)),'a');

x1=subs(x1);

m=x1(1,1);n=x1(2,1);

g1=subs(g);

c=g0(1,1)^2+g0(2,1)^2;

d=g1(1,1)^2+g1(2,1)^2;%这个用NORM求解就不行,为什么,怎么改

norm(eval(d))

b=d/c;

if subs(d)<0.0001

k%输出叠代次数

break;

else

d1=-g1+b*d0;

x0=x1;d0=d1;

clear a;

end

end

x1%最小点坐标

min=4*(m-5)^2+(n-6)^2

这是运行结果:

ans =

58.8353

ans =

k =

1

x1 =

5

6

min =

>>

求范数用的就是norm,说详细一点才好帮你

把你的程序贴出来,我来帮你解决。