作业帮 > 综合 > 作业

matlab或者mathematica解方程的问题

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/04/27 23:40:42
matlab或者mathematica解方程的问题
 F(x)=w,这里F(x)是累积分布函数,假定是正态分布好了,我想求出x关于w的表达式,不过应该是没有显性的表达的,那如何画出图像来?
另外还有y一条曲线x(w),也是不能显性表达出来的,和上面这条会有交点,怎么求出这个交点?并画图?
用matlab或者mathematica能实现的都行
f=inline('0.05*exp(-(x-100)^2/800)/(sqrt(2*pi)*(1-normal_01_cdf(-5)))','x');
F = inline('int(f,x,0,inf)','x');
F就是f的cdf,所以是对前面那个求积分,
y1=inline ('(w-0.2*(w-1))/4','w');
然后就是要求F+y1=1的图像,F是关于x的,y1是关于w的,给定F+y1=1,应该是有一个x和w的对应关系。
我看很多都说隐函数能用ezplot实现,画出来就是一条直线额。ezplot('F-y1=0',[0,200]),[0,200]应该是x和w的范围,但它好像默认成了F和y1的范围
matlab或者mathematica解方程的问题
隐函数绘图用 ContourPlot 函数,求交点坐标用函数 NSolve 或 FindRoot,求出数值解之后再用函数 Show 将三个图像同时显示出来.
再问: 麻烦你看一下我的补充提问。。。我还是没有搞出来,谢谢了
再答: 你把你的表达式转化为数学语言吧,我用的是 Mathematica ,你的好像是 Matlab,还有那个 normal_01_cdf 到底是什么玩意。
再问: 嗯,我用的是matlab,f是truncated normal distribution的pdf,F对它从0到无穷求积分,y1就是关于w的一个表达式,normal_0_cdf是调用了一个标准正态分布求cdf值得函数,这个应该是没有问题的
再答: 你的描述就不对,那个 F 是从 0 到无穷积分,积分结果就是一个常数 1,根本就不是一个函数。
再问: 噢,对,应该是从0到一个变量,F是关于这个变量的函数
再答: 用 Mathematica 大致画了一下,如下图这样子。其中代码第一行中的 c 就是你的那个常数 1-normal_01_cdf(-5),这个直接可以算出来,完整的代码如下:
c = 0.999999713348428;F[x_] = Integrate[   0.05*Exp[-(t - 100)^2/800]/(Sqrt[2*Pi]*c), {t, 0, x}];y1[w_] := (w - 0.2*(w - 1))/4;ContourPlot[F[x] + y1[w] == 1, {x, 0, 200}, {w, -1, 6}]