资源描述
《Matlab》课内实验报告
姓名:
学号:
学院:
班级:
课程名称:
Matlab语言程序设计
实验题目:
Matlab基础知识的综合运用
指导教师:
2012年03月22日
一、实验目的
1. 熟悉Matlab的工作环境;
2. 掌握Matlab中创建矩阵的方法和矩阵的运算;
3. 掌握Matlab中图形的绘制;
4. 掌握Matlab的多项式函数;
5. 掌握Matlab的数据分析函数。
二、实验内容和结果
1.计算;保存;清除工作空间中的变量;将保存的读取到工作空间;清空命令窗口。
>> s=(2*sin(pi/5+2)-0.4)/(cos(6)+4)+4
s =
4.1173
>> save s
>> clear s
>> load s
>> clc
2.生成随机逻辑矩阵和;对矩阵和作与、或、非以及异或运算,并将结果分别赋给四个变量名;选择其中两个测试逻辑函数any和all。
>> A=rand(2,3);
>> B=rand(2,3);
>> x1=A&B
x1 =
1 1 1
1 1 1
>> x2=A|B
>> x3=xor(A,B)
>> x4=~A
>> any(x1)
>> all(x1)
>> any(x3)
3.用plot命令绘制函数的图像(注意定义域)。加标题,x轴y轴标注,在点处用text命令加标注。
>> clear
>> y=inline('x.^2.*sinh(x)./(log(x.^2)+1)')
y =
Inline function:
y(x) = x.^2.*sinh(x)./(log(x.^2)+1)
>> x=-3:0.01:3;
>> plot(x,y(x));
>> text(2,y(2),'O');
>>
4.将绘图窗口分成两行两列四个子窗口,第一个窗口用mesh绘制,第二个窗口用surf绘制,第三个窗口用plot3绘制,第四个窗口用ezplot绘制。
>> clear
>> [x,y]=meshgrid(-10:0.01:10,-10:0.01:10);
>> z=sqrt(x.^2+y.^2);
>> subplot(2,2,1);mesh(x,y,z);
>> subplot(2,2,2);surf(x,y,z);
>> t=-10:0.1:10;
>> x1=t.*cos(t);
>> y1=t.*sin(t);
>> z1=2*t;
>> subplot(2,2,3);plot3(x1,y1,z1);
>> subplot(2,2,4);ezplot('x.^2+y.^2=1');
>> axise equal;
5.用plot在内绘制的图形;利用hold命令保持绘图窗口;在相同的范围内绘制的图形。
>> x=-2*pi:0.01:2*pi;
>> y=x.*sin(x);
>> z=exp(x);
>> plot(x,y);hold on
>> plot(x,z);
6.用inline定义函数;并用plot绘制其在上的图像。
>> clear
>> x=-pi:0.01:pi;
>> y=inline('x.*exp(-x).*sin(x)');
>> plot(x,y(x));
7.生成字符串’e=(e的数值)’。
>> clear
>> a=exp(1);
>> b=num2str(a);
>> c='e='
>> m=strcat(c,b)
m =
e=2.7183
>>
8.比较4个字符串比较函数。
>> a=char('dsjfks');
>> c=char('eurinf');
>> b=char('dfjei');
>> d=char('dureiur');
>> s=strcmp(a,b);
>> s1=strncmp(a,b,3);
>> s2=strcmpi(a,b)
>> s3=strncmpi(a,b,1);
9.求多项式函数的根,求以得到的根向量为根的多项式;求的导函数系数向量和以5为常数项的原函数系数向量;在同一绘图窗口中用plot绘制,,的图像,并加图例。
>> clear
>> p=[2 3 0 4];
>> r=roots(p);
>> p1=poly(r)
>> clear
>> p=[2 3 0 4];
>> r=roots(p);
>> p1=poly(r)
>> p2=polyder(p);
>> q1=polyder(p);
>> polyint(q1)
>> q2=[2 3 0 5];
>> x=0:0.01:10;
>> p11=polyval(p,x);
>> q11=polyval(q1,x);
>> q22=polyval(q2,x);
>> plot(x,p11,'*',x,q11,x,q22);
10.输入向量,按从大到小的顺序排序。
>> x=rand(1,20);
>> s=sort(x);
>> s=fliplr(s);
11. 找出数组中所有绝对值大于3的元素。
>> A=[-4 -2 0 2 4;-3 -1 1 3 5];
>> t=find(abs(A)>3);
>> A(t)
ans =
-4
4
5
>>
三、思考及总结
1、mesh函数的应用必须首先建立网格。
2、sh(x)函数在matlab中的命令为cosh()。
3、ln()函数在matlab中命令为log()。
4、polyint()为积分函数。
5、为保证所画为圆形等中心对称图形应该进行axis equal操作指令。
6、A(位置量)就可以找到A矩阵中所对应的相应量。
7、ezplot()的括号中直接放加了引号的函数关系式。
- 8 -
展开阅读全文