24小时热门版块排行榜    

CyRhmU.jpeg
查看: 572  |  回复: 8
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

yongbinz

金虫 (著名写手)

[交流] 【讨论】一个小程序,过来讨论讨论!

我需要一个小程序,求解一个方程!
X/L=Sin(θ/2)÷( θ/2) 公式中的θ为弧度,已知X与L,输入X与L后,要能求出θ的大小。
这个程序怎么写呢,大家能否给点意见?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhuzhs

金虫 (正式写手)

当所有一切都已看平淡 是否有一种精致还留在心田
5楼2009-06-06 00:14:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

gjliu

银虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖交流
幻影无痕(金币+0,VIP+0):呵呵,亲自上阵!鼓励一下! 6-3 11:04
这个是一个超越方程求解的问题,可以看一些《计算方法》或者《数值分析》的书,比如牛顿迭代什么的方法都可以找到数值解的。如果是Matlab或者Mathematic等软件直接有求解方程的函数,相对比较简单。

就是不知道你要用什么语言去写。给你一个简单的例子吧


用牛顿迭代法求方程X3+4X2-10=0 的根

#include
main()
{float x,x0,f,f1;
x=1.5;
do
{x0=x;
f=x0*x0*(x0+4)-10;
f1=x0*(3*x0+8); /* f的导数,即它的切线 */
x=x0-f/f1; /* 切线与x轴的交点 */
}
while(fabs(x-x0)>=1e-5);
printf("The root is %8.7f\n",x);
}

[ Last edited by gjliu on 2009-6-3 at 11:21 ]
2楼2009-06-03 11:00:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yongbinz

金虫 (著名写手)

谢谢楼上,不过,本人就是不会C语言呀!谢谢支持!
3楼2009-06-03 11:40:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duzhuqi

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
suton(金币+1,VIP+0):谢谢! 6-7 09:10
MATLAB程序如下:
function y=f6(x)
y=Sin(x)/( x)-X/L;
end
----------------------------------------------------
a=-1;b=1.5;
y1=f6(a);y2=f6(b);
while abs(b-a)>0.001
x0=0.5*(a+b);y0=f6(x0);
  if abs(y0)< 0.0001
    x0
    elseif y0*y1<0
        b=x0;y2=y0;
    else
        a=x0;y1=y0;
  end
end
x0
6楼2009-06-06 22:28:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见