不好好改就革吧 关注:5贴子:64
  • 5回复贴,共1

非常感谢雨如慧梦给我的问题

只看楼主收藏回复

@雨如慧梦
我的计算程序附上。
主程序:
clc;clear all
global Total
Tol=[15,25,35,50,100]*1e4;%总收入15万等等
x=zeros(size(Tol));
fval=x;
for i=1:length(Tol)
Total=Tol(i);
[x(i),fval(i)]=fminbnd(@sub,0,1);
% x是按月发放工资除以总工资的比例,范围是0-1
% fval是对应的总税收
end
figure(1)
plot(Tol/1e4,x*100,'linewidth',2)
xlabel('个人年收入(万元)')
ylabel('工资收入占比(%)')
title('最小纳税额下的月工资收入占比-总工资曲线')
figure(2)
plot(Tol/1e4,fval/1e4,'linewidth',2)
xlabel('个人年收入(万元)')
ylabel('最小纳税额(万元)')
title('最小纳税额-总工资曲线')
函数程序:
function f=sub(x)
global Total
a=Total*x;
b=Total*(1-x);
f=12*tax(a/12)+12*tax(b/12);
end
函数程序:
function taxval=tax(x)
r=x-3500;
rr=[0,1500*0.03,3000*0.1,4500*0.2,36000*0.25,20000*0.3,25000*0.35];
if(r<=0)
taxval=0;
elseif(r<=1500)
taxval=r*0.03;
elseif(r>1500&&r<=4500)
taxval=sum(rr(1:2))+(r-1500)*0.1;
elseif(r>4500&&r<=9000)
taxval=sum(rr(1:3))+(r-4500)*0.2;
elseif(r>9000&&r<=35000)
taxval=sum(rr(1:4))+(r-9000)*0.25;
elseif(r>35000&&r<=55000)
taxval=sum(rr(1:5))+(r-35000)*0.3;
elseif(r>55000&&r<=80000)
taxval=sum(rr(1:6))+(r-55000)*0.35;
else
taxval=sum(rr(1:7))+(r-80000)*0.45;
end
end
结果:




IP属地:湖北1楼2016-05-08 21:59回复
    @ 雨如慧梦 希望你能够看到哦!!!
    @ 雨如慧梦 看到了没有??


    IP属地:湖北2楼2016-05-08 22:00
    回复
      @ 雨如慧梦 O(∩_∩)O哈哈~


      IP属地:湖北3楼2016-05-08 22:00
      收起回复
        谢谢~~~~~


        IP属地:美国4楼2016-05-15 13:47
        回复
          万分感谢哦~


          IP属地:美国5楼2016-05-15 13:53
          回复