搜档网
当前位置:搜档网 › matlab实验报告

matlab实验报告

matlab实验报告
matlab实验报告

南昌大学信息工程学院

信号与系统实验报告

班级:通信122班

姓名:段博

学号:6100212256

软件实验部分:1.用matlab实现π的求解解:相应程序如下:

for n=1:10000

sum=qiuhe(n);

pai(1,n)=sqrt(6*sum);

end

t=[1:10000];

plot(t,pai,'r')

调用函数sum如下

function sum=qiuhe(m);

sum=0;

for n=1:m

a=1/(n^2);

sum=sum+a;

end

2.用simulink实现冲激响应

观察波形如图所示:

3.1.已知某系统微分方程为

r’’(t)+r’(t)+r(t)=e’(t)+e(t)

分别用两种方法计算其冲激响应h(t)和阶跃响应g(t),对比理论结果进行验证。

解:a=[1,1,1];

b=[1,1];

sys=tf(b,a); %定义LTI系统模型

t=[0:0.01:10]; %生成0到10s,间隔0.01s的抽样时间

figure;

subplot(2,2,1);

step(sys);

subplot(2,2,2);

x_step=zeros(size(t)); %产生阶跃信号

x_step(t>0)=1;

x_step(t==0)=1/2;

lsim(sys,x_step,t); %仿真x_step激励sys的响应并绘图

subplot(2,2,3);

[h1,t1]=impulse(sys,t);

plot(t1,h1,'k');

title('Impulse Response');

xlabel('Time(sec)');

ylabel('Amplitude');

subplot(2,2,4); %在右下角的子图中用第二种方法绘制冲激响应

x_delta=zeros(size(t)); %产生冲激信号

x_delta(t==0)=100; %保证数值积分为1

[y1,t]=lsim(sys,x_delta,t); %仿真x_delta激励sys的响应并保存

y2=y1'-x_delta;

plot(t,y2,'k');

title('Impulse Response');

xlabel('Time(sec)');

ylabel('Amplitude');

结论:通过比较发现两种方法求解冲击响应和阶跃响应的结果是一致的

3.2. 请编写一个自定义函数【F,tF】=int1(f,tf,a).实现数值积分,其中f和tf 分别用列矢量表示待积函数的抽样值和抽样时间,a表示积分的其实时间,F和tF分别表示积分结果的抽样值和抽样时间。请设计一个积分运算验证int1的计算结果是否正确。

解:编写自定义函数int1:

function [tF,F]=int1(f,tf,a)

i=0;

j=1;

F(1,1)=0;

while (i<(length(tf)-1))

i=i+1;

if tf(i,1)

tF(1,1)=tf(i+1,1);

continue

end

b=(f(i,1)+f(i+1,1))/2*(tf(i+1,1)-tf(i,1));

F(j+1,1)=F(j,1)+b;

tF(j+1,1)=tf(i+1,1);

j=j+1;

end

主程序如下:

t=[-10:0.001:10];

s=10*(t>=-0.05&t<=0.05);

[m,n]=int1(s',t',-0.05);

plot(m,n,'r')

运行结果:

4-1: 如图所示锯齿波信号,分别取一个周期的抽样数据1

0),(1<≤t t x 和五个周

期的数据50),(<≤t t x ,计算其傅里叶变换)

(1ωX 和)(ωX ,比较有何不同并解

释原因。

解:程序如下

一个周期 T=1; N=100;

t=linspace(0,T-T/N,N)';

f=sawtooth(t*2*pi,0);

OMG=10*pi;

K=100;

omg=linspace(-OMG/2,OMG/2-OMG/K,K)';

F=0*omg;

for k=1:K

for n=1:N

F(k)=F(k)+T/N*f(n)*exp(-j*omg(k)*t(n));

end

end

fs=0*t;

for n=1:N

for k=1:K

fs(n)=fs(n)+OMG/2/pi/K*F(k)*exp(j*omg(k)*t(n));

end

end

figure;

subplot(1,2,1);

plot(omg,F);

title('Fourier transform');

xlabel('Frequency');

subplot(1,2,2)

plot(t,fs);

title('Fourier inversion');

xlabel('Time(sec)');

五个周期

T=5;

N=100;

t=linspace(0,T-T/N,N)';

f=sawtooth(t*2*pi,0);

OMG=10*pi;

K=100;

omg=linspace(-OMG/2,OMG/2-OMG/K,K)';

F=0*omg;

for k=1:K

for n=1:N

F(k)=F(k)+T/N*f(n)*exp(-j*omg(k)*t(n));

end

end

fs=0*t;

for n=1:N

for k=1:K

fs(n)=fs(n)+OMG/2/pi/K*F(k)*exp(j*omg(k)*t(n));

end

end

figure;

subplot(1,2,1);

plot(omg,F);

title('Fourier transform'); xlabel('Frequency'); subplot(1,2,2)

plot(t,fs);

title('Fourier inversion'); xlabel('Time(sec)');

运行结果:

(1)一个周期

五个周期

结果分析:

两个函数的时域频域图像略有不同,五个周期的函数由于其频率分布比较集中,故而其傅里叶变换图像跳变比较大,而一个周期的频率分布较分散所以傅里叶变换图较平滑.

5.1对下面系统函数

655

4)(2

1+++=

s s t s

H

分别用residue 计算冲激响应理论值,再和用lsim 仿真得到的冲激响应比较是否相同。 解:

求系统函数的部分分式展开形式:

b=[4,5]; a=[1,5,6];

[r,p,k]=residue(b,a); 得到系数r ,极点p 和自由项k 运行结果: r = 7.0000 -3.0000 p = -3.0000 -2.0000 k = []

因此系统函数部分分式展开为:H(s)=7/(s+3)-3/(s+2) 从而可直接写出拉式逆变换式: h(t)=7e^(-3t)-3e^(-2t) 绘图如下:

t=[0:0.01:10];

h=7*exp(-3*t)-3*exp(-2*t);

plot(t,h);

用lsim仿真:

b=[4,5];

a=[1,5,6];

sys=tf(b,a); %定义系统传递函数H(s)

t=[0:0.01:10];

h=zeros(size(t));

h(t==0)=100; %产生冲击信号

[H,t]=lsim(sys,h,t); %仿真冲击响应

plot(t,H); %绘图

结果如下:

通过比较两种结果是相同的。

5.2.编写函数s=isstable(sys),判断用传递函数描述的系统模型sys的稳定性。返回值s为1表示系统稳定,为0表示不稳定。分别设计一个稳定系统和一个不稳定系统验证该函数的正确性。

解:程序如下

function s=isstable(sys) %编写函数s

[p,z]=pzmap(sys);

N=length(p);

for k=1:N

if real(p(k))>=0; %判断实部是否大于或等于0 break;

k=k+1;

end

if k>N

s=1;

else

s=0;

验证:

(不稳定系统)

a=[1,-5];

sys=tf(1,a);

s=isstable(sys);

结果:s=0

(稳定系统)

a=[1, 5];

sys=tf(1,a);

s=isstable(sys);

结果:s=1

5.3. 已知激励信号

e t

t e-

=

)(

,零状态响应

e

e

e t

t

t

t r3

22

2

1

)(-

-

-+

-

=

,绘制此系

统的冲激响应h(t),频率响应H(jω)和零、极点分布图。解:程序如下:

syms s;

h=ilaplace(1.5+1/(s+2)-4/(s+3))

b=[1.5,4.5,2];

a=[1,5,6];

figure;

subplot(2,1,1);

pzmap(b,a);

subplot(2,1,2);

impulse(b,a);

figure(2);

freqs(b,a);

运行结果如下:

h =exp(-2*t) - 4*exp(-3*t) + (3*dirac(t))/2

7.1. 已知某系统差分方程为y(n)+0.5y(n-1)-0.2y(n-2)-0.1y(n-3)=x(n)-0.3x(n-1),试求其冲激响应和阶跃响应,并判断该系统是否稳定。

解:

程序如下:

a=[10,5,-2,-1];

b=[10,-3];

n=[0:10];

[hi,t]=impz(b,a,n);

stem(t,hi); %求单位冲击响应

x=(n>=0);

hf=filter(b,a,x);

figure;

stem(n,hf); %求阶跃响应

运行结果截图如下:

冲击响应:阶跃响应:

由响应结果可知响应函数收敛,因此该系统是稳定的

7.2.若用x(n)=0.5^n激励7.1题中的系统,求输出y(n)。

解:

程序如下:

a=[10,5,-2,-1];

b=[10,-3];

n=[0:10]';

x=0.5.^n;

y=filter(b,a,x);

figure;stem(n,y);

运行结果截图如下:

改变7.1中的激励求得的相应y(n)

8-2.已知某因果离散系统的差分方程为y(n)+3y(n-1)-y(n-2)=x(n) 试求:(1)系统的样值响应h(n);

(2)若x(n)=(n+n^2)[u(n)-u(n-6)],求响应y(n)。

解:程序如下

syms n z; %定义符号n,z

x=(n^2+n)*(heaviside(n)-heaviside(n-6));

X=ztrans(x); %对x(n)求z变换

H=1/(1+3*z^(-1)-z^(-2)); %预先算出的H(z)

Y=H*X ; %利用H(z)=Y(z)/x(z)求出Y(z) h=iztrans(H) ; %求z反变换

y=iztrans(Y) ; %求z反变换

仿真结果:

X =z/(z - 1)^2 - ((12*z)/(z - 1)^2 + 36/(z - 1) + (z*(z + 1))/(z - 1)^3 + 18)/z^6 - (z/(z - 1)^2 + 6/(z - 1) + 3)/z^6 + (z*(z + 1))/(z - 1)^3

Y =(z/(z - 1)^2 - ((12*z)/(z - 1)^2 + 36/(z - 1) + (z*(z + 1))/(z - 1)^3 + 18)/z^6 - (z/(z - 1)^2 + 6/(z - 1) + 3)/z^6 + (z*(z + 1))/(z - 1)^3)/(3/z - 1/z^2 + 1)

单位样值响应h(n) =(2*(-1)^(2*n)*cos(n*(pi/2 + asinh(3/2)*i)))/i^n + ((-1)^n*13^(1/2)*(3/2 - 13^(1/2)/2)^(n - 1))/13 -

((-1)^n*13^(1/2)*(13^(1/2)/2 + 3/2)^(n - 1))/13

给出激励下的响应y(n)=(12697*(-1)^n*13^(1/2)*(13^(1/2)/2 + 3/2)^(n - 1))/39 - 320*kroneckerDelta(n - 2, 0) - 93*kroneckerDelta(n - 3, 0) - 21*kroneckerDelta(n - 4, 0) - 3521*kroneckerDelta(n, 0) -

(2134*(-1)^(2*n)*cos(n*(pi/2 + asinh(3/2)*i)))/(3*i^n) -

(12697*(-1)^n*13^(1/2)*(3/2 - 13^(1/2)/2)^(n - 1))/39 -

1065*kroneckerDelta(n - 1, 0)

8-3.已知某离散时间系统极点为p={0.1,,0.5±j0.2,-0.9},零点为z={0,1},绘制该系统的单位样值响应,单位阶跃响应和幅频、相频响应。

解:程序如下

z=[0;1];

p=[0.1;0.5+j*0.2;0.5-j*0.2;-0.9];

[b,a]=zp2tf(z,p,1);

[h,t]=impz(b,a,20);

figure;

stem(t,h);

n=[0:10];

x=(n>=0);

u=filter(b,a,x);

figure;

stem(n,u)

figure;

zplane(b,a);

figure; freqz(b,a);

运行结果:

单位样值响应:单位阶跃响应:

幅频相频响应:

13-1. 已知有两个基带信号x(t)=cost 和y(t)=2cos(2t),分别用载波c1=cos(100t)和c2(t)=cos(110t)进行传输,并绘制各关键点的信号波形。

解:先定义prefourier函数:

function[t,omg,FT,IFT]=prefourier(Trg,N,OMGrg,K);

T=Trg(2)-Trg(1);

t=linspace(Trg(1),Trg(2)-T/N,N)';

OMG=OMGrg(2)-OMGrg(1);

omg=linspace(OMGrg(1),OMGrg(2)-OMG/K,K)';

FT=T/N*exp(-j*kron(omg,t.'));

IFT=OMG/2/pi/K*exp(j*kron(t,omg.'));

再编写主程序:

x=1;

y=100;

[t,omg,FT,IFT]=prefourier([0,50],1000,[-25,25],1000);

g=cos(x*t);

f=g.*cos(y*t);

g0=f.*cos(y*t);

G0=FT*g0;

H=(omg<10&omg>-10); G1=G0.*H;

g1=IFT*G1;

G=FT*g;

F=FT*f;

subplot(4,1,1);

plot(t,g)

subplot(4,1,2);

plot(t,f)

subplot(4,1,3);

plot(t,g0)

subplot(4,1,4);

plot(t,g1)

figure;

subplot(5,1,1);

plot(omg,G)

subplot(5,1,2);

plot(omg,F)

subplot(5,1,3);

plot(omg,G0)

subplot(5,1,4);

plot(omg,H)

subplot(5,1,5);

plot(omg,G1)

运行结果:

硬件实验部分:

实验一周期信号的频谱测试

一、实验目的:

1、掌握周期信号频谱的测试方法;

2、了解典型信号频谱的特点,建立典型信号的波形与频谱之间的关系。

二、实验原理及方法:

1、信号的频谱可分为幅度谱、相位谱和功率谱,分别是将信号的基波和各次谐波的振幅、相位和功率按频率的高低依次排列而成的图形。

2、周期连续时间信号的频谱具有离散性、谐波性、收敛性三个特点。例如正弦波、周期矩形脉冲、三角波的幅度谱分别如图1-1,1-2,1-3所示:

图1-1(a) 正弦波信号图1-1(b) 相应的幅度谱

图1-2(a) 周期矩形脉冲图1-2(b) 相应的幅度谱因此,信号的频谱测试方法可用频谱分析仪直接测量亦可用逐点选频测量法进行测量。本实验使用GDS-806C型号的数字存储示波器直接测试幅度谱。

用示波器直接测试,就是将其与EE1460C函数信号发生器连好。分别输入相应频率(重复频率)和幅度的正弦波,三角波和矩形波,此时示波器将显示按频率由低到高的各输入信号的谐波分量。GDS-806C数字存储示波器测频谱的方法,就是将MATH键按下,F1键选择FFT(快速傅立叶转换)功能可以将一个时域信号转换成频率构成,显示器出现一条红颜色的频谱扫描线。当示波器输入了不同信号的波形时就显示它们相应的频谱, 参数的测量由调试水平(即频率)与垂直(即增益)游标获取,从而得到输入信号的频谱图。

三、实验设备:

GDS-806C 数字存储示波器和EE1640函数信号发生器/计数器.

四、实验内容及步骤:

1、测试正弦波的幅度频谱

将信号源、示波器、连接好;信号源CH1的输出波形调为正弦波,输出频率自选,输出信号幅度自选 ,并记录幅度与频率的参数.测出前五次谐波分量.将其数据记入表中 2、测试三角波的幅度频谱

在实验步骤1的基础上将信号源CH1的输出波形调为三角波(T) ,频率自选,幅度自选.并记录幅度和周期的参数.测出前五次谐波分量。将测量数据填入表中。 3、测试周期矩形脉冲的幅度频谱

(1) 将信号源的输出线接“脉冲”输出端 ,信号频率,幅度和脉宽自选,测出信号的前5

次谐波分量,记入表中.

(2) 改变脉冲宽度,周期与幅度不变,同上(1).记入表中 (3) 改变周期,脉宽与幅度不变,同上(2).记入表中

八、实验数据

图1-3(a) 三角波

1-3(b) 相应的幅度谱

绘图:(以2π×f的值为横轴,Cn为纵轴)

正弦波的幅度频谱

三角波的幅度频谱

周期矩形脉冲幅度频谱(改变脉冲宽度,周期与幅度不变)

通过此实验掌握了如何测量周期信号频谱的方法,并了解了周期信号的频谱特

点。并且对示波器的了解加深了,为以后的硬件实验打下基础。

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

matlab实验报告

MATLAB 数学实验报告 指导老师: 班级: 小组成员: 时间:201_/_/_

Matlab 第二次实验报告 小组成员: 1 题目:实验四,MATLAB 选择结构与应用实验 目的:掌握if 选择结构与程序流程控制,重点掌握break,return , pause语句的应用。 问题:问题1:验证“哥德巴赫猜想” ,即:任何一个正偶数(n>=6)均可表示为两个质数的和。要求编制一个函数程序,输入一个正偶数,返回两个质数的和。 问题分析:由用户输入一个大于6 的偶数,由input 语句实现。由if 判断语句判断是否输入的数据符合条件。再引用质数判断函数来找出两个质数,再向屏幕输出两个质数即可。 编程:function [z1,z2]=gede(n); n=input('please input n')

if n<6 disp('data error'); return end if mod(n,2)==0 for i=2:n/2 k=0; for j=2:sqrt(i) if mod(i,j)==0 k=k+1; end end for j=2:sqrt(n-i) if mod(n-i,j)==0 k=k+1; end end if k==0 fprintf('two numbers are') fprintf('%.0f,%.0f',i,n- i) break end

end end 结果分析 如上图,用户输入了大于6的偶数返回两个质数5和31,通过 不断试验,即可验证哥德巴赫猜想。 纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰,更快的解决问题。 2题目:实验四,MATLAB选择结构与应用实验 目的:用matlab联系生活实际,解决一些生活中常见的实际问 题。

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。

举例:计算一个函数并绘制出在对应区间上对应的值。 2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p 表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1:

中南大学matlab课后答案-第九章

实验指导 1, >> figure('Color',[1,0,0],'WindowButtonDownFcn','text(0.5,0.5,''Left Button Pressed'')');axis off 2, (1)默认属性 >> x=linspace(0,600,100000);y=(log(x+sqrt(1+x.*x)))/2;line(x,y) 句柄操作 >> x=linspace(0,600,100000); y=(log(x+sqrt(1+x.*x)))/2; line(x,y,'linewidth',3,'linestyle','-.','color','r'); text(300,3.5,'文字标注') (2)默认属性 >> t=linspace(0,20,500);x=t.*t;y=5.*t.*t;line(x,y) 句柄操作 >> t=linspace(0,20,500); x=t.*t;y=5.*t.*t;line(x,y); line(x,y,'linewidth',3,'linestyle','-.','color','r'); text(250,1600,'文字标注') 3, (1) >> x=linspace(0,50,1000); [x,y]=meshgrid(x); z=x.*x+y.*y-5.*sin(x.*y); axes('view',[-37.5,30]); surf(x,y,z); light('position',[10,20,4000]); shading interp (2) >> x=linspace(0,50,1000); [x,y]=meshgrid(x); z=y.*y.*y; axes('view',[-37.5,30]); surf(x,y,z); light('position',[30,20,1300000]); shading interp 4, >> x=-2*pi:0.01:2*pi; y1=sin(x); y2=cos(x); axes('position',[0.1,0.6,0.2,0.2]); plot(x,y1); axes('position',[0.6,0.6,0.2,0.2]); plot(x,y2); axes('position',[0.1,0.1,0.2,0.2]); fplot('tan(x)',[-1.5,1.5]); axes('position',[0.6,0.1,0.2,0.2]);

MATLAB实验报告实验二

实验二 MATLAB矩阵及其运算 学号:3121003104 姓名:刘艳琳专业:电子信息工程1班日期:2014.9.20 一实验目的 1、掌握Matlab数据对象的特点以及数据的运算规则。 2、掌握Matlab中建立矩阵的方法以及矩阵处理的方法。 3、掌握Matlab分析的方法。 二实验环境 PC_Windows 7旗舰版、MATLAB 7.10 三实验内容 4、1. (1)新建一个.m文件,验证书本第15页例2-1; (2)用命令方式查看和保存代码中的所有变量;

(3)用命令方式删除所有变量; (4)用命令方式载入变量z。 2. 将x=[4/3 1.2345e-6]在以下格式符下输出:短格式、短格式e方式、长格式、长格式e方式、银行格式、十六进制格式、+格式。 短格式 短格式e 长格式

长格式e方式 银行格式 十六进制格式 3.计算下列表达式的值 (1)w=sqrt(2)*(1+0.34245*10^(-6)) (2)x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a) a=3.5;b=5;c=-9.8; (3)y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a) a=3.32;b=-7.9; (4)z=0.5*exp(2*t)*log(t+sqrt(1+t*t)) t=[2,1-3i;5,-0.65];

4. 已知A=[1 2 3 4 5 ;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20],对其进行如下操作:(1)输出A在[ 7, 10]范围内的全部元素; (2)取出A的第2,4行和第1,3,5列; (3)对矩阵A变换成向量B,B=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]; (4)删除A的第2,3,4行元素; (1) (2)

中南大学材料学院科学计算与MATLAB考试题库

练习题 1.求函数在指定点的数值导数 x=sym('x'); >> y=[x x.^2 x.^3;1 2*x 3*x.^2;0 2 6*x]; >> x=1; >> eval(diff(y)) ans = 1 2 3 0 2 6 0 0 6 >> x=2; >> eval(diff(y)) ans = 1 4 12 0 2 12 0 0 6 >> x=3; >> eval(diff(y)) ans = 1 6 27 0 2 18 0 0 6 2.求下列函数导数 (1) x=sym('x'); >> y=x^10+10^x+(log(10))/log(x); >> diff(y) ans = 10*x^9+10^x*log(10)-2592480341699211/1125899906842624/log(x)^2/x (2) x=sym('x');

>> y=log(1+x); >> x=1; >> eval(diff(y,2)) %在x=1的条件下对y表达式求两次导数后导函数的值 ans = -0.2500 3.用数值方法求下列积分 首先先讲一下trapz的用法,如下题 t=0:0.001:1; >> y=t; >> trapz(t,y) ans = 0.5000 (1) >> x=1:0.01:5; >> y=(x.^2).*sqrt(2*x.^2+3); >> trapz(x,y) ans = 232.8066 (2) x=pi/4:0.01:pi/3; >> y=x./(sin(x).^2); >> trapz(x,y) ans = 0.3810 第三题拟合曲线题 x=[0:0.1:1]; >> y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]; >> a=polyfit(x,y,2); >> x=[0.05:0.2:1.05]; >> y=a(3)+a(2)*x+a(1)*x.^2 %注意x要在y前先赋值,不然y不会运行为最新的x对呀的y值 y =

中南大学matlab题目

1 求函数在指定点的导数值 () 23 2 123,1,2,3 026 x x x f x x x x x == >> syms x >> a=[x x^2 x^3;1 2*x 3*x^2;0 2 6*x]; >> f=det(a); >> diff(f,1) ans = 6*x^2 >> diff(f,2) ans = 12*x >> diff(f,3) ans = 12 2 符号法求下列函数的导数或积分 1)y=x10+10x+log x 10,求y’ f=('x^10+10^x+log(10)/log(x)') f = x^10+10^x+log(10)/log(x) >> diff(f) ans = 10*x^9+10^x*log(10)-log(10)/log(x)^2/x 2)y=ln(1+x), 求y’’∣ x=1 f=('log(1+x)/log(e)') f = log(1+x)/log(e) >> diff(f,1,2) ans = -1/(1+x)^2/log(e) 3) y=e x/cosx,求y’ f=('exp(x)/cos(x)') f = exp(x)/cos(x)

>> diff(f) ans = exp(x)/cos(x)+exp(x)/cos(x)^2*sin(x) 4) function f=fun0(t) f=t*sin(t) int('fun0','0','pi') ans = 1/2*pi^2 5) 已知函数z=sin(xy), 计算 syms x y >> z=('sin(x*y)') z = sin(x*y) >> diff(diff(z,y,2),x) ans = -cos(x*y)*y*x^2-2*sin(x*y)*x 3 用数值方法求定积分 1) function f=fun(x) f=x.^2.*sqrt(2.*x.^2+3) quad('fun',1,5) ans = 232.8057 2) function f=fun(x) f=x./sin(x).^2 quad('fun',pi/4,pi/3) ans = 0.3835 4 已知数据[x,y]如下表,试求2次拟合多项式f(x),然后求x=0.05,0.25,0.45,0.65,0.85,1.05各点的函数近似值,并绘出拟合曲线及求得

matlab实验报告

2015秋2013级《MATLAB程序设计》实验报告 实验一班级:软件131姓名:陈万全学号:132852 一、实验目的 1、了解MATLAB程序设计的开发环境,熟悉命令窗口、工作区窗口、历史命令等窗口的使用。 2、掌握MATLAB常用命令的使用。 3、掌握MATLAB帮助系统的使用。 4、熟悉利用MATLAB进行简单数学计算以及绘图的操作方法。 二、实验内容 1、启动MATLAB软件,熟悉MATLAB的基本工作桌面,了解各个窗口的功能与使用。 图1 MATLAB工作桌面 2、MATLAB的常用命令与系统帮助: (1)系统帮助 help:用来查询已知命令的用法。例如已知inv是用来计算逆矩阵,键入help inv即可得知有关inv命令的用法。 lookfor:用来寻找未知的命令。例如要寻找计算反矩阵的命令,可键入lookfor inverse,MATLAB即会列出所有和关键字inverse相关的指令。找到所需的

命令後,即可用help进一步找出其用法。 (2)数据显示格式: 常用命令:说明 format short 显示小数点后4位(缺省值) format long 显示15位 format bank 显示小数点后2位 format + 显示+,-,0 format short e 5位科学记数法 format long e 15位科学记数法 format rat 最接近的有理数显示 (3)命令行编辑:键盘上的各种箭头和控制键提供了命令的重调、编辑功能。 具体用法如下: ↑----重调前一行(可重复使用调用更早的) ↓----重调后一行 →----前移一字符 ←----后移一字符 home----前移到行首 end----移动到行末 esc----清除一行 del----清除当前字符 backspace----清除前一字符 (4)MATLAB工作区常用命令: who--------显示当前工作区中所有用户变量名 whos--------显示当前工作区中所有用户变量名及大小、字节数和类型 disp(x) -----显示变量X的内容 clear -----清除工作区中用户定义的所有变量 save文件名-----保存工作区中用户定义的所有变量到指定文件中 load文件名-----载入指定文件中的数据

中南大学matlab课后习题(1)

第二章 1·求下列表达式的值。 (1)w=sqrt(2)*(1+0.34245*10^-6) w= 1.4142 (2)a=3.5;b=5;c=-9.8; x=(2*pi*a+(c+b)/(pi+a*b*c)-exp(2))/(tan(b+c)+a);x x = 0.9829 (3)a=3.32;b=-7.9; y=2*pi*a^2*[(1-pi/4)*b-(0.8333-pi/4)*a]; y y= -128.4271 (4)t=[2,1-3i;5,-0.65]; z=1/2*exp(2*t)*log(t+sqrt(1+t^2)); z z= 1.0e+004* 0.0057 - 0.0007i 0.0049 - 0.0027i 1.9884 -0.3696i 1.7706 - 1.0539i 2,已知a,b,求下列表达式的值。 a=[-1,5,-4;0,7,8;3,61,7];b=[8,3,-1;2,5,3;-3,2,0]; (1)a+6*b ans= 4723-10 12 3726 -15 73 7 a^2-b+eye(3) ans= -18 -217 17 22 533 109 21867 526 (2)a*b ans= 14 14 16 -10 51 21 125 328 180 a.*b ans = -8 15 4 0 35 24 -9 122 0 b*a ans = -110-15 7 22853 3 -1 28 (3)a/b ans =

1.2234 -0.9255 2.9787 -0.9468 2.3511 -0.9574 4.6170 3.8723 13.8936 b\a ans = -0.5106 -8.6170 -1.1277 0.7340 17.5745 1.8085 -0.8830 -21.2128 0.4043 (4)[a,b] ans= -1 5 -4 8 3 -1 0 7 8 2 5 3 361 7 -3 2 0 [a([1,3],:);b^2] ans = -15 -4 3 61 7 73 37 1 17 37 13 -20 1 9 3.已知a,完成下列操作。 a=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; (1)输出a在[10,25]范围内的全部元素。 k=find(a>10&a<25) a(k) k = 1 ans= 23 (2)取出a前3行构成矩阵b,前两列构成矩阵c,右下角3*2子矩阵构成矩阵d,b与c的乘积构成矩阵e。 b=a(1:3,:) b = 23.0000 10.0000 -0.7780 0 41.0000 -45.0000 65.00005.0000 32.0000 5.0000 0 32.0000 c=a(:,1:2) c = 23.0000 10.0000 41.0000 -45.0000 32.0000 5.0000 6.0000 -9.5400 d=a(2:4,3:4) d = 65.0000 5.0000 0 32.0000 54.0000 3.1400 e=b*c e = 1.0e+003 * 0.9141 -0.2239

MATLAB实验报告

实验一 MATLAB 环境的熟悉与基本运算 一、实验目的及要求 1.熟悉MATLAB 的开发环境; 2.掌握MATLAB 的一些常用命令; 3.掌握矩阵、变量、表达式的输入方法及各种基本运算。 二、实验内容 1.熟悉MATLAB 的开发环境: ① MATLAB 的各种窗口: 命令窗口、命令历史窗口、工作空间窗口、当前路径窗口。 ②路径的设置: 建立自己的文件夹,加入到MATLAB 路径中,并保存。 设置当前路径,以方便文件管理。 2.学习使用clc 、clear ,了解其功能和作用。 3.矩阵运算: 已知:A=[1 2;3 4]; B=[5 5;7 8]; 求:A*B 、A.*B ,并比较结果。 4.使用冒号选出指定元素: 已知:A=[1 2 3;4 5 6;7 8 9]; 求:A 中第3列前2个元素;A 中所有列第2,3行的元素; 5.在MATLAB 的命令窗口计算: 1) )2sin(π 2) 5.4)4.05589(÷?+ 6.关系及逻辑运算 1)已知:a=[5:1:15]; b=[1 2 8 8 7 10 12 11 13 14 15],求: y=a==b ,并分析结果 2)已知:X=[0 1;1 0]; Y=[0 0;1 0],求: x&y+x>y ,并分析结果 7.文件操作 1)将0到1000的所有整数,写入到D 盘下的文件 2)读入D 盘下的文件,并赋给变量num

8.符号运算 1)对表达式f=x 3 -1 进行因式分解 2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并 3)求 3(1)x dz z +? 三、实验报告要求 完成实验内容的3、4、5、6、7、8,写出相应的程序、结果

中南大学Matlab与科学计算样题 (加主观题答案)

Matlab 与科学计算考试样题(客观题) 1 下面的MATLAB 语句中不正确的有: a) 2a =pi; b) record_1=3+4i c) a=2.0, d) c=1+6j 2. 已知水的黏度随温度的变化公式如下,其中a=0.03368,b=0.000221,计算温度t 为20,30,40度时的粘度分别是: 02 1at bt μμ=++0μ为0℃水的黏度,值为3 1.78510-?;a 、b 为常数,分别为0.03368、0.000221。 3. 请补充语句以画出如图所示的图形: [x,y]=meshgrid(-2:0.1:2, -2:0.1:2); Z=x.*exp(-x.^2-y.^2); ; a) Plot3(x,y,Z) b) plot3(x,y,Z) c) mesh(x,y,Z) d) plot3(x,y,z) 2 a) 0.4900 1.2501 0.8560 b) 0.8560 1.2501 0.4900 c) -0.6341 3.8189 -3.7749 d) 3.8189 -3.7749 2.8533 解释说明: >> x=0.5:0.5:3.0; >> y=[1.75,2.45,3.81,4.80,8.00,8.60]; >> a=polyfit(x,y,2)

a = 0.4900 1.2501 0.8560 >> x1=[0.5:0.25:3.0]; >> y1=a(1)*x1.^2+a(2)*x1+a(3) >> plot(x,y,'*') >> hold on >> plot(x1,y1,'--r') 5. 求方程在x=0.5附近的根. 21x x += a) 0.6180 b) -1.1719e-25 c) -1 d) -1.6180 6. 用Newton-Cotes 方法计算如下积分 1 5x ? (a )133.6625 (b) 23.8600 (c) 87.9027 (d) -1.6180 7. y=ln(1+x),求x=1时y" a) -0.25 b) 0.5 c) -0.6137 d) -1.6137 8. 某公司用3台轧机来生产规格相同的铝合金薄板。取样测量薄板的 厚度,精确至‰厘米。得结果如下: 轧机1:0.236 0.238 0.248 0.245 0.243 轧机2:0.257 0.253 0.255 0.254 0.261 轧机3:0.258 0.264 0.259 0.267 0.262 计算方差分析结果,并判定各台轧机所生产的薄板的厚度有无显著的差异? a) p =1.3431e-005,没有显著差异。 b) p =0.9688,没有显著差异。 c) p =0.4956,有显著差异。 d) p =0.9688,有显著差异。 22x y x y e x y e --?-=??-+=??

matlab实验报告

实验报告 2. The Branching statements 一、实验目的: 1.To grasp the use of the branching statements; 2.To grasp the top-down program design technique. 二、实验内容及要求: 1.实验内容: 1).编写 MATLAB 语句计算 y(t)的值 (Write the MATLAB program required to calculate y(t) from the equation) ???<+≥+-=0 530 53)(2 2t t t t t y 已知 t 从-5到 5 每隔0.5取一次值。运用循环和选择语句进行计算。 (for values of t between -5 and 5 in steps of 0.5. Use loops and branches to perform this calculation.) 2).用向量算法解决练习 1, 比较这两个方案的耗时。 (tic ,toc 的命令可以帮助你完成的时间计算,请使用'help'函数)。 Rewrite the program 1 using vectorization and compare the consuming time of these two programs. (tic, toc commands can help you to finish the time calculation, please use the …help ? function). 2.实验要求: 在报告中要体现top-down design technique, 对于 3 要写出完整的设计过程。 三、设计思路: 1.用循环和选择语句进行计算: 1).定义自变量t :t=-5:0.5:5; 2).用循环语句实现对自变量的遍历。 3).用选择语句实现对自变量的判断,选择。 4).将选择语句置入循环语句中,则实现在遍历中对数据的选择,从而实现程序的功能。 2. 用向量法实现: 1).定义自变量t :t=-5:0.5:5; 2).用 b=t>=0 语句,将t>=0得数据选择出,再通过向量运算y(b)=-3*t(b).^2 + 5; 得出结果。 3).用取反运算,选择出剩下的数据,在进行向量运算,得出结果。 四、实验程序和结果 1.实验程序 实验程序:创建m 文件:y_t.m

Matlab作业题

Matlab作业题: 1、作出函数y=x4-4x3+3x+5 (x [0,6])的图形,用小红点标出其在[0,6]之间的最小值点,并在最小值点附近标出该最小值点的坐标值; 程序: function f=myfun(x) f=x.^4-4*x.^3+3*x+5; x=linspace(0,6,100); y=x.^4-4*x.^3+3*x+5; x1=fminbnd(@myfun,0,6) y1=myfun(x1) 结果: x1 = 2.9115 y1 = -13.1300 plot(x,y,x1,y1,'r*') text(x1,y1,'2.9115,-13.1300'); 0123456 2、某公司有一批以每桶2元购进的彩漆,为了获得较高的利润,希望以较高的价格卖出,但价格越高,售出量就越少,二者之间的关系由表一给出。于是打算增加广告投入来促销。而广告费与销售量的关系可由销售增长因子来描述。例如,投入3万元的广告费,销售因子为1.85,意味着做广告后的销售量将是未做广告销售量的1.85倍。根据经验,广告费与销售因子的关系如表2,现请你作出决策:投入多少广告费和售价为多少时所获得的利润最大?

表1 表2 彩漆的销售量 摘要 在经济学中,某种产品的销售量与产品自身的价格存在着负相关关系,即产品价格上升会导致产品的销售量减少,产品价格下降会导致产品的销售量增加。与此同时,广告宣传对产品的销售量也是影响深远的。对一个企业而言,广告费既不是越少越好,也不是多多益善。广告活动的规模和广告费用的大小,应与企业的生产和流通规模相适应,在发展中求节约。 为研究产品销售量与售价和广告费用的关系,我们收集了某售价与预期销售量和广告费与销售增长因子的一些数据(见附录一),并建立了预期销售量1y 与售价1x 的线性模型: 11^ 1333.54222 .50x y -= 销售增长因子2y 与广告费2x 的二次函数模型: 22^ 0409.00188 .1x y +=—2 2 0004.0x 利润p 与售价1x 和销售增长因子2x 的模型: 2 2 2211)0004.00409.00188 .1)(1333.54222 .50)(2(x x x x x p --+--= 关键字:预期销售量 广告费 销售增长因子 线性回归

中南大学MATLAB课程设计

一、《MATLAB程序设计实践》Matlab基础 班级: 学号: 姓名: 表示多晶体材料织构的三维取向分布函数(f=f(φ1,φ,φ2))是一个非常复杂的函数,难以精确的用解析函数表达,通常采用离散空间函数值来表示取向分布函数,Data.txt是三维取向分布函数的一个实例。由于数据量非常大,不便于分析,需要借助图形来分析。请你编写一个matlab程序画出如下的几种图形来分析其取向分布特征:(1)用Slice函数给出其整体分布特征; (2)用pcolor或contour函数分别给出(φ2=0, 5, 10, 15, 20, 25, 30,

35 …90)切面上f分布情况(需要用到subplot函数); (3) 用plot函数给出沿α取向线(φ1=0~90,φ=45,φ2=0)的f 分布情况。

流程图

解: (1)将文件Data.txt内的数据按照要求读取到矩阵f(phi1,phi,phi2)中,代码如下: fid=fopen('data.txt'); %读取数据文件Data.txt for i=1:18 tline=fgetl(fid); end phi1=1;phi=1;phi2=1;line=0; f=zeros(19,19,19); while ~feof(fid) tline=fgetl(fid); data=str2num(tline); line=line+1; if mod(line,20)==1 phi2=(data/5)+1; phi=1; else for phi1=1:19 f(phi1,phi,phi2)=data(phi1); end phi=phi+1; end end fclose(fid); 将以上代码保存为readtext.m文件并在MATLAB中运行,运行结果如下图所示:

MATLAB实验报告 (2)

仲恺农业工程学院实验报告纸 _自动化学院_(院、系)_工业自动化_专业_144_班_Matlab仿真控制实践课程 实验一MATLAB绘图基础 一、实验目的 了解MATLAB常用命令和常见的内建函数使用。 熟悉矩阵基本运算以及点运算。 掌握MATLAB绘图的基本操作:向量初始化、向量基本运算、绘图命令plot,plot3,mesh,surf 使用、绘制多个图形的方法。 二、实验内容 建立并执行M文件multi_plot.m,使之画出如图的曲线。

三、实验方法 四、实验要求 1.分析给出的MA TLAB参考程序,理解MA TLAB程序设计的思维方法及其结构。 2.添加或更改程序中的指令和参数,预想其效果并验证,并对各语句做出详细注释。对不 熟悉的指令可通过HELP查看帮助文件了解其使用方法。达到熟悉MA TLAB画图操作的目的。 3.总结MATLAB中常用指令的作用及其调用格式。 五、实验思考 1、实现同时画出多图还有其它方法,请思考怎样实现,并给出一种实现方法。 (参考程序如下)

2、思考三维曲线(plot3)与曲面(mesh, surf)的用法,(1)绘制参数方程 233,)3cos(,)3sin()(t z e t t y e t t t x t t ===--的三维曲线;(2)绘制二元函数 xy y x e x x y x f z ----==22)2(),(2 ,在XOY 平面内选择一个区域(-3:0.1:3,-2:0.1:2),然后绘 制出其三维表面图形。(以下给出PLOT3和SURF 的示例)

绘制题目要求曲面: %绘制二元函数,在XOY平面内选择一个区域(-3:0.1:3,-2:0.1:2)

东北大学matlab实验报告1

1、安装MATLAB 软件,应用demo 命令了解主要功能,熟悉基本功能,会用help 命令。 2、 用MATLAB 语句输入矩阵A 和B ????????? ???=14 23 143212344321 A , ?? ??? ?? ?? ???++++++++++++++++=4j 11j 43j 22j 34j 11j 42j 33j 24j 13j 22j 31j 41j 42j 33j 24j 1B 前面给出的是44?矩阵,如果给出 5)6,5(=A 命令将得出什么结果?

3.假设已知矩阵A,试给出相应的MATLAB命令,将其全部偶数行提取出来, A 命令生成A矩阵,用上述命令检验一下结果是不是赋给B矩阵,用magic(8) 正确。

4.用数值方法可以求出∑=++++++==63 63622284212i i S ,试不采用循环的形 式求出和式的数值解。由于数值方法是采用double 形式进行计算的,难以保证有效位数字,所以结果不一定精确。试采用运算的方法求该和式的精确值。 5.选择合适的步距绘制出下面的图形。 (1))/1sin(t ,其中)1,1(-∈t ; (2))tan(sin )sin(tan t t -,其中),(ππ-∈t 。

(1)t=[-1:0.014:1];y=sin(1./t);plot(t,y) (2)t=[-pi:0.05:pi];y=sin(tan(t))-tan(sin(t));plot(t,y) 6. 试绘制出二元函数2 2 2 2 )1(1)1(1),(y x y x y x f z +++ +-= =的三维图和三 视图。 [x,y]=meshgrid(-2:.1:2);z=1./(sqrt((1-x).^2+y.^2))+1./(sqrt((1+x).^2+y.^2)); subplot(224),surf(x,y,z)subplot(221),surf(x,y,z),view(0,90); subplot(222),surf(x,y,z),view(90,0);subplot(223),surf(x,y,z),view(0.0);

matlab习题第八章

第八章 实验指导 1、 >> syms x y; >> A=x^4-y^4; >> factor(A) ans = (x - y)*(x + y)*(x^2 + y^2) >> a=5135; >> factor(a) ans = 5 13 79 2、(1) >> syms x >> f=(x-2)/(x^2-4); >> limit(f,x,2)

ans = 1/4 (2) >> syms x f=(sqrt(pi)-sqrt(acos(x)))/sqrt(x+1); limit(f,x,-1,'right') ans = -Inf 3、 (1) >> syms x y >> f=sin(1/x); >> diff(f) ans = -cos(1/x)/x^2 >> diff(f,x,2)

ans = (2*cos(1/x))/x^3 - sin(1/x)/x^4 >> f=(1-cos(2x))/x; (2) >> f=(1-cos(2*x))/x f = -(cos(2*x) - 1)/x >> diff(f) ans = (2*sin(2*x))/x + (cos(2*x) - 1)/x^2 >> diff(f,x,2) ans =

(4*cos(2*x))/x - (4*sin(2*x))/x^2 - (2*(cos(2*x) - 1))/x^3 4、 (1)、 >> x=sym('x'); >> f=sqrt(exp(x)+1); >> int(f) ans = atan((exp(x) + 1)^(1/2)*i)*2*i + 2*(exp(x) + 1)^(1/2) (2) >> x=sym('x'); y=sym('y'); f=x/(x+y); >> int(f,y) ans = x*log(x + y) (3) >> syms x;

《MATLAB及应用》实验报告2

核科学技术学院 实验报告 实验项目名称MATLAB符号计算 所属课程名称MATLAB及应用 实验类型上机实验 实验日期12月日 指导教师谢芹 班级 学号 姓名 成绩 一、实验名称 MATLAB符号计算 二、实验目的

(1)掌握定义符号对象的方法 (2)掌握符号表达式的运算法则以及符号矩阵运算 (3)掌握求符号函数极限及导数的方法 (4)掌握求符号函数定积分和不定积分的方法 三、实验原理 1. 函数极限及导数的方法 (1)函数极限:limit(F,x,a) 求符号函数f(x)的极限值。即计算当变量x趋近于常数a时,f(x)函数的极限值。 (2)limit(f):求符号函数f(x)的极限值。符号函数f(x)的变量为函数findsym(f)确定的默认变量;没有指定变量的目标值时,系统默认变量趋近于0,即a=0的情况。 (3)limit(f,x,a,'right'):求符号函数f的极限值。'right'表示变量x从右边趋近于a。 (4)limit(f,x,a,‘left’):求符号函数f的极限值。‘left’表示变量x从左边趋近于a。 2. 微分: diff(s):没有指定变量和导数阶数,则系统按findsym函数指示的默认变量对符号表达式s求一阶导数。 diff(s,'v'):以v为自变量,对符号表达式s求一阶导数。 diff(s,n):按findsym函数指示的默认变量对符号表达式s求n阶导数,n为正整数。 diff(s,'v',n):以v为自变量,对符号表达式s求n阶导数。 3. 函数定积分和不定积分的方法: int(s):没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式s求不定积分。 int(s,v):以v为自变量,对被积函数或符号表达式s求不定积分。 int(s,v,a,b):求定积分运算。a,b分别表示定积分的下限和上限。 梯形法:trapz(x,y):x为分割点构成的向量,y为被积函数在分割点上的函数值构成的向量; 抛物线法:quad(f,a,b,tol),f是被积函数,[a,b]是积分区间,tol是精度。

MATLAB实验报告(一)-西安邮电大学

西安邮电学院 《Matlab》 实验报告 (一) 2011- 2012 学年第 1 学期 自动化 专业: 自动0903 班级: 学号: 姓名: 2011 年9月28日

MATLAB语言实验项目 实验一熟悉MATLAB集成环境与基础运算 一、实验目的 1.熟悉启动和退出MATLAB软件的方法、熟悉MATLAB软件的运行环境。 2.熟悉MATLAB命令窗口的组成。 3.熟悉MATLAB的基本操作。 4.掌握建立矩阵的方法。 5.掌握MATLAB各种表达式的书写规则以及常用函数的使用。 二、实验设备及条件 计算机一台(MATLAB R2010b的软件环境)。 三、实验原理 1.MATLAB的启动 MATLAB系统的启动有三种常见方法: 1)使用Windows“开始”菜单。 2)运行MATLAB系统启动程序matlab.exe。 3)利用快捷方式。 2.MATLAB系统的退出 要退出MATLAB系统,也有三种常见方法: 1)在MATLAB主窗口File菜单中选择Exit matlab 命令。 2)在MATLAB命令窗口输入Exit或Quit命令。 3)单击MATLAB主窗口的“关闭”按钮。 3.MATLAB帮助窗口 进入帮助窗口可以通过以下三种方法: 1)单击MATLAB主窗口工具栏中的help按钮。 2)在命令窗口中输入helpwin、helpdesk或doc。 3)选择help菜单中的“matlab help”选项。 4.MATLAB帮助命令

1)help命令 在MATLAB命令窗口直接输入help命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。同样,可以通过help加函数名来显示该函数的帮助说明。 2)lookfor命令 help命令只搜索出那些关键字完全匹配的结果,lookfor命令对搜索范围内的m文件进行关键字搜索,条件比较宽松。 3)模糊查询 用户只要输入命令的前几个字母,然后按tab键,系统就会列出所有以这几个字母开头的命令。 5.赋值语句 1)变量=表达式 2)表达式 6.矩阵的建立 1)直接输入法:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分开,不同行的元素之间用分号分开。 2)利用m文件建立矩阵 3)利用冒号表达式建立一个向量e1:e2:e3 4)利用linspace函数产生行向量linspace(a,b,n). 四、实验内容 1.练习下面指令: cd:切换目录,例如:cd . , cd .. , cd 目录 clear:清除内存单元 help:帮助 who:查看内存中存在的单元 whos:查看内存中单元的详细信息 dir:列出当前目录下的文件或文件夹 path:列出安装目录的所有路径 save:将内存中的数据保存在文件中 load:将文件中的数据加载到matlab中 2.建立自己的工作目录MYWORK和MYDATA,并将它们分别加到搜索路径的前

相关主题