1.设有分块矩阵
,其中E,R,O,S分别为单位阵、随机阵、零阵和对角阵,试通过数值计算验证
。
E=eye(3);
R=rand(3,2);
O=zeros(2,3);
S=diag(rand(2,1));
A=[E,R
O,S];
a=A^2-[E,R+R*S
O,S^2]
2.某零售店有9种商品的单件进价(元)、售价(元)及一周的销量如
1.1,问哪种商品的利润最大,哪种商品的利润最小;按收入由小到大,列出所有商品及其收入;求这一周该10种商品的总收入和总利润。
表1.1
货号
1 2 3 4 5 6 7 8 9
单件进价
7.15 8.25 3.20 10.30 6.68 12.03 16.85 17.51 9.30
单件售价
11.10 15.00 6.00 16.25 9.90 18.25 20.80 24.15 15.50
销量
568 1205 753 580 395 2104 1538 810 694
>> a=[7.15,8.25,3.20,10.30,6.68,12.03,16.85,17.51,9.30];
b=[11.10,15.00,6.00,16.25,9.90,18.25,20.80,24.15,15.50];
c=[568,1205,753,580,395,2104,1538,810,694];
d=(b-a).*c;
max(d);
min(d);
[x1,x2]=sort(d,1)
3.建立一个命令M-文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为153=13+53+33。
function NUM=daffodil()
count=0;
for i=1:9
for j=0:9
for k=0:9
if i^3+j^3+k^3==100*i+10*j+k
count=count+1;
NUM(count)=100*i+10*j+k;
else
end
end
end
end
4.编写函数M-文件sq.m:用迭代法求
的值。求平方根的迭代公式为
function f=sq(a)
format long
x=a;
f=(x+a/x)/2;
while abs(f-x)>0.000001
x=f;
f=(x+a/x)/2;
end
end
5.在同一个坐标下作出y1=ex,y2=1+x,y3=1+x+(1/2)x2,y4= 1+x+(1/2)x2+(1/6)x3这四条曲线的图形,要求在图上加各种标注,观察到什么现象?发现有什么规律?同时用subplot分别在不同的坐标系下作出这四条曲线,为每幅图形加上标
。
x=[0:0.01:3];y=[0:0.01:25];
y1=exp(x);plot(x,y1,'-m')hold on
y2=1+x;plot(x,y2,'.c');hold on
y3=1+x+x.^2/2;plot(x,y3,'*k');hold on
y4=1+x+x.^2/2+x.^3/6;
plot(x,y4,'^r');
hold off
legend('y=e的x次方','y=x+1','y=1+x+x.^2/2','y=1+x+x.^2/2+x.^3/6');
title('不知道该取什么名字')
xlabel('x=[0:0.01:3]')
ylabel('y=[0:0.01:25]');
figure(2)
x=[0:0.01:3];y=[0:0.01:25];
y1=exp(x);
subplot(2,2,1)
plot(x,y1,'-m');
title('y=exp(x)')
y2=1+x;
subplot(2,2,2)
plot(x,y2,'.c');
title('y=1+x')
y3=1+x+x.^2/2
subplot(2,2,3)
plot(x,y3,'*k')
title('y=1+x+x.^2/2')
y4=1+x+x.^2/2+x.^3/6;
subplot(2,2,4)
plot(x,y4,'^r');
title('y=1+x+x.^2/2+x.^3/6')
figure 1
figure 2
6.
作出下列曲面的3维图形,
;
x=[-2*pi:pi/10:2*pi];y=[-2*pi:pi/10:2*pi];
[X,Y]=meshgrid(x,y);
r=sqrt(X.^2+Y.^2)*pi
Z=sin(r)
mesh(X,Y,Z)
shading flat
7. 作出函数y=x4-4x3+3x+5 (x[0,6])的图形,找出其在[0,6]之间的最小值点。
x=[0:0.01:6];
y=x.^4-4*x.^3+3*x+5;
plot(x,y)
[xmin,ymin]=fminbnd(@(x)(x.^4-4*x.^3+3*x+5),2,5);
text(xmin,ymin,'*');