Matlab软件使用实验报告.docx
《Matlab软件使用实验报告.docx》由会员分享,可在线阅读,更多相关《Matlab软件使用实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
Matlab软件使用实验报告
重庆大学
学生实验报告
实验课程名称数学实验
开课实验室DS1401
学院计算机学院年级2009级专业班计科一班
学生姓名曹柳学号20095338
开课时间2010至2011学年第2学期
总成绩
教师签名
数理学院制
开课学院、实验室:
数理学院、DS1402实验时间:
2011年3月22日
课程
名称
数学实验
实验项目
名称
MATLAB软件入门
实验项目类型
验证
演示
综合
设计
其他
指导
教师
李东
成绩
√
实验目的
[1]熟悉MATLAB软件的用户环境;
[2]了解MATLAB软件的一般目的命令;
[3]掌握MATLAB数组操作与运算函数;
[4]掌握MATLAB软件的基本绘图命令;
[5]掌握MATLAB语言的几种循环、条件和开关选择结构。
通过该实验的学习,使学生能灵活应用MATLAB软件解决一些简单问题,能借助MATLAB软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律。
基础实验
一、实验内容
1.MATLAB软件的数组操作及运算练习;
2.直接使用MATLAB软件进行作图练习;
3.用MATLAB语言编写命令M-文件和函数M-文件。
二、实验过程(一般应包括实验原理或问题分析,算法设计、程序、计算、图表等,实验结果及分析)
第一题:
实验分析:
第一步:
应先将矩阵E、R、O、S分别列出,之后运用矩阵的拼接求出矩阵A的值,将矩阵A求平方。
第二步:
同样先求出矩阵R+R*S、S^2,
拼接,最后验证题设。
程序如下:
E=eye(3)
R=rand(3,2)
O=zeros(2,3)
temp=rand(1,2)
S=diag(temp)
A=[ER;OS];
C=[ER+R*S;zeros(2,3)S*S]
D=A^2
ifD==C
'Correct!
'
else
'Error'
End
第二题
程序如下:
cost=[7.158.253.210.36.6812.0316.8517.519.2];
price=[11.115616.259.918.2520.824.1515.5];
quantity_of_sale=[568120575358039521041538810694];
profit=(price-cost).*quantity_of_sale;
[min_of_profitmin_of_profit_good]=min(profit);
'最小利润是:
'
min_of_profit
'最小利润的商品是:
'
min_of_profit_good
[Sort_profitSort_profit_good]=sort(profit)
'总收入:
'
sum(price.*quantity_of_sale)
'总利润'
sum(profit)
第三题
程序如下:
x=linspace(-2,2,200);
y1=exp(x);
y2=1+x;
y3=1+x+x.^2/2;
y4=1+x+x.^2/2+x.^3/6;
plot(x,y1)
holdon
plot(x,y2,'r')
holdon
plot(x,y3,'g')
holdon
plot(x,y4,'k')
holdoff
xlabel('x')
ylabel('y')
title('泰勒公式')
text(-1,exp(-1),'\leftarrowexp(x)')
text(1,2,'\leftarrow1+x')
text(1.5,1+1.5+1.5^2/2,'\leftarrow1+x+x.^2/2')
text(2,1+2+2^2/2+2^3/6,'1+x+x.^2/2+x.^3/6\rightarrow','HorizontalAlignment','right')
现象:
三条曲线的平滑程度和弯曲程度相差不大
结论:
在y=1+x后面加上一些x的幂的值对原式不产生很大的影响,可忽略
第四题
程序如下:
x=linspace(-pi,pi,200);
t=linspace(-pi/2,pi/2,100)
t_x=tan(t);
y1=exp(-x.^2);
ruo=sin(2*x);
x3=(3*t_x./(1+t_x.^3))
y3=(3*t_x.^2./(1+t_x.^3))
y4_1=log((1+sqrt(1-x.^2))./x)+sqrt(1-x.^2);
y4_2=log((1+sqrt(1-x.^2))./x)-sqrt(1-x.^2);
y4_3=log((1-sqrt(1-x.^2))./x)+sqrt(1-x.^2);
y4_4=log((1-sqrt(1-x.^2))./x)-sqrt(1-x.^2);
subplot(2,2,1)
plot(x,y1)
title('概率曲线')
subplot(2,2,2)
plot(x,ruo)
title('四叶玫瑰线')
subplot(2,2,3)
plot(x3,y3)
axis([-55-55])
title('叶形线')
subplot(2,2,4)
plot(x,y4_1)
holdon
plot(x,y4_2)
holdon
plot(x,y4_3)
holdon
plot(x,y4_4)
title('曳物线')
holdoff
第五题
程序如下:
x=-1:
0.1:
1
y=x
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2);
Z=sin(pi*R);
surf(X,Y,Z);
u=0:
0.1*pi:
2*pi;
v=0:
0.1*pi:
2*pi;
[U,V]=meshgrid(u,v);
x=(1+cos(U)).*cos(V);
y=(1+cos(U)).*sin(V);
z=sin(U);
figure
mesh(x,y,z);
第六题
程序如下:
fori=1:
999
sum=0;
num=i;
whilenum
sum=sum+(mod(num,10))^3;
num=fix(num/10);
end
ifsum==i
i
end
end
第七题
程序如下:
functionEXP_sq_1_7(a)
x
(1)=a;
x
(2)=(x
(1)+a/x
(1))/2;
i=2;
while(abs(x(i)-x(i-1))>=(10^(-5)))
i=i+1
x(i)=(x(i-1)+a/x(i-1))/2;
end
x(i)
第八题
程序如下:
symsx;
%1题
limit((x+3^x)^(1/x),x,inf)
%%%%%%%%%
%2题
limit((exp(x)*sin(x)-x*(x+1))/(x^3),x,0)
%%%%%%%%%
%3题
f=(x^2+2*x-1)/(exp(-x)*sin(x)+1);
diff(f)
%%%%%%%%%%
%4题
f1=x^2/(1-x^2);
%ff1=diff(f);
%ff2=diff(f,2);
%ff3=diff(f,3)
%eval(ff1)
%eval(ff2)
%eval(ff3)
fori=1:
10
ff=diff(f,i);
x=0;
eval(ff)
end
%%%%
%5题
symsxy;
f=atan(y/x)-log(sqrt(x^2+y^2))
dfx=diff(f,x)
dxf=1/dfx;
dy=diff(f,y)
dxf*dy
%%
%6题
z=x*atan(y)
dzx=diff(z,x)
dzy=diff(z,y)
%x=1;
%y=1;
%eval(dzy)
X=-10:
0.1:
10;
Y=X;
[x,y]=meshgrid(X,Y);
z1=eval(dzx);
z2=x./(1+y.^2);%计算中有向量的运算,先计算导函数,在求解,按z1的方式处理有错
mesh(x,y,z1)
figure
mesh(x,y,z2)
%%%%
%7题
symsx;
int(exp(2*x)/(exp(x)+2),x)
第九题
程序如下:
functionEXP_9
x=0:
0.1:
6
y=fun(x);
plot(x,y);
[y_min,in_min]=min(y);
holdon;
plot(x(in_min),y(in_min),'r.')
text(x(in_min)+0.1,y(in_min)-12,['(',num2str(x(in_min)),',',num2str(y(in_min)),')'])
return
functiony=fun(x)
y=x.^4-4*x.^3+3*x+5;
return
结果:
x=
Columns1through14
00.10000.20000.30000.40000.50000.60000.70000.80000.90001.00001.10001.20001.3000
Columns15through28
1.40001.50001.60001.70001.80001.90002.00002.10002.20002.30002.40002.50002.60002.7000
Columns29through42
2.80002.90003.00003.10003.20003.30003.40003.50003.60003.70003.80003.90004.00004.1000
Columns43through56
4.20004.30004.40004.50004.60004.70004.80004.90005.00005.10005.20005.30005.40005.5000
Columns57through61
5.60005.70005.80005.90006.0000
总结与体会:
通过实验一,我初步掌握了MATLAB软件的用户环境;了解了MATLAB软件的一般目的命令;并掌握MATLAB数组操作与运算函数以及基本的绘图命令,还有几种循环等结构。
同时,我深切地体会到,只有多动手,多动脑,才能真正学到知识,程序是经过不断地折腾才提炼出来的,学数学实验要有耐心。
附图如下
3题图
4题图
5题图
(1)
5题图
(2)
8题图
(1)
8题图
(2)
9题图
教师签名
年月日