C语言 源程序,C语言源程序.doc

C语言源程序.doc

MATLAB语言程序设计

期末考试

学号: 20125101150 姓名: 韩丽萍

2、应用题(两小题任选1题)

(2)某工厂生产A和B两种产品,她们需要经过三种设备的加工,工时如表1所列。设备一、二、三每天可使用的时间分别不超过12、10和8小时。产品A和B的利润随市场的需求有所波动,如果预测未来某个时期内A和B的利润分别为4000元/吨和3000元/吨,问每天应安排产品A、B各多少吨,才能使工厂利润最大?

表1 生产产品工时表

产品设备一设备二设备三A/(小时/吨) 3 3 4

B/(小时/吨) 4 2 2

设备每天最多可工作时数/小时 12 10 8请写出具体解决方案,并编写该解决方案的具体MATLAB程序代码。

解:假设每天应安排生产产品A和B分别为x1和x2吨,依题意可建数学模型如下:

首先将目标函数转换成标准形式:min z = -4000x1-3000x2

编写M文件L0509.m如下:

f = [-4000;-3000];

A=[3 4; 3 3; 4 2];

b=[12;10;8];

lb = zeros(2,1);

[x,fval] = linprog(f,A,b,[],[],lb)

运行结果如下:

>>L0509

Optimization terminated successfully.

x =

0.8000

2.4000

fval =

-1.0400e+004

可见每天生产A产品和B产品分别为0.8吨和2.4吨可使工人获得最大利润,每天最大利润为104000元。

4、结合课本第三章所提供的18种绘图方法,请实现其中8种绘图,提供程序代码及所绘制的图形。

解:

【1】直方图

直方图绘制示例:

例1:x=[1 2 3 4 5 6 7];

Y=[5 2 1;8 9 12;9 6 3;7 4 2;8 7 6;3 7 10;4 7 9];

colormap(summer);

subplot(3,3,1);

bar(Y);

subplot(3,3,2);

bar(Y,‘stacked’);

subplot(3,3,3);

bar(Y,‘grouped’);

subplot(3,3,4);

barh(Y,‘stacked’);

subplot(3,3,6);

bar3(x,Y,‘stacked’);

subplot(3,3,7);

bar3(Y,‘grouped’);

subplot(3,3,8);

bar3h(Y);

subplot(3,3,9);

bar3h(Y,‘grouped’);

【2】饼图

饼图绘制示例:

例2:某年级学生成绩为:优秀21人,良好87人,中等75人,及格64人,不及格20人。试利用饼图予以表达和分析。

M文件如下:

X=[21 87 75 64 20];

subplot(2,2,1);

pie(X,[1 0 0 0 0]);

legend({‘优秀’,’良好’,’中等’,’及格’,’不及格’});

subplot(2,2,2);

pie(X,[0 0 0 0 1]);

subplot(2,2,3);

pie3(X,[1 0 0 0 0]);

subplot(2,2,4);

pie3(X,[0 0 0 0 1]);

【3】阶梯图

阶梯图示例:

例3:绘制区间[0,2π]内sin(x)的阶梯图,步长取0.25。

x=0:0.25:2*pi;

y=sin(x);

stairs(x,y,’-b’);

xlabel(‘sin(x)阶梯图’);

hold on;

plot(x,y,’-r’);

hold off;

【4】等高线图

等高线图示例:

例4:[X,Y,Z]=peaks;

subplot(2,2,1);

contour(X,Y,Z,10);

subplot(2,2,2);

contour3(X,Y,Z,10);

subplot(2,2,3);

contour3(X,Y,Z,[1 2 3 4 5 6]);

subplot(2,2,4);

c=contour(X,Y,Z,2);

clabel(c);

【5】误差图

误差图示例:

例5:假设误差函数为5/length(x),区间[0,1],试绘制函数sin(x)在区间[0,1]内的误差图。

x=[0:0.5:10];

y=10+x.^2;

e=5*[0:1/(length(x)-1):1];

errorbar(y,e);

【6】拓扑图

拓扑图示例:

例6:k=1:50;

[b,xy]=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值