| 查看: 2296 | 回复: 7 | ||||
[交流]
求助:(拟)弧长算法(pseudo arclength method) 程序 已有3人参与
|
|
我需要求解一个非线性方程组 需用到拟弧长的程序(matlab,fortran等皆可) 谢谢! |
» 收录本帖的淘帖专辑推荐
收藏 |
» 猜你喜欢
论文终于录用啦!满足毕业条件了
已经有26人回复
2026年机械制造与材料应用国际会议 (ICMMMA 2026)
已经有4人回复
磺酰氟产物,毕不了业了!
已经有6人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有9人回复
Cas 72-43-5需要30g,定制合成,能接单的留言
已经有8人回复
北京211副教授,35岁,想重新出发,去国外做博后,怎么样?
已经有8人回复
自荐读博
已经有3人回复
不自信的我
已经有5人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求助:遗传算法的matlab编程求解资源优化问题
已经有7人回复
送币求助耦合问题的算法程序
已经有6人回复
30金币求助:最长路径问题,要求遍历每个节点,总路径最长
已经有7人回复
求助一种组合算法
已经有6人回复
【求助】专利软件算法的使用
已经有3人回复
【求助】msd算法
已经有10人回复
【求助】VS2005数值计算程序调试【急求!!!!加金币】
已经有9人回复
【求助】VC++数值算法集应用到MFC中报错,程序调试求助
已经有8人回复
【求助】VC++程序算法集调试报错
已经有8人回复
【求助】jade软件算晶粒大小
已经有6人回复
【求助】多目标pso算法的MATLAB程序
已经有3人回复
【求助】求助VC编写应用程序的电子书
已经有3人回复
【求助】算法书籍
已经有11人回复
【求助】智能优化算法用哪些仿真工具?
已经有5人回复

pippi6
铁杆木虫 (著名写手)
工程和科学数值计算咨询
- 数学EPI: 6
- 应助: 413 (硕士)
- 贵宾: 0.002
- 金币: 7116.5
- 散金: 15
- 红花: 63
- 帖子: 1639
- 在线: 798.9小时
- 虫号: 2469437
- 注册: 2013-05-14
- 专业: 计算数学与科学工程计算
2楼2013-06-08 11:40:46

3楼2013-06-08 21:23:40
4楼2013-06-08 21:39:14
pippi6
铁杆木虫 (著名写手)
工程和科学数值计算咨询
- 数学EPI: 6
- 应助: 413 (硕士)
- 贵宾: 0.002
- 金币: 7116.5
- 散金: 15
- 红花: 63
- 帖子: 1639
- 在线: 798.9小时
- 虫号: 2469437
- 注册: 2013-05-14
- 专业: 计算数学与科学工程计算
5楼2013-06-10 11:23:53

6楼2013-06-10 13:37:33
pippi6
铁杆木虫 (著名写手)
工程和科学数值计算咨询
- 数学EPI: 6
- 应助: 413 (硕士)
- 贵宾: 0.002
- 金币: 7116.5
- 散金: 15
- 红花: 63
- 帖子: 1639
- 在线: 798.9小时
- 虫号: 2469437
- 注册: 2013-05-14
- 专业: 计算数学与科学工程计算
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
小木虫: 金币+0.5, 给个红包,谢谢回帖
|
就这里吧,注意N必须是偶数。 ! flag subroutine arc_length_new(x,y,len,n1,n2) integer :: i,n1,n2,i0,i1,i2 real*8, dimension(n1:n2) :: x,y,len real*8 :: xt1,yt1,st1,xt2,yt2,st2,xtt,ytt,stt1,stt2,k1,k2,dt1,dt2 & ,cc1,cc2 len(n1)=0 do i=n1+2,n2,2 i0=i-2 i1=i-1 i2=i xt1=x(i1)-x(i0) yt1=y(i1)-y(i0) st1=sqrt(xt1*xt1+yt1*yt1) xt2=x(i2)-x(i1) yt2=y(i2)-y(i1) st2=sqrt(xt2*xt2+yt2*yt2) xtt=x(i2)-2*x(i1)+x(i0) ytt=y(i2)-2*y(i1)+y(i0) stt1=(xt1*xtt+yt1*ytt)/st1 stt2=(xt2*xtt+yt2*ytt)/st2 k1=(xtt*xtt+ytt*ytt)*st1*st1-(xt1*xtt+yt1*ytt)**2 if(abs(k1) < 1.d-14*st1**4) k1=0 if(k1 < 0.d0) then print*,' i=',i,' k1=',k1 stop else k1=sqrt(k1)/st1**3 end if k2=(xtt*xtt+ytt*ytt)*st2*st2-(xt2*xtt+yt2*ytt)**2 if(abs(k2) < 1.d-14*st2**4) k2=0 if(k2 < 0.d0) then print*,' i=',i,' k2=',k2 stop else k2=sqrt(k2)/st2**3 end if ! k1=sqrt((xtt*xtt+ytt*ytt)*st1*st1-(xt1*xtt+yt1*ytt)**2)/st1**3 ! k2=sqrt((xtt*xtt+ytt*ytt)*st2*st2-(xt2*xtt+yt2*ytt)**2)/st2**3 dt1=st1*k1/2 if(dt1==0.d0) then cc1=1.d0 else cc1=dt1/sin(dt1) end if dt2=st2*k2/2 if(dt2==0.d0) then cc2=1.d0 else cc2=dt2/sin(dt2) end if len(i1)=len(i0)+st1*cc1 len(i2)=len(i1)+st2*cc2 ! len(i1)=len(i0)+st1+stt1/2 ! len(i2)=len(i1)+st2+stt2/2 ! len(i1)=len(i0)+st1 ! len(i2)=len(i1)+st2 end do end subroutine arc_length_new |
7楼2013-06-11 12:10:13
8楼2019-01-24 21:18:28












回复此楼