matlab解方程出现Empty sym: 0-by-1?

代码如图,共5个等式,其中未符号定义的字符为之前定义的变量。

matlab解方程出现Empty sym: 0-by-1?这个答案说明,该方程本身无解,或者该方程过于复杂。

处理建议:1、检查除未注变量外的已知变量是否已知代入eq1,eq2,eq3,eq4,eq5中;2、然后用vpasolve函数替代solve函数

v_MT_Estimate=vpasolve(eq1,eq2,eq3,eq4,eq5)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-03-21

syms E T

y=exp(-E/(0.008314*T));

S=2*int(y,T,323.15,375.65)-int(y,T,323.15,387.817);

solve(S,E)

举例:

syms x

h=[];

y=x+h

结果是:

y =

【empty sym 】

因为这个结果[empty syms]是唯一正确的结果。

计算这里不是x,是个数:1+[]结果还是[]。

因为你的h是空,原则上就是x加上h中的元素,而h中没元素,所以结果也是空。

由于x是符号变了,就显示为[empty syms]。

扩展资料:

新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。

使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

参考资料来源:百度百科-MATLAB

第2个回答  2022-03-21
可以用vpasolve求解。实现代码:

for lambda=1:0.1:2
syms x
qr=1.449*lambda.*(1-0.1416*lambda.^2).^3.0303;
lambda1=vpasolve(1.57744*x*(1-0.1667*x.^2).^2.5==qr)
end
运行结果

matlab解方程组lnx表示成log(x)而lgx表示成log10(x)1-exp(((log(y))/x^0.5)/(x-1))1、解方程最近有多人问如何用matlab解方程组的问题,其实在matlab中解方程组还是很方便的,例如,对于代数方程组Ax=b(A为系数矩阵,非奇异)的求解,MATLAB中有两种方法:(1)x=inv(A)*b—采用求逆运算解方程组; (2)x=A\B—采用左除运算解方程组PS:使用左除的运算效率要比求逆矩阵的效率高很多~例:x1+2x2=82x1+3x2=13>>A=[1,2;2,3];b=[8;13];>>x=inv(A)*bx=2.003.00 >>x=A\Bx=2.003.00;即二元一次方程组的解x1和x2分别是2和3。对于同学问到的用matlab解多次的方程组,有符号解法,方法是:先解出符号解,然后用vpa(F,n)求出n位有效数字的数值解.具体步骤如下:第一步:定义变量symsxyz...;第二步:求解[x,y,z,...]=solve('eqn1','eqn2',...,'eqnN','var1','var2',...'varN');第三步:求出n位有效数字的数值解x=vpa(x,n);y=vpa(y,n);z=vpa(z,n);...。如:解二(多)元二(高)次方程组:x^2+3*y+1=0y^2+4*x+1=0解法如下:>>symsxy;>>[x,y]=solve('x^2+3*y+1=0','y^2+4*x+1=0');>>x=vpa(x,4);>>y=vpa(y,4);结果是:x=1.635+3.029*i1.635-3.029*i-.283-2.987y=1.834-3.301*i1.834+3.301*i-.3600-3.307。二元二次方程组,共4个实数根;还有的同学问,如何用matlab解高次方程组(非符号方程组)?举个例子好吗?解答如下:基本方法是:solve(s1,s2,…,sn,v1,v2,…,vn),即求表达式s1,s2,…,sn组
第3个回答  2022-03-21
为何题主的多元非齐次方程的结果总是Empty sym: 0-by-1?由于方程有多组解,所以一般建议先用solve方程解算器,求解格式

S=solve(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14);

S为解的结构体

则方程的解可以这样表示

a3 = vpa(S.a3)

a4 = vpa(S.a4)

theta1 = vpa(S.theta1)

theta2 = vpa(S.theta2)

xcf= vpa(S.xcf)

xdf= vpa(S.xdf)

ycf= vpa(S.ycf)

ydf= vpa(S.ydf)

yuxian1= vpa(S.yuxian1)

yuxian2= vpa(S.yuxian2)

zcf= vpa(S.zcf)

zdf= vpa(S.zdf)

zhengxian1= vpa(S.zhengxian1)

zhengxian2= vpa(S.zhengxian2)

这里,vpa()函数是将解的结果数值化

按上述修改后运行得到如下结果。具体结果题主可以自行分析(复数解)。
第4个回答  2022-03-21
可以用vpasolve求解。实现代码:

for lambda=1:0.1:2
syms x
qr=1.449*lambda.*(1-0.1416*lambda.^2).^3.0303;
lambda1=vpasolve(1.57744*x*(1-0.1667*x.^2).^2.5==qr)
end
运行结果
相似回答