【发布时间】:2014-11-16 23:02:02
【问题描述】:
我必须在我的 matlab 代码中求解一个系统方程。
首先,我尝试通过将未知变量定义为使用符号演算来解决它
syms x1 x2 x3 'real'
通过使用函数solve
[sx1 sx2 sx3] = solve(f1 == 0, f2 == 0, f3 == 0);
其中f1, f2, f3 是x1, x2, x3 的函数。
我知道有时可以找到解决方案,但有些情况下解决方案不存在,我得到了
Warning: Explicit solution could not be found.
在这种情况下,我想以某种方式“捕捉”这个警告(不在屏幕上打印任何内容!)并运行其他代码。
如何做到这一点?
提前致谢
【问题讨论】:
-
您是否尝试在求解操作周围包裹
try, catch块? -
您还应该尝试打开
warning on backtrace,它会在出现异常时打印堆栈跟踪。您可以确定抛出错误的级别并拦截它。除此之外,您可能只需要禁止显示警告。 -
@MylesBaker 我试过了,不行