syms を使用していくつかの方程式を解く必要があります。それを解決すると、以下のようにエラーが表示されます
Error in syms (line 201)
toDefine = sym(zeros(1, 0));
Error in Speciation(line 1)
syms a b c d
私が抱えているもう1つの疑問は、ループに適用しようとしていたx1、x2、x3、およびT(ベクトル)の複数の値でこのコードを実行する必要があることですが、ベクトルを生成する方法がわかりませんsyms を正確に使用するシンボルと、コード内のステートメント (Sa(Sa<0)=[] など) がコード内でどのように変化するか。もしよろしければ、助けてください
syms a b c d
x1= 0.5096;
x2= 0.0963;
x3 = 0.3941;
T= 394.15;
K1=exp((-228.838)+((12587.48)/T)+(40.68593*(log(T)))+(-0.09838*(T)))
K2=exp((-2.326+(-1233.57/T)))
K4=exp((-936.28)+((40216.27)/T)+(151.983*(log(T)))+(-0.1675*(T)))
K5=exp((1044.78)+(-45171.42/T)+(-165.20*log(T)+(0.1511*(T))))
S=solve(((b*3*b)/((a-b)*(x3)))==K5,(a*(a-b))/(((x1-d-a))*(x2-d-2*c))==K4,(d*d)/((x1-d-a)*(x2-d-
2*c))==K2,(c*c)/((x2-d-2*c))==K1)
S.a=double(S.a);
S.b=double(S.b);
S.c=double(S.c);
S.d=double(S.d);
S.a(S.a<0)=[];
S.b(S.b<0)=[];
S.c(S.c<0)=[];
S.d(S.d<0)=[];
m = min(S.a)
n=min(S.b)
o=min(S.c)
p=min(S.d)