EDA365电子论坛网

标题: 无法从 sym 转换为 logical怎么办? [打印本页]

作者: tuoni    时间: 2020-5-7 11:19
标题: 无法从 sym 转换为 logical怎么办?
" ?: a/ U2 _: x8 s* v
运行报错信息如下:. ~2 ?3 y- p" A) |. G: h$ O

. V2 u" C; n- I" Q9 J无法从 sym 转换为 logical。
8 R9 H# a" x4 f* s4 Y. g# I6 J+ U9 l
; _: r+ W; l& _. P) ^( w) k+ @出错 M (line 65)
( ^& s( a/ b( q) ^+ `  v: D5 q    while differ>eps
/ M; N) ^1 \3 f
6 M& o2 C4 d  d* U, @1 |% e, s3 v) P# k& }0 H( z; e
代码如下:- z( M& h8 O8 u
clc
: c, z1 y% @" T7 Dclear& }% z$ w1 g: z& e$ T
%Newton iteration-Multi Points% n7 q* `& E" Y  [3 k; I4 I
( _' n# J4 c2 T! {
  Y" p1 J8 j, d& Y
syms x1 x2 x3 x4 x5 x6 sum_n n_NaF n_AlF3;# e  S$ O0 ^  p2 Y$ B& U: `8 X
syms RR;/ F  e% _9 S: c6 P' C  d  C
syms N# @8 `, I" D9 e3 ?
RR=ones(1,7)/10e11;
' U" l' {$ _9 Y
7 ]7 |3 ]- i# W& F, z- V6 ^/ r& u) F

5 t* A2 {8 E; \7 \  u2 R" J2 _1 ^
" T- M; i4 f* \0 n8 s; E( ~& j; X/ f

/ b# T. s+ u: Z: }- z: B$ w%****************4 t, z- D: L5 r* j2 i. K
T=['n_AlF3  ','x1  ', 'x2  ', 'x3  ', 'x4  ', 'x5  ', 'x6  ','n_sum  '];        %, a' ~; M& K5 [, q  [
disp(T);. }# W* S" J# W0 D+ a. s

4 Q2 B; ?& j5 q3 s+ P; u- }

; ]2 U9 _+ x' I% pN=0;
/ z: |) S( `. R' {for n_AlF3=0.01:0.01:0.5;                %%
* k- H* u# C0 `7 i9 V9 k+ l    , z& ], _7 Z/ z7 v2 a$ f
    disp(n_AlF3);
, C6 W/ d& a( f7 D% T% x$ ]' @- m    disp('--------');0 ^; |7 t4 g. R! q* ^4 c- \5 k% d
   
  R4 a  Y( H6 Z* r2 R    if N==0
7 p! P( l* h% I8 o5 z2 }1 H& x        s1=1-3*n_AlF3;8 b0 z5 l* H2 a/ x# ^9 Q$ G
        s2=0;  `6 O, {" V0 i" W
        s3=0;' t0 {' W2 K$ L
        s4=n_AlF3/3;; D$ ]- X5 u' J. t1 {
        s5=0;& R0 d, y" }/ Q
        s6=1-n_AlF3;
& e: d, u) c: r$ s4 w        s7=0;
! N- f" `$ f/ Y9 |    elseif N>03 T; U' i, G1 P) d7 v1 a- _  a: y8 Y
        s1=RR(1);
1 ~" k, ~. j5 P) ~+ S& I9 D4 u        s2=RR(2);
' `2 K4 d: h" q+ y        s3=RR(3);
' g4 ?" m4 J! y/ ^7 O0 L3 @* c" ~7 P        s4=RR(4);
8 \  U. R% T9 H* \0 ^. _) {        s5=RR(5);5 F; Y9 G5 @9 P/ g6 i, H+ G% F
        s6=RR(6);
( J, }0 z3 G4 x* c7 O# F: H        s7=RR(7);) r- ~" N5 s* U' t5 x
    end
4 F* P/ K# I0 N, g   
% X) o* ]2 U! k$ t7 n1 ?    eps=1.0e-6;, \/ x  u, `: j+ i& C% P7 u
    differ=1;
  s6 S2 f5 u% C9 @, G    n=1;+ l( U$ B4 s( @$ p
    : Z/ D5 z  z. r% O2 J& S- e
    f1=x1*x3-0.2471*sum_n*x2; %0.247146 改为0.24714 u  N/ L" y3 e8 @+ U& `
    f2=x1*x4-0.1352*sum_n*x3;%0.135198 改为0.1352
; y2 j1 j2 j+ ^6 L: S! F* c    f3=x1*x5-0.0003*x4^2; %0.000299 改为0.00034 x3 C$ k1 p# {. `8 o0 M, i
    f4=x1+6*x2+5*x3+4*x4+7*x5+14*x6-( n_NaF+3*n_AlF3);2 [( G. n( d( J: U
    f5=x2+x3+x4+2*x5+3*x6-n_AlF3;
' L" _( N3 T- B8 ^6 H    f6=x1+x2+x3+x4+x5+x6-sum_n;# a3 L- s$ T( c+ s" B" V
    f7=x4^2*x2-0.0000008*x6*sum_n^2;
$ j( ]9 q5 y9 M1 H& h8 M0 V    F=[f1 f2 f3 f4 f5 f6 f7];5 z( W/ c) E3 ]! L
    + I) H  ~' a& |+ i
    dF=transpose([diff(F,'x1');diff(F,'x2') ;diff(F,'x3');diff(F,'x4');diff(F,'x5'); diff(F,'sum_n'); diff(F,'x6')]);) Q* x6 a; _1 n5 F4 S: o. Y
   
: N" P$ m+ ~" z    x0 = [s1,s2,s3,s4,s5,s6,s7];4 W) b; q+ w. [# O% X/ C! t
   
$ V2 e; `8 A7 g% W- }7 q    Fx = subs(F,[x1 x2 x3 x4 x5 sum_n x6],x0);
/ |( N( N! m8 K5 n% Y: l  ?    dFx = subs(dF, [x1 x2 x3 x4 x5 sum_n x6],x0);3 ]! R: R8 l0 t
    %disp('*******************');  Z) F" \# O2 ]) V( G
    %disp(vpa(Fx));
" G7 l- S' {6 R3 v* R1 p    %disp(vpa(dFx));
3 d9 Q. W3 {' e: b. e+ y7 D0 t  R   
& d5 P$ y2 U/ p# [! w: L    r= transpose(x0)- inv(dFx)*transpose(Fx);
9 n( ]. U3 t3 S5 c! l2 t6 w$ G    %disp(vpa(r));% a' C" J" U7 N/ N) M. l
   
$ L1 s* n/ ~& I; P3 [0 {+ P5 y) |    while differ>eps6 N2 A. z" B' d( M0 ^# w) a- x
        %disp('*******************');5 Q/ U# p+ W# \! m* m4 v1 w
        Fx = subs(F, [x1 x2 x3 x4 x5 sum_n x6], transpose(r));
$ J- h. `! y+ `/ l5 j7 |! N6 f9 \        dFx = subs(dF, [x1 x2 x3 x4 x5 sum_n x6], transpose(r));
$ V3 ~" A( E  |  g- V+ p$ c. N/ K        %disp(vpa(Fx));* a$ ^  a2 B, q, N, S
        %disp(vpa(dFx));
* ]1 l* B' G1 o& j- p5 `        1 K  Q7 Q  d; X( H
        differ=norm( inv(dFx)*transpose(Fx));
# K, l  e# v3 @0 F5 D        
4 e' v. h: |3 P4 X        r=r-inv(dFx)*transpose(Fx);# Y, f. [( `& T: Q; r( I, T! P
        
8 u! w; x8 w  G1 s        %disp(vpa(r));$ _3 g/ @' q% x$ n  x0 V3 }
        ) H) G7 T( g" U% O- n! E7 o
        n =n+1;+ E" Z  z* |/ h* [% g
        if(n>100);3 G' B2 [$ H# n5 G
            disp('iteration exceed! Not converged!');* |: J% @1 L& K! ?+ {6 r2 d) ]' N
            return;, E6 C, }, O! C% x0 p) ]; U6 x$ k
        end;" N# x8 P% t1 P- z* p. z
    end;
* S! d7 c* D  T. L8 g2 e, _! n    # x5 c& K( z( l& o! }
    %r=[n_AlF3,r];
  m4 }; [0 T8 I# P" C5 D    RR=vpa(transpose(r));
' Y( _$ q6 x7 \9 l    disp(RR);6 s) w3 x/ x& D1 J) r4 c( Z: a
    N=N+1;2 ~3 n3 t% T" L1 D
end; 9 q! W3 d( p  m9 `+ p  Z

6 C, k- {8 M- G; ?$ s
& l9 O( E  @; _% Z- B2 \! |- x. J

作者: shelby    时间: 2020-5-7 13:50
这个没有见过。
作者: tuoni    时间: 2020-5-7 15:27
已解决。
作者: aplerll    时间: 2020-5-8 17:37
楼主怎么解决的能不能分享一下啊。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2