程序设计训练
报 告
题 目 13.三角函数图形的显示
15.子窗口显示图形
学生姓名
学生学号
专业班级
指导老师
2012 年 6 月 22 日
一、实验名称:用matlab处理基本运算与画图
二、实验目的:
1. 掌握二维曲线绘图的基本方法与命令;
2. 掌握一个窗口多个图形的画法,分割子窗口的画法;
三、实验说明:
plot:画坐标图的基本命令,可以通过此命令指定曲线样式;
grid on:画出网格;
xlabel\ylable:标出横\纵坐标;
title:给图表名称;
legend:指定标注位置及曲线标注名称;
text:在图上添加文字说明;
axis:控制坐标范围;
subplot:分割窗口并指定下一图所在窗口;
plotyy:画双纵坐标;
四、实验内容:
1. 在区间x=0: p/100:2*p内,在同一坐标系中绘制曲线y1=sin(x),y2=cos(x),并对图形加上一些说明。
代码如下:
x=0:pi/100:2*pi;
y1=sin(x);
y2=cos(x);
plot(x,y1,'-.square b',x,y2,'-diamond r'); %画出图形
grid on; %画出网格
xlabel('时间'); %添加坐标名称
ylabel('正弦、余弦');
title('正弦和余弦曲线'); %添加图形标题
legend('正弦','余弦',-1); %添加标注及指定标注位置
text(2.5,sin(2.5),' \leftarrow sin(x)','FontSize',18); %在图形上添加说明
text(0.6,cos(2.3),' cos(x) \rightarrow','FontSize',18);
axis([0 2*pi -1.1 1.1]); %控制坐标范围
实验结果:
2. 在第1个子窗口用极坐标画图显示r=0.5(1+cos(θ)),其中θ∈[0,2π];在第2个子窗口作填充图,填充坐标矢量为X=[0 0.2 0.8 1 0.5 0],Y=[1 0 0 1 1.8 1],填充颜色为蓝色;在第3个子窗口作双y轴图y1=sin(t),t∈[0,4π],y2=20*cos(t);在第4个子窗口显示相图x=sin(t),y=cos(t).
代码如下:
theta=0:0.1:2*pi;
rho=0.5*(1+cos(theta));
subplot(2,2,1); %指定下图画在窗口一
polar(theta,rho);
x=[0 0.2 0.8 1 0.5 0];
y=[1 0 0 1 1.8 1];
subplot(2,2,2);
hold on;
plot(x,y);
fill(x,y,'b'); %填充(需指定填充颜色)
t=0:0.1:4*pi;
subplot(2,2,3);
y1=sin(t);
y2=20*cos(t);
plotyy(t,y1,1.5*y1+pi,y2); %画双纵坐标图
x=sin(theta);
y=cos(theta);
subplot(2,2,4);
plot(x,y);
实验结果:
五、实验体会:
任何一门编程语言,在使用过程中,都必须做到细心。不然,一个小小的错误,可能让你浪费大量时间。在此次实验中,只是细心是不够的。不管是有些老师讲过的知识点没记住,还是有些知识点没讲到,这就要求我们必须去面对问题,认真查找资料,已解决问题。
通过学习matlab绘图,我知道了matlab具有强大的绘图与处理功能。在平时的数学学习中,有助于我们更方便地绘出各种数学函数,使得函数图象更加具体。这将有助于数学问题的解决。
通过本次实验,我掌握matlab中一般文件与函数文件的建立与命名
方法;熟悉matlab中常用基本函数的输入命令;理解matlab画图的基本
原理,掌握matlab画二维图形和点的基本命令;掌握一个窗口多个图形的画法,分割子窗口的画法。
六、附录:
题一变量
题二变量
第二篇:MATLAB实验报告(四份!!!)
MATLAB 实验报告
实验一 基本操作和简单语句输入
一 实验环境 计算机 MATLAB软件
二 实验目的 1.熟悉MATLAB的命令窗口。
2.掌握MATLAB一些基本操作,能进行一般的数值计算。
3.实现语句的重调和修改 。
三 预备知识 1.MATLAB的窗口组成 MATLAB主窗口中,层叠平铺了Command window(命令窗口),Launch pad(发射台),Workspace(工作空间),Command history(命令历史记录),Current directory(当前目录)等子窗口。
2.命令窗口菜单栏 单击菜单栏上的“File”选项,就会弹出下拉菜单New,Open等
四 实验内容与步骤
1.启动MATLAB
2.观察MATLAB窗口的各个组成部分
1) 了解菜单栏各菜单功能,用鼠标打开MATLAB各个菜单,在状态栏里显示当前鼠标所指的菜单项的含义。
2) 用鼠标指向常用工具栏的每个工具按钮,了解其含义。
3.命令窗口的打开和关闭。
(1)查看菜单窗口中有哪些菜单命令。
(2)在命令窗口中输入命令a=3;b=4;y=a*b+a/b,然后回车,查看命令显示结果。
(3)利用MATLAB中编辑命令行时常用的按键功能,调出一个语句,对它进行修改,并把运行结果复制到word中保存。
(4)关闭命令窗口。
(5)打开命令窗口。
4.使用MATLAB帮助
5.在命令窗中输入demo,将出现MATLAB演示窗,对MATLAB功能进行一次浏览。
五 练习
1. 调出MATLAB/stateflow的演示示例。
This is a demonstration of some aspects of the MATLAB language.
First,let us create a simple vector with 9 elements called a.a=[1 2 3 4 6 4 3 4 5]
So a=
1 2 3 4 6 4 3 4 5
Now let us add 2 to each element of our vector, a, and store the result in a new vector.
Notice how MATLAB requires no special handling of vector or matrix math.b=a+2
So b=
3 4 5 6 8 6 5 6 7
Creating graphs in MATLAB is as easy as one command.let us plot the result of our vector addition with grid lines.plot(b)
Grid on
2.计算,x=2,x=3时的值。
>> x=2, y=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x)
x =2
y = -4.4697
>> x=3, y=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x)
x = 3
y = 10.386
3.计算
>> cos(60)-sqrt(9-sqrt(2))
ans = -3.7066
4.已知: a=3,A=4,b=,B=-1,c=a+A-2B,C=a+B+2c,求: C
>> a=3,A=4,b=a^2,B=b^2-1,c=a+A-2*B,C=a+B+2*c
a = 3
A = 4
b = 9
B = 80
c = -153
C = -223
实验二 矩阵和数组的操作
一 实验环境 计算机 MATLAB软件
二 实验目的 1.掌握矩阵和数组的一般操作,包括创建、保存、修改和调用等。
2.学习矩阵和数组的加减运算与乘法。
3.掌握对数组中元素的寻访与赋值,会对数组进行一般的操作。
三 预备知识
常用的产生特殊矩阵的函数: eye(n)单位阵 rand(m,n)随机矩阵 rand(m,n)正态分布随机阵
zeros(m,n)零矩阵 ones(n)全部元素都为1的矩阵 magic(n)
四 实验内容与步骤
1. 用三种方法创建一个3x3矩阵,利用矩阵编辑器将其扩充为4x5的矩阵,并保存。
1) 直接输入法 如在命令输入A=[3,2,1;4,5,6;7,8,9]。
2) 直接利用MATLAB提供的函数创建一个3x3矩阵 如在命令区输入rand(3,3)即得到一个3x3的随机矩阵。
3) 利用MATLAB提供的“Matrix Editor”完成输入。
2. 建立一个等差数列,然后由它产生一个对角阵。
>> a=linspace(0,1.5,5)
a = 0 0.3750 0.7500 1.1250 1.5000
>> B=diag(a)
B =
0 0 0 0 0
0 0.3750 0 0 0
0 0 0.7500 0 0
0 0 0 1.1250 0
0 0 0 0 1.5000
3. 利用MATLAB的函数inv(A)求方阵A的逆矩阵。
>> A=[1,2;5,6]
A = 1 2
5 6
>> B=inv(A)
B = -1.5000 0.5000
1.2500 -0.2500
五 练习
1. 创建一个5x5矩阵,提取主对角线以上的部分。
>> A=rand(5,5)
A = 0.9501 0.7621 0.6154 0.4057 0.0579
0.2311 0.4565 0.7919 0.9355 0.3529
0.6068 0.0185 0.9218 0.9169 0.8132
0.4860 0.8214 0.7382 0.4103 0.0099
0.8913 0.4447 0.1763 0.8936 0.1389
>> B=A-tril(A)
B = 0.9501 0.7621 0.6154 0.4057 0.0579
0.4565 0.7919 0.9355 0.3529
0.9218 0.9169 0.8132
0.4103 0.0099
0.1389
2. A=rand(3),B=magic(3),C=rand(3,4),计算AxBxC
>> A=rand(3)
A =
0.2028 0.2722 0.7468
0.1987 0.1988 0.4451
0.6038 0.0153 0.9318
>> B=magic(3)
B =
8 1 6
3 5 7
4 9 2
>> C=rand(3,4)
C =
0.4660 0.5252 0.8381 0.3795
0.4186 0.2026 0.0196 0.8318
0.8462 0.6721 0.6813 0.5028
>> A*B*C
ans =
9.9025 7.6305 7.8546 11.2710
6.9648 5.4717 5.7935 7.5764
12.5380 10.1149 11.1993 13.6187
3.创建一个3x3矩阵,并求其转置,逆矩阵。
>> A=magic(3)
A =
8 1 6
3 5 7
4 9 2
>> A'
ans =
8 3 4
1 5 9
6 7 2
>> inv(A)
ans =
0.1472 -0.1444 0.0639
-0.0611 0.0222 0.1056
-0.0194 0.1889 -0.1028
4.用两种方法求Ax=b的解(A为四阶随机矩阵,b为四阶列向量)。
>> A=rand(4)
A =
0.7095 0.1934 0.1509 0.8537
0.4289 0.6822 0.6979 0.5936
0.3046 0.3028 0.3784 0.4966
0.1897 0.5417 0.8600 0.8998
>> b=[3;5;1;4]
b =
3
5
1
4
>> x=A\b
x =
-33.5325
60.6078
-54.7098
27.3192
>> x=linsolve(A,b)
x =
[ -25012684883469343857355768268856511193160192689537070603213733888/745923421447342920013045063411519019849591248812743641090641579]
[ 45208809461043319490286549508580640316173479517271044628108279808/745923421447342920013045063411519019849591248812743641090641579]
[ -40809314514940621024347106478778749067505032416204336537704333312/745923421447342920013045063411519019849591248812743641090641579]
[ 2264222330641016109064651939180364655304909872418653511505412096/82880380160815880001449451490168779983287916534749293454515731]
>> double(x)
ans =
-33.5325
60.6078
-54.7098
27.3192
实验三 MATLAB绘图
一 实验环境 计算机 MATLAB软件
二 实验目的
1. 掌握MATLAB的基本绘命令。
2. 掌握运用MATLAB绘制一维、二维、三维的图形方法。
3. 给图形加以修饰。
三 预备知识 特殊的二维图形函数有:直方图、柄图、阶梯图、饼图、频数累计柱状图、极坐标图
四 实验内容和步骤
1. 创建一个5x5魔方矩阵,并画出这个矩阵的图形。
A=magic(5);
>> plot(A)
2. 在同一坐标轴里绘出y=sin(x),z=cos(x)两条曲线。
x=linspace(0,2*pi,50);
>> y=sin(x);
>> plot(x,y)
>> hold on
>> z=cos(x);
>> plot(x,z)
>> hold off
3. 画出y=的曲线(x(-5,5))。在这曲线上加入相同区间里的y=的曲线,并且采用绿色折线标识。
>> x=linspace(-5,5,100);
>> y=x.^2;
>> plot(x,y)
>> hold on
>> z=x.^(1/3);
>> plot(x,z,'g--')
4. 在同一窗口不同坐标系里分别绘出y1=sinx,y2=cosx,y3=cinh(x),y4=cosh(x)4个图形。
>> x=linspace(0,2*pi,30);
>> subplot(2,2,1);plot(x,sin(x));
>> subplot(2,2,2);plot(x,cos(x));
>> subplot(2,2,3);plot(x,sinh(x));
>> subplot(2,2,4);plot(x,cosh(x));
5. 绘制一个三维曲线x=cosp,y=sinp,z=p。
>> p=0:pi/10:20*pi;
>> x=cos(p);y=sin(p);z=p;
>> plot3(x,y,z)
五 练习
1. 画出横坐标在(-15,15)上的函数y=cosx的曲线。
>> x=linspace(-15,15,100);
>> y=cos(x);
>> plot(x,y)
2. 用图形表示离散函数y=并加入网格。
>> n=7:12;
>> y=1./abs(n-6);
>> plot(n,y,'p')
>> grid
3. 用图形表示连续调制波形y=sin(t)sin(9t)及其包络线。
>> t=linspace(0,4*pi,300);
>> y=sin(t).*sin(9*t);
>> y1=sin(t);y2=-sin(t);
>> plot(t,y,t,y1,'-.',t,y2,'-.')
实验四 M文件的缩写
一 实验环境 计算机 MATLAB软件
二 实验目的
1. 学习MATLAB中的关系运算和逻辑运算,掌握它们的表达形式和用法。
2. 掌握MATLAB 中的选择结构和循环结构。
3. 学会用MATLAB进行M文件的编写和调用。
三 预备知识
1.关系和逻辑运算 MATLAB常用的关系符有:﹤、﹥、﹤=、﹥=、==、~=。
2.选择结构 if语句和switch语句
3.循环结构 for语句一般用于循环次数已知的情况,while语句一般用于循环次数未知的情况
四 实验内容和步骤
1. 创建一个矩阵,用函数all和any作用于该矩阵,比较结果。
创建一个矩阵 a=[1,2,0,3;2,0,1,4];
b=all(a),c=any(a),d=all(b),e=any(b)
比较结果 b=1 0 0 1 c= 1 1 1 1 d=0 e=1
2. 编写一个switch语句,判断输入数的奇偶性。
n=input(n==);
switch mod(n,2);
case 1
A=‘奇’
case 0
A=‘偶’
otherwise
A=‘空’
end
3. 编写一个程序画出某一分段函数所表示的曲面,并用M文件存储。
步骤1:打开MATLAB的M文件编辑器file/new/M-file,编写内容。
步骤2:选择file/save命令,将文件保存并命名。
步骤3:在command window窗口输入文件名,可看到图形。
五 练习
1. 编写一个程序计算n的阶乘。
function
N=input('N=');
result=1;
for i=1:N
result=result*i;
end
result;
>> aaa
N=3
ans =
6
2. 编写一个程序求出阶乘大于或等于的最小整数。
function m=fei
m=1;
max=99^99
n=1;
while m<max
m=m*n;
n=n+1;
end
n=n-1
>>m=1
>>fei
max=3.6973e+197
n=120
ans=6.6895e+198
>>n=119;
>>jiech(119)
m=5.5746e+196
ans=5.5746e+196