求matlab题目

硅谷员工某部门有50名员工,其工资计算方法如下:(1)工作时数超过120h者,超过部分加发15%;(2)工作时数低于60h者,扣发700元;(3)其余按每小时84元计发。... 硅谷员工某部门有50名员工,其工资计算方法如下:
(1)工作时数超过120h者,超过部分加发15%;
(2)工作时数低于60h者,扣发700元;
(3)其余按每小时84元计发。
试编程随机输入每位员工的工号和该号员工的工时数,工号从1~50;工时数为40~200h之间随机产生的整数。请计算每位员工的应发工资并用适当的图形加以描述。
A、分析:采用循环结构和向量结构分别实现,要用到分段函数以及随机数发生函数。
展开
 我来答
learneroner
高粉答主

2015-01-08 · 关注我不会让你失望
知道大有可为答主
回答量:1.1万
采纳率:91%
帮助的人:6461万
展开全部
f = @(x) 84*x + (x>120).*((x-120)*84*1.15) - (x<60)*700; % 计算工资的公式
x = 1:50; % 工号
xh = floor(161*rand(1,50)) + 40; % 工时 40-200
xs = f(xh); % 工资
subplot(1,2,1);
bar(xs); % 工资柱状图
title('工资图');xlabel( '工号' );;ylabel( '工资' );
axis([ 0 51 0 max(xs)*1.1]);
subplot(1,2,2);
bar(xh); % 工资柱状图
title('工时图');xlabel( '工号' );ylabel( '工时' );
axis([ 0 51 0 max(xh)*1.1]);

高中技术一点通
2015-01-08 · TA获得超过561个赞
知道小有建树答主
回答量:295
采纳率:0%
帮助的人:375万
展开全部

gs=zeros(50,1);
gz=zeros(50,1);
for i=1:50
    gs(i)=randi([40 200]);
    if gs(i)>=120
        gz(i)=84*120+(gs(i)-120)*84*1.15;
    elseif gs(i)<60
        gz(i)=84*gs(i)-700;
    else
        gz(i)=84*gs(i);
    end
end
gz=diag(gz);
c=bar(gz,'stack');
title('工资图');
xlabel( '工号' );
ylabel( '工资' );
color=[0 0 0.75;0 1 0;1 0.5 0];
for i=1:50
    j=mod(i,3)+1;
set(c(i),'FaceColor',color(j,:));
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式