- 积分
- 13
- 注册时间
- 2007-8-20
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2010-12-9 16:52:39
|
显示全部楼层
来自 浙江杭州
23# wanglu
lz计算shunfly示例所用积分式
解析结果
219531
数值积分
219532
messenger 发表于 2009-10-12 10:20
贴一个利用ode45计算积分的方法-
- %%
- clear all;clc
- num = 5;
- result = zeros(num,2);
- %%
- tic,
- % 定义匿名函数,增加 0*y 项
- fc = @(k) @(x,y) besselj(1,k.*x).*exp(-x)+0*y;
- % 利用龙格库塔法计算积分
- for k = 1:num
- [~,yy2] = ode45(fc(k),[0,100],0);
- result(k,1) = yy2(end);
- end
- toc;
- %%
- tic,
- % 定义匿名函数,此处略有不同,没有点乘
- fd = @(k) @(x,y) besselj(1,k*x)*exp(-x)+0*y;
- % 使用数组函数
- temp = arrayfun(@(k) ode45(fd(k),[0,100],0),1:num);
- % 导出结果
- for k = 1:num
- result(k,2) = temp(k).y(end);
- end
- toc;
复制代码
计算结果
-
- result =
- 0.292912105440771 0.292912105440771
- 0.276513031388514 0.276513031388514
- 0.228445753183351 0.228445753183351
- 0.188887531708083 0.188887531708083
- 0.160933838415485 0.160933838415485
复制代码 |
评分
-
1
查看全部评分
-
|