Matlab 求数值解

我想求x-mod(x,100)=49/0.15的解,结果发现没有解析解。可是我不知道怎么写matlab命令或者函数让它求出数值解,望高人指点!可以限定一个范围,例如300... 我想求 x-mod(x,100)=49/0.15 的解,结果发现没有解析解。可是我不知道怎么写matlab命令或者函数让它求出数值解,望高人指点!

可以限定一个范围,例如 300<x<400上面的数值解。。。

如果这些都不现实,我想让Matlab给我显示至少一个可能的解。可以吗?
展开
 我来答
dukinkin
2014-11-21 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2444
采纳率:90%
帮助的人:947万
展开全部

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 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式