| 查看: 1732 | 回复: 11 | |||
[求助]
牛顿迭代解方程画曲线已有2人参与
|
|||
bluesine
铁杆木虫 (职业作家)
科苑小木虫
- 数学EPI: 5
- 应助: 132 (高中生)
- 贵宾: 1.991
- 金币: 9501.3
- 散金: 89
- 红花: 19
- 帖子: 3534
- 在线: 364.5小时
- 虫号: 869544
- 注册: 2009-10-12
- 性别: GG
- 专业: 数学物理
【答案】应助回帖
感谢参与,应助指数 +1
|
把你的程序稍微改动了一下,不多说,看code: clear; clc; a=0.6; syms Cw Cw0; C=0.1; i=1; while C<=10 f=Cw-1/(1-a^4)*(4/pi*(1/3*(2.5-1/(Cw+C)^2)*(1-1/(Cw+C)^2)^0.5+(Cw+C)/2*asin(1/(Cw+C)))-a^4*(Cw+C));%%牛顿迭代形式 df=diff(f,Cw); eps=1e-7; Cw0=10.0; cnt=0; MAXCNT=200; %最大循环次数 while cnt<MAXCNT %防止无限循环 Cw1=Cw0-subs(f,Cw,Cw0)/subs(df,Cw,Cw0); %去掉这个分号,可以看到迭代过程。 if (abs(Cw1-Cw0)<eps) break; end Cw0=Cw1; cnt=cnt+1; end error=abs(Cw1-Cw0)/2; %%误差 if cnt==MAXCNT || error > eps disp(['不收敛@C=',num2str(C)]); continue; end Y(i) =Cw0; i= i+1; C = C+0.1; end X = 0.1:0.1:10; plot(X,Y,'r','LineWidth',2); xlabel('{\itC}_0'); ylabel('{\itC}_w'); disp('done...') |

3楼2016-12-13 15:21:16
2楼2016-12-12 10:22:56
4楼2016-12-13 21:09:49

5楼2016-12-13 21:20:42
bluesine
铁杆木虫 (职业作家)
科苑小木虫
- 数学EPI: 5
- 应助: 132 (高中生)
- 贵宾: 1.991
- 金币: 9501.3
- 散金: 89
- 红花: 19
- 帖子: 3534
- 在线: 364.5小时
- 虫号: 869544
- 注册: 2009-10-12
- 性别: GG
- 专业: 数学物理

6楼2016-12-14 09:21:57
7楼2016-12-14 09:45:51
bluesine
铁杆木虫 (职业作家)
科苑小木虫
- 数学EPI: 5
- 应助: 132 (高中生)
- 贵宾: 1.991
- 金币: 9501.3
- 散金: 89
- 红花: 19
- 帖子: 3534
- 在线: 364.5小时
- 虫号: 869544
- 注册: 2009-10-12
- 性别: GG
- 专业: 数学物理

8楼2016-12-14 11:36:08
wurongjun
专家顾问 (职业作家)
-

专家经验: +831 - 数学EPI: 9
- 应助: 791 (博后)
- 贵宾: 0.308
- 金币: 24607.5
- 散金: 310
- 红花: 75
- 帖子: 3004
- 在线: 881.2小时
- 虫号: 1368482
- 注册: 2011-08-14
- 性别: GG
- 专业: 计算数学与科学工程计算
- 管辖: 数学

9楼2016-12-14 17:50:48
10楼2016-12-14 21:16:35













回复此楼
