matlab解一元非线性不等式小工具记录

385 阅读1分钟

matlab解一元非线性不等式小工具记录

问题描述: 求解一元非线性不等式: xln(x+1)0.2x2<0x{\rm{ - }}\ln (x + 1) - 0.2{x^2} < 0

解决步骤:

  1. 使用matlab工具包mupad,mupad可以方便的计算线性方程或者线性不等式,不支持直接计算非线性方程/不等式。如下使用步骤:
image.png

功能简要使用示例如下:

2.png

此时先画出非线性不等式的函数图形,如下:

image.png

所求区间即为2.某-正无穷。

  1. 使用matlab求得具体数值: 创建jiao.m的函数文件
function res = jiao(x)
ans = equation(x);
while(ans>0)
    x = x+0.00001;
    ans = equation(x);
end
res = x;
end

function res = equation(x)
res = -0.2 * x^2+x-log(1+x);
end
image.png

调用函数jiao(2)即可得零点。

其中,equation函数即为所求不等式;

jiao的函数从2开始以精度0.00001向右逐渐迭代,直到函数值小于0停止,返回此时的x值。

由图可知此一元非线性不等式xln(x+1)0.2x2<0x{\rm{ - }}\ln (x + 1) - 0.2{x^2} < 0的解即为(2.4903,+)(2.4903, + \infty ) image.png