24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1529  |  回复: 8

gycyhl

新虫 (初入文坛)

[求助] 怎么利用matlab计算如下函数的积分已有2人参与

本人属于文科生,由于毕业论文需要计算个税潜在收入,需要用到MATLAB 求解函数的积分。经过几位好友的帮助已经会求一段函数的积分,初步考虑可以将每段函数的积分求出来,然后加总,但是,这样计算量太大,我有28个省5年的数据要计算,这样太麻烦了,除了这种方法,我还可以怎样求呢?

这是要求的函数积分
怎么利用matlab计算如下函数的积分

这是fx函数
怎么利用matlab计算如下函数的积分-1

这是2000=<x<2500时的函数积分
F=@(x)(x-2000)*0.05*1./(x.*sqrt(0.7690*pi)).*exp(-(7.6480-log(x)).^2/0.7690);
qual(F,2000,2500)
我该怎么办呢?怎么办呢?恳请大神帮忙,由于论坛币有限,暂时定为10金币,后面会追加,如果太复杂,可以付费。。。。恳请大神帮忙!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shenyxtata

金虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
gycyhl(Edstrayer代发): 金币+1 2016-01-31 06:13:23
高斯积分法,就是每段选个大概3个点的样子,计算被积函数,乘以对应的权。
2楼2016-01-30 10:18:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shenyxtata

金虫 (正式写手)

引用回帖:
2楼: Originally posted by shenyxtata at 2016-01-30 10:18:48
高斯积分法,就是每段选个大概3个点的样子,计算被积函数,乘以对应的权。

然后加起来
3楼2016-01-30 10:19:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gycyhl

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by shenyxtata at 2016-01-30 10:18:48
高斯积分法,就是每段选个大概3个点的样子,计算被积函数,乘以对应的权。

可以详细说说吗~文科生表示压力山大~或者给我说说应该参考什么资料

发自小木虫IOS客户端
4楼2016-01-30 10:20:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gycyhl

新虫 (初入文坛)

大神快来啊~~
5楼2016-01-30 16:00:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

龙山狮崖

铁杆木虫 (正式写手)

这年月,文科生频频上小木虫求积分,求微分。

发自小木虫Android客户端
独在异乡为异客
6楼2016-01-31 02:26:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shikang999

新虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
gycyhl(Edstrayer代发): 金币+5 2016-01-31 06:14:00
gycyhl: 金币+4, ★★★★★最佳答案, 初来乍到,金币不多。。。请笑纳 2016-01-31 09:18:08
1,没有必要强调你是文科生!
2,好了,回归正题,说下求解思路。
3,你的求解函数是很规则的,都是G(x)=(x-a)*b*f(x)然后在区间[c,d]积分,最后各段在求和。即你可以输入五年的各个a,b,c,d数据组,然后调用相应函数求解!
4,由于没有现成函数可以用,就得自己写。这里分两种情况,一个就是一楼回答的自己采用高斯积分写数值积分算法,二就是使用Matlab现成的积分函数。前者,应该比较快(当然,如果用Matlab语言写的话,也许不见得快,没有比较,不好直接下结论);后者相对来说会比较慢(注意这里的慢不是说Matlab积分慢)。
5,直接采用高斯积分时,对于一楼回答的直接采用高斯三点积分,这里我得提醒一下,对于你这个函数,采用一次三点积分积得的结果是否准确?不是的话就得考虑复化或者其它手段进行积分了……
6,对于使用Matlab现成的积分函数,这里提供两种解决思路。
6.1,可以输入类似这么一个符号表达式g=(x-a)*b*f(x),每次计算时符号替换字符a,b为具体数值,然后在对应区间积分
6.2,把你的积分函数进行拆分,G(x)=b*x*f(x)-a*b*f(x)=b*[g1(x)-a*f(x)],其中g1(x)=x*f(x),即在每个积分区间里都对g1(x)与f(x)积分即可,然后乘以对应a,b值
6.3,好久没有用Matlab,思路只是凭空而想的!有不对的,可以纠正!
7,夜深了,醒了一个小时了,是该继续入睡了!

[ 发自手机版 http://muchong.com/3g ]
我还是那个我,过去如此,未来亦如此!
7楼2016-01-31 04:04:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gycyhl

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by 龙山狮崖 at 2016-01-31 02:26:46
这年月,文科生频频上小木虫求积分,求微分。

从中可以发现两个问题:1.文理分科的弊端;2.定性文章走向定量的趋势
8楼2016-01-31 09:00:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gycyhl

新虫 (初入文坛)

引用回帖:
7楼: Originally posted by shikang999 at 2016-01-31 04:04:09
1,没有必要强调你是文科生!
2,好了,回归正题,说下求解思路。
3,你的求解函数是很规则的,都是G(x)=(x-a)*b*f(x)然后在区间积分,最后各段在求和。即你可以输入五年的各个a,b,c,d数据组,然后调用相应函数求解! ...

十分感谢大神的帮助~
1.下次再来论坛不强调文科生了
2.由于之前一直在恶补matlab的知识,所以更倾向于用matlab解决
3.昨天稍晚时候,已经有一位坛友慷慨帮助了我,写出了代码,大体思路是这样:先定义了fx,然后,定义了Fx函数并将各段积分相加,最后求解Fx在(2000,+∞)的积分;不知有可以优化的地方不?
4.大神注意休息啊,身体是革命的本钱!!!
9楼2016-01-31 09:17:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gycyhl 的主题更新
信息提示
请填处理意见