pingpang 发表于 2007-10-12 20:43

形如 f(x)=(x1-x2)^2+(x2-x3)^2+......+(x200-x201)^2 的函数如何表示

我刚自学matlab,遇到以下问题:
f(x)=(x1-x2)^2+(x2-x3)^2+......+(x200-x201)^2这种函数怎么在matlab中写出来!
请高人指教!:'(

[ 本帖最后由 eight 于 2007-10-12 23:08 编辑 ]

lxq 发表于 2007-10-12 20:55

看上去怎么有点像正定矩阵的多项式展开

好像这样x*A*x'=x1^2+x2^2+...+xn^2

pingpang 发表于 2007-10-13 09:24

那如果是这样的式子呢:f(x)=1/((x1-x2)^2+(y1-y2)^2)+1/((x2-x3)^2+(y2-y3)^2)+......+1/((x200-x201)^2+(y200-y201)^2)

ling0 发表于 2007-10-13 18:08

原帖由 pingpang 于 2007-10-13 09:24 发表 http://www.chinavib.com/forum/images/common/back.gif
那如果是这样的式子呢:f(x)=1/((x1-x2)^2+(y1-y2)^2)+1/((x2-x3)^2+(y2-y3)^2)+......+1/((x200-x201)^2+(y200-y201)^2) n=201;%定义变量个数
x=sym(ones(1,n));y=sym(ones(1,n));%给符号变量矩阵x,y赋初值
for ii=1:n
    x(ii)=['x' num2str(ii)];%定义符号变量的形式为x1,...,xn
end
for ii=1:n
    y(ii)=['y' num2str(ii)];%定义符号变量的形式为y1,...,yn
end
fx=1/(x(1)-x(2))^2+1/(y(1)-y(2))^2;%给符号变量fx赋初值
%利用循环表示出f(x)=1/((x1-x2)^2+(y1-y2)^2)+1/((x2-x3)^2+(y2-y3)^2)+......+1/((x200-x201)^2+(y200-y201)^2)
for ii=2:200
    fx=fx+1/(x(ii)-x(ii+1))^2+1/(y(ii)-y(ii+1))^2;
end
参看我昨天发的帖子:http://www.chinavib.com/forum/thread-53077-1-1.html

[ 本帖最后由 ling0 于 2007-10-13 18:09 编辑 ]

pingpang 发表于 2007-10-14 17:14

我已经写出来了,和楼上的差不多。
谢谢大家的帮助!

ling0 发表于 2007-10-14 22:02

回复 #5 pingpang 的帖子

最好能把你写的结果帖上来和大家分享:@)

pingpang 发表于 2007-10-15 10:26

我的编完这个样子的。
n=108;            %定义变量个数
x=sym(ones(1,n));   %给符号变量矩阵x,y,z,f赋初值
y=sym(ones(1,n));
z=sym(ones(1,n));
f=sym(ones(1,n));
for ii=1:n;
    x(ii)=['x' num2str(ii)];
    y(ii)=['y' num2str(ii)];)];   %定义符号变量的形式
    z(ii)=['z' num2str(ii)];
end
for kk=1:107;
         f(kk)=1/((x(kk)-x(kk+1)).^2+(y(kk)-y(kk+1)).^2+ (z(kk)-z(kk+1)).^2)^12-1/((x(kk)-x(kk+1)).^2+(y(kk)-y(kk+1)).^2+ (z(kk)-z(kk+1)).^2)^6;
end
fxyz=sum(f);
我现在不知道继续该怎么办了,因为一开始我是要用steepest descent方法,在给定初值的情况下求这个函数的局部极小值(现在是符号形式),感觉是满头雾水,请高人指点一下,我是不是走错方向了?

ling0 发表于 2007-10-23 11:50

利用subs,符号形式都可以用来计算数值解。
举个简单的例子:

syms x y z
fx=x^2+1/y+sin(z);
fx_value=subs(fx,{x,y,z},{1,2,3});

上面的代码求的是x^2+1/y+sin(z)在x=1,y=2,z=3的函数值。
你上面得到了fxyz的符号形式,如果知道了x,y,z的值,就可以求fxyz的值

花如月 发表于 2007-10-23 13:09

回复 #7 pingpang 的帖子

要相信自己,思路不错方向一般也不会错。只是走没走弯路的问题
页: [1]
查看完整版本: 形如 f(x)=(x1-x2)^2+(x2-x3)^2+......+(x200-x201)^2 的函数如何表示