【发布时间】:2017-02-25 17:27:01
【问题描述】:
我需要使用 Matlab 解算术图。为此,我提出了一个由 6 个非线性方程组和 9 个变量组成的系统,使系统具有无限解。
当使用 solve () 函数时,我得到的唯一结果(因为我只得到一个解决方案)有理数,而它们都应该是整数。事实上,我已经验证并且有一个整数的解决方案,但我无法弄清楚如何使用该函数获得该解决方案。
当我尝试将 solve () 与整数变量 (syms x integer) 一起使用时,希望强制程序找到我正在寻找的解决方案,Matlab 无法完全找到系统的解决方案。
这是我使用的代码:
syms a b c d e f g h i integer;
ecuacion = solve(a*b*c==vertical(1),d*e*f==vertical(2),g*h*i==vertical(3),a*d*g==horizontal(1),b*e*h==horizontal(2),c*f*i==horizontal(3),a,b,c,d,e,f,g,h,i);
solucion = eval([ecuacion.a ecuacion.b ecuacion.c;ecuacion.d ecuacion.e ecuacion.f;ecuacion.g ecuacion.h ecuacion.i]);
有什么功能可以帮助我解决这个问题吗?还是我做错了什么?
如果您想查看算术图,这里有一个链接到我原来的西班牙语帖子:https://es.stackoverflow.com/posts/51725/edit
【问题讨论】:
-
既然你需要一个整数解,你就处于困难的境地:-) 即使是线性整数程序也很难求解,更不用说非线性程序了。有这类问题的文献吗?
标签: matlab