【问题标题】:How to fix Matlab Solve Calculation Error/solver gives a variable back instead of a numerical answer?如何修复 Matlab 求解计算错误/求解器返回变量而不是数字答案?
【发布时间】:2019-03-09 19:42:52
【问题描述】:

我正在尝试解决 q。但是,在所附图像中出现了这个错误,我不知道如何修复它。代码运行平稳,方程中没有第五个 blob [k5*z5/(1+q*(k5-1))],它求解 q。但是当我将它添加到等式中时,您会得到错误...帮助....

z1 = 0.01188354;

z2 = 0.20291147;

z3 = 0.03386809;

z4 = 0.6087344;

z5 = 0.1426025;

k1 = 0.00211577;

k2 = 433.816504;

k3 = 0.00651267;

k4 = 12.8652437;

k5 = 3.25E-06;

syms q

eqn = k1*z1/(1+q*(k1-1)) + k2*z2/(1+q*(k2-1)) + k3*z3/(1+q*(k3-1) )) + k4*z4/(1+q*(k4-1))+ k5*z5/(1+q*(k5-1)) == 1;

qvalue = solve(eqn,q,'Real',true)

【问题讨论】:

  • 您的图片没有显示error,而是显示warning
  • 哦,但是我的 qvalue 应该吐出一个数字答案或至少五个不同的答案,因为它是 5 的根...但是,matlab 只是吐出 qvalue = x...

标签: matlab solver


【解决方案1】:

你和solve 有点搞混了。看起来你的方程没有真正的解决方案,你用'Real',true强制它应该是:

z1 = 0.01188354;
z2 = 0.20291147;
z3 = 0.03386809;
z4 = 0.6087344;
z5 = 0.1426025;
k1 = 0.00211577;
k2 = 433.816504;
k3 = 0.00651267;
k4 = 12.8652437;
k5 = 3.25E-06;

syms q
eqn = k1*z1/(1+q*(k1-1)) + k2*z2/(1+q*(k2-1)) + k3*z3/(1+q*(k3-1)) + k4*z4/(1+q*(k4-1))+ k5*z5/(1+q*(k5-1)) == 1;
qvalue = solve(eqn,q)

输出是:

root(z^5 - (553951988707451897271725042874967932463648393519489496501295701298760653356885564069*z^4)/146344515065711958525050250689493211538989295698771861545387136571113311336350613504 + (877647369043978904163970290106419962713606423192038983322127636310825879207936*z^3)/164487327751721471763565140886077743965784030575734255347857322244873703346919 - (3796080934806054258394941458065140559250786119491250988496078448019381612969984*z^2)/1151411294262050302344955986202544207760488214030139787435001255714115923428433 + (838076006172751803233223399262272123114675605549658858976242221943722830987264*z)/1151411294262050302344955986202544207760488214030139787435001255714115923428433 + 21452770321210561747759866301918995558818778263453224281332504760441104236544/1151411294262050302344955986202544207760488214030139787435001255714115923428433, z, 1)
root(z^5 - (553951988707451897271725042874967932463648393519489496501295701298760653356885564069*z^4)/146344515065711958525050250689493211538989295698771861545387136571113311336350613504 + (877647369043978904163970290106419962713606423192038983322127636310825879207936*z^3)/164487327751721471763565140886077743965784030575734255347857322244873703346919 - (3796080934806054258394941458065140559250786119491250988496078448019381612969984*z^2)/1151411294262050302344955986202544207760488214030139787435001255714115923428433 + (838076006172751803233223399262272123114675605549658858976242221943722830987264*z)/1151411294262050302344955986202544207760488214030139787435001255714115923428433 + 21452770321210561747759866301918995558818778263453224281332504760441104236544/1151411294262050302344955986202544207760488214030139787435001255714115923428433, z, 2)
root(z^5 - (553951988707451897271725042874967932463648393519489496501295701298760653356885564069*z^4)/146344515065711958525050250689493211538989295698771861545387136571113311336350613504 + (877647369043978904163970290106419962713606423192038983322127636310825879207936*z^3)/164487327751721471763565140886077743965784030575734255347857322244873703346919 - (3796080934806054258394941458065140559250786119491250988496078448019381612969984*z^2)/1151411294262050302344955986202544207760488214030139787435001255714115923428433 + (838076006172751803233223399262272123114675605549658858976242221943722830987264*z)/1151411294262050302344955986202544207760488214030139787435001255714115923428433 + 21452770321210561747759866301918995558818778263453224281332504760441104236544/1151411294262050302344955986202544207760488214030139787435001255714115923428433, z, 3)
root(z^5 - (553951988707451897271725042874967932463648393519489496501295701298760653356885564069*z^4)/146344515065711958525050250689493211538989295698771861545387136571113311336350613504 + (877647369043978904163970290106419962713606423192038983322127636310825879207936*z^3)/164487327751721471763565140886077743965784030575734255347857322244873703346919 - (3796080934806054258394941458065140559250786119491250988496078448019381612969984*z^2)/1151411294262050302344955986202544207760488214030139787435001255714115923428433 + (838076006172751803233223399262272123114675605549658858976242221943722830987264*z)/1151411294262050302344955986202544207760488214030139787435001255714115923428433 + 21452770321210561747759866301918995558818778263453224281332504760441104236544/1151411294262050302344955986202544207760488214030139787435001255714115923428433, z, 4)
root(z^5 - (553951988707451897271725042874967932463648393519489496501295701298760653356885564069*z^4)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多