Matlab 求数值解
我想求x-mod(x,100)=49/0.15的解,结果发现没有解析解。可是我不知道怎么写matlab命令或者函数让它求出数值解,望高人指点!可以限定一个范围,例如300...
我想求 x-mod(x,100)=49/0.15 的解,结果发现没有解析解。可是我不知道怎么写matlab命令或者函数让它求出数值解,望高人指点!
可以限定一个范围,例如 300<x<400上面的数值解。。。
如果这些都不现实,我想让Matlab给我显示至少一个可能的解。可以吗? 展开
可以限定一个范围,例如 300<x<400上面的数值解。。。
如果这些都不现实,我想让Matlab给我显示至少一个可能的解。可以吗? 展开
1个回答
展开全部
ezplot('x-mod(x,100)-49/0.15',[0 1000])
这是函数f(x)=x-mod(x,100)-49/0.15
在0~1000范围里的图像
可见,如果有数有解,解会出现在x=400附近
这是函数值最接近0附件的图像
ezplot('x-mod(x,100)-49/0.15',[350 450])
可见,函数是不连续的正好在x=400前后出现跳变
如果x<400得到的值是-26.66667
如果x>=400得到的值是73.33333
所以函数的确是没有解的,因为不可能有一个x取值使得f(x)=0
退而求其次,你可以用fzero函数平时用来数值解方程的函数,来求得这个跳变点
fun=@(x) x-mod(x,100)-49/0.15;
fzero(fun,0)
ans =
400.0000
一般如果是连续的函数,fzero(fun,x0)可以找出函数在x0点附近的数值近似解
fzero的原理是找出函数前后符号相反的点,不断缩小区间知道满足精度
用于你这个函数,fzero找到一个点400,之前f(x)<0,之后f(x)>0
但实际上,f(x)取不到0
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询