查看: 172|回复: 2|关注: 0

[已解决] matlab求解复杂方程组

[复制链接]

新手

12 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
>> syms x y z a b c d h
eq1= 1/3*1/[((1/6)[(x - y)^2 + (y - z)^2 + (x - z)^2])^1.5 + c (((2 x - y - z)*(2 y - x - z)*(2 z - x - y))/27)]^(2/3)*[1.5*Sqrt[(1/6)[(x - y)^2 + (y - z)^2 + (x - z)^2]]*(2 x - y - z)/3 +c*(4 y*z - 2 x*z - 2 x*y + 2*x^2 - y^2 - z^2)/9]-a/h;
eq2= 1/3*1/[((1/6)[(x - y)^2 + (y - z)^2 + (x - z)^2])^1.5 +c (((2 x - y - z)*(2 y - x - z)*(2 z - x - y))/27)]^(2/3)*[1.5*Sqrt[(1/6)[(x - y)^2 + (y - z)^2 + (x - z)^2]]*(2 y - x - z)/3 +c*(4 x*z - 2 y*z - 2 x*y + 2*y^2 - x^2 - z^2)/9]-b/h;
eq3= 1/3*1/[((1/6)[(x - y)^2 + (y - z)^2 + (x - z)^2])^1.5 + c (((2 x - y - z)*(2 y - x - z)*(2 z - x - y))/27)]^(2/3)*[1.5*Sqrt[(1/6)[(x - y)^2 + (y - z)^2 + (x - z)^2]]*(2 z - y - x)/3 + c*(4 y*x - 2 x*z - 2 z*y + 2*z^2 - y^2 - x^2)/9]-d/h;
[x,y,z]=solve(eq1,eq2,eq3,a,b,c,d,h)
各位大神 是因为我输入的方程括号太多吗,这个解不出来,用牛顿迭代能解吗

回复主题 已获打赏: 0 积分

举报

论坛优秀回答者

5

主题

2605

帖子

800

最佳答案
  • 关注者: 219
发表于 2020-11-18 22:32:05 | 显示全部楼层 |此回复为最佳答案
你这些式子怕不是直接从mathematica之类软件里面粘贴过来的吧,也忒偷懒了吧?

连着犯至少四个语法错误:

很多乘号都被省略了(MATLAB不允许省略乘号)、sqrt被写成Sqrt、还有计算式中括号一律用圆括号却很多被写成方括号、solve函数调用格式不对(正确的应当是[ x, y, z ] = solve( [ eq1, eq2, eq3 ], [ x, y, z ] ))

另外方程过于复杂(幂次复杂),只能代入具体数值后用vpasolve之类函数求数值解,符号解是不要指望的

a b c d h全代入具体数值
  1. eq1 = 1/3*1/( ((1/6)*( (x - y)^2 + (y - z)^2 + (x - z)^2 ))^1.5 + c * (((2 * x - y - z)*(2 * y - x - z)*(2 * z - x - y))/27) )^(2/3)*( 1.5*sqrt( (1/6)*( (x - y)^2 + (y - z)^2 + (x - z)^2 ) )*(2 * x - y - z)/3 + c*(4 * y * z - 2 * x * z - 2 * x * y + 2 * x^2 - y^2 - z^2)/9 )-a/h;
  2. eq2 = 1/3*1/( ((1/6)*( (x - y)^2 + (y - z)^2 + (x - z)^2 ))^1.5 + c * (((2 * x - y - z)*(2 * y - x - z)*(2 * z - x - y))/27) )^(2/3)*( 1.5*sqrt( (1/6)*( (x - y)^2 + (y - z)^2 + (x - z)^2 ) )*(2 * y - x - z)/3 + c*(4 * x * z - 2 * y * z - 2 * x * y + 2 * y^2 - x^2 - z^2)/9 )-b/h;
  3. eq3 = 1/3*1/( ((1/6)*( (x - y)^2 + (y - z)^2 + (x - z)^2 ))^1.5 + c * (((2 * x - y - z)*(2 * y - x - z)*(2 * z - x - y))/27) )^(2/3)*( 1.5*sqrt( (1/6)*( (x - y)^2 + (y - z)^2 + (x - z)^2 ) )*(2 * z - y - x)/3 + c*(4 * y * x - 2 * x * z - 2 * z * y + 2 * z^2 - y^2 - x^2)/9 )-d/h;
复制代码

是可以用vpasolve求数值解的
提问请:①准确描述问题②提出你的思考(等着抄作业的一律锁帖)③提供代码文本而非截图④及时反馈
回复此楼 已获打赏: 0 积分

举报

新手

12 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
 楼主| 发表于 2020-11-19 08:57:40 | 显示全部楼层
TouAkira 发表于 2020-11-18 22:32
你这些式子怕不是直接从mathematica之类软件里面粘贴过来的吧,也忒偷懒了吧?

连着犯至少四个语法错误:

多谢大神 我也是第一次用matlab解方程 好多规矩不知道 见笑啦
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /5 下一条

快速回复 返回顶部 返回列表