MATLAB中文论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 100|回复: 5|关注: 0

[已解决] 求助:这个脚本为什么提示Undefined function or variable 'B'

[复制链接]

新手

7 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
这是个算年终奖与1个月工资合并计税的脚本,为的是求最小纳税额
jl=100000;
m=0;
for z=3500:100:500000;
m=m+1;
nn=50000;
for x=3500:100:jl;
y=z-x;
if(x>=3500)&&(x<=5000);
A=0.03*x;
end
if(x>5000)&&(x<=8000);
A=0.1*x-105;
end
if(x>8000)&&(x<=12500);
A=0.2*x-555;
end
if(x>12500)&&(x<=38500);
A=0.25*x-1005;
end
if(x>38550)&&(x<=58500);
A=0.3*x-2755;
end
if(x>58500)&&(x<=83500);
A=0.35*x-5505;
end
if(x>83500);
A=0.45*x-13505;
end
if(y>0)&&(y<=18000);
B=0.03*y;
end
if(y>18000)&&(y<=54000);
B=0.1*y-105;
end
if(y>54000)&&(y<=108000);
B=0.2*y-555;
end
if(y>108000)&&(y<=420000);
B=0.25*y-1005;
end
sz=A+B;
if sz<nn
x0=x;
y0=y;
sz0=A+B;
nn=sz;
end
end
zx(m)=x0;
zy(m)=y0;
zs(m)=sz0;
end
z=3500:100:500000;
plot(z,zs)

论坛优秀回答者

高级

1515 麦片

财富积分


15002000


2

主题

3050

帖子

353

最佳答案
  • 关注者: 135
发表于 2017-11-13 17:52:56 | 显示全部楼层 |此回复为最佳答案
因为x=z=3500的时候,y=0,每一个if都不满足,B赋值的语句就都没执行到

新手

7 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
 楼主| 发表于 2017-11-14 16:40:46 | 显示全部楼层
halleyhit 发表于 2017-11-13 17:52
因为x=z=3500的时候,y=0,每一个if都不满足,B赋值的语句就都没执行到

对哦,谢谢

新手

7 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
 楼主| 发表于 2017-11-14 16:51:05 | 显示全部楼层
halleyhit 发表于 2017-11-13 17:52
因为x=z=3500的时候,y=0,每一个if都不满足,B赋值的语句就都没执行到

大神能不能解释一下这是什么意思啊?
zx(m)=x0;
zy(m)=y0;
zs(m)=sz0;
这个zx(m)之类似乎是生成一个矩阵

论坛优秀回答者

高级

1515 麦片

财富积分


15002000


2

主题

3050

帖子

353

最佳答案
  • 关注者: 135
发表于 2017-11-14 17:01:20 | 显示全部楼层
mlava 发表于 2017-11-14 16:51
大神能不能解释一下这是什么意思啊?
zx(m)=x0;
zy(m)=y0;

数值计算的基本语法-矩阵序号(位置或索引)
简单说,就是zx矩阵的第m个元素

新手

7 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
 楼主| 发表于 2017-11-14 17:07:11 | 显示全部楼层
halleyhit 发表于 2017-11-14 17:01
数值计算的基本语法-矩阵序号(位置或索引)
简单说,就是zx矩阵的第m个元素 ...

谢谢,原来如此
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

快速回复 返回顶部 返回列表