用Matlab求一道数值分析的题

求方程x=e^(-x)在x=0.5附近的根,精确到10^(-8)。(1)取y(x)=e^(-x),用简单迭代法x(n+1)=y[x(n)]计算。(2)用加快收敛的迭代格式... 求方程x=e^(-x)在x=0.5附近的根,精确到10^(-8)。
(1)取y(x)=e^(-x),用简单迭代法 x(n+1)=y[x(n)]计算。
(2)用加快收敛的迭代格式 x(n+1)=a*y[x(n)]+(1-a)*x(n) , a=0.625计算
展开
化学工程
2006-12-09 · TA获得超过8897个赞
知道大有可为答主
回答量:2212
采纳率:80%
帮助的人:3297万
展开全部
%(1)取y(x)=e^(-x),用简单迭代法 x(n+1)=y[x(n)]计算。
clc;clear
err=1;
k=1;
y=0.5;
format long
while abs(err)>10e-8
y=exp(-y);
err=y-exp(-y);
k=k+1;
end
k
y
err

%(2)用加快收敛的迭代格式 x(n+1)=a*y[x(n)]+(1-a)*x(n) , a=0.625计算
a=0.625;
err1=1;kk=1;yy=0.5;
while abs(err1)>10e-8
%for kk=1:10
yy=exp(-yy);
yy1=a*yy+(1-a)*exp(-yy);%x(n+1)=a*y[x(n)]+(1-a)*x(n)
err1=yy1-yy;
kk=kk+1;
end
kk
yy
err1

运行结果:
k = 26
y = 0.56714333810549
err = 7.474599861279074e-008

kk = 24
yy = 0.56714343869357
err1 = -8.714322441427669e-008

精确解:
>> x=eval(solve('x=exp(-x)'))

x = 0.56714329040978
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kutpbpb
2011-05-12 · TA获得超过528个赞
知道小有建树答主
回答量:332
采纳率:0%
帮助的人:380万
展开全部
//这个函数就是计算泊松分布的概率密度公式的,我采用该算法的伪码的方式,希望kutpbpb的回答能对

你有所帮助!

function [Px] = poisspdf(X,lambda) //poisspdf函数定义输入x,lambda 输出Px参数列表

warning 。。。。。关闭关于。。。的警告

if 泊松分布中的参数lambda小于0,

输出:参数错误,lambda应该大于0,程序结束。
end

if X的长度等于1,则x不是数组,则这个点处得概率密度

创建数组temp,长度为X,包含元素1—X;
Px = lambda 与 e的 -lambda/X的阶乘 次幂的乘积;
else X是数组,求数组中每个元素的概率密度

创建数组 temp_Px ,长度跟数组x相等,并且包含1到lenth(x);
for循环
i 从1 到 length(x)
创建temp数组,长度为i,并且元素为1到i;
temp_Px(i)等于 lambda 与 e的 -lambda/i的阶乘的次幂的乘积;
end
Px=temp_Px;
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式