1.说明
有一些方程由于实际问题的需要,需要设置一些限制约束条件,例如x>0等,若使用Matlab编程求解,首先尝试使用符号运算求解(符号运算可参考文章54:Matlab自学笔记五十四:符号数学工具箱和符号运算、符号求解、绘图),简单的约束条件可以在声明sym变量的时候直接写出,复杂的约束条件可能需要使用assume设置假设条件(符号变量假设条件的用法请参考文章56:Matlab快速上手五十六:详解符号运算里假设的用法,通过假设可以设置符号变量的取值范围,也可以通过假设设置变量属于集合:整数、正数和实数等),然后进行求解运算,本示例演示简单应用,若大家的问题复杂可留言交流。
2.编程示例
求方程x² + x - 2 = 0在x>0的条件下,方程的解。
程序:
>> syms x
>> eq2=x^2+x-2==0;
>> solve(eq2,x) %没有约束条件的解
运行结果:
ans =
-2
1
>> syms x positive %添加x>0的约束
>> eq2=x^2+x-2==0;
>> solve(eq2,x) %有约束条件的解
运行结果:
ans =
1
相关视频内容推荐
13.4 Matlab编程求导:雅可比矩阵
23.16 最小二乘法的概念:线性、加权、鲁棒、非线性最小二乘法及Matlab编程实例
25.2.1 朴素贝叶斯算法|原理篇:连续型数据分类识别
35.10 郑重其事的讲下:局部函数
44.6 非线性自回归神经网络narnet时序数据预测编程代码实例
37.31 AppDesigner案例:数据库读取、查询和计算软件
31.3 Matlab绘图之图像上添加标题、标签和图例,那些希腊的罗马的特殊字符应该都涵盖了哈
14.6 Matlab微分方程数值解法 经典ode45 龙格库塔 数学建模
22.3/Matlab/fmincon/带约束多元函数最小值/解优化问题数学建模
End