找回密码
 注册
Simdroid-非首页
查看: 79|回复: 2

急,急,急。查阅了多种资料,不知道这段程序怎么改?

[复制链接]
发表于 2011-5-10 22:16:16 | 显示全部楼层 |阅读模式 来自 北京
digits(8)
c=[4.2;3.25;2.52;1.95;1.51];
aa=5.4;
bb=-0.3;
for i=1:10
    for j=1:5
        syms a b
        l(j,1)=a*exp(j*b);
        s=jacobian(l(j,1));
        z1=subs(s,'a',aa);
        z2=subs(z1,'b',bb);
        g(j,:)=vpa(z2);
    end
    g;
    for k=1:5
        a0=aa;
        b0=bb;
        la(k,1)=a0*exp(k*b0);
        e(k,1)=c(k,1)-la(k,1);
    end
    e;
    dx=(g'*g)^(-1)*g'*e;
    r=la'*la-2*la'*c;
    for k1=1:5
        ax=aa+0.5*dx(1,1);
        bx=bb+0.5*dx(2,1);
        lb(k1,1)=ax*exp(k1*bx);
    end
    rr=lb'*lb-2*lb'*c;
    for k2=1:5
        aax=aa+dx(1,1);
        bbx=bb+dx(2,1);
        lc(k2,1)=aax*exp(k2*bbx);
    end
    rrr=lc'*lc-2*lc'*c;
   f=0.5+0.25*(r-rrr)/(r-2*rr+rrr)
   a1=aa+f*dx(1,1);
   b1=bb+f*dx(2,1);
   for kk=1:5
       ld(kk,1)=a1*exp(kk*b1);
   end
   rrrr=ld'*ld-2*ld'*c
   aa=a1
   bb=b1
   rb=rrrr-r;
   
   tol=0.0001;
   if rb(1,1)<=tol
      break;
   end
end
disp(a1);
disp(b1);
运行后报错:??? Error using ==> sym.le at 11
Function 'le' is not implemented for MuPAD symbolic objects.
Error in ==> shili at 48
   if rb(1,1)<=tol
请问高手该怎么修改啊?非常谢谢!!!

评分

1

查看全部评分

发表于 2011-5-11 00:17:45 | 显示全部楼层 来自 英国
Simdroid开发平台
直接运行报错如下:

??? Error using ==> sym.sym>notimplemented at 2621
Function 'le' is not implemented for MuPAD symbolic objects.

Error in ==> sym.sym>sym.le at 834
            notimplemented('le');


先找问题:
因为出错的是'le',含义是less or equal,所以看有没有<=出现。
找到语句if rb(1,1)<=tol,那么可能引起问题的变量就是rb了。

>> class(rb)

ans =

sym

可以看出rb是符号变量。


因为对符号这个概念本身而言,比较所谓的大小是没有意义的,
所以暂时并没有定义关于符号对象的类似判断,
也就是'le' not implemented。


解决起来也很简单,把rb换成数值变量就行了。
比如说把rb=rrrr-r改成rb=double(rrrr-r)就可以。

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2011-5-11 12:48:02 | 显示全部楼层 来自 北京
多谢高手,按照你的方法解决了。太感谢了!!!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-4 19:34 , Processed in 0.036877 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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