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 D
clear
& }% 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% p
N=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>0
3 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.2471
4 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.0003
4 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>eps
6 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;
1.png
(193.74 KB, 下载次数: 9)
下载附件
保存到相册
2020-5-7 11:18 上传
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