搜档网
当前位置:搜档网 › matlab上机完美版解析

matlab上机完美版解析

matlab上机完美版解析
matlab上机完美版解析

1.已知3阶椭圆IIR数字低通滤波器的性能指标为:通带截止频率

0.4π,通带波纹为0.6dB,最小阻带衰减为32dB。设计一个6阶

全通滤波器对其通带的群延时进行均衡。绘制低通滤波器和级联滤波器的群延时。

%Q1_solution

%ellip(N,Ap,Ast,Wp)//双线性法设计低通滤波器

%N--->The order of the filter

%Ap-->ripple in the passband

%Ast->a stopband Rs dB down from the peak value in the passband

%Wp-->the passband width

[be,ae]=ellip(3,0.6,32,0.4);

hellip=dfilt.df2(be,ae);

f=0:0.001:0.4;

g=grpdelay(hellip,f,2);

g1=max(g)-g;

[b,a,tau]=iirgrpdelay(6,f,[0 0.4],g1);

hallpass=dfilt.df2(b,a);//级联

hoverall=cascade(hallpass,hellip);

hFVT=fvtool([hellip,hoverall]);

set(hFVT,'Filter',[hellip,hoverall]);

legend(hFVT,'Lowpass Elliptic filter','Compensated

filter');//添加图例的标注

clear;

[num1,den1]=ellip(3,0.6,32,0.4);

[GdH,w]=grpdelay(num1,den1,512);

plot(w/pi,GdH); grid

xlabel('\omega/\pi'); ylabel('Group delay, samples');

F=0:0.001:0.4;

g=grpdelay(num1,den1,F,2); % Equalize the passband

Gd=max(g)-g;

% Design the allpass delay equalizer

[num2,den2]=iirgrpdelay(6,F,[0,0.4],Gd);

[GdA,w] = grpdelay(num2,den2,512);

plot(w/pi,GdH+GdA,'r');

legend('Original Filter','Compensated filter');

2.设计巴特沃兹模拟低通滤波器,其滤波器的阶数和3-dB 截止频率

由键盘输入,程序能根据输入的参数,绘制滤波器的增益响应。 clear;

N=input('Type in the order N = ');

Wn=input('Type in the 3-dB cutoff frequency Wn = '); %模拟频率

[num,den]=butter(N,Wn,'s');

w=0:2*Wn;

h=freqs(num,den,w);

plot(w,20*log(abs(h))),grid;

3.已知系统的系统函数为:

12

1234

10.20.5()1 3.2 1.50.8 1.4z z H z z z z z -------+=++-+ 用MATLAB 进行部分分式展开,并写出展开后的表达式。

% Partial-Fraction Expansion of Rational z-Transform

num = [0 0 1 -0.2 0.5];

den = [1 3.2 1.5 -0.8 1.4];

[r,p,k] = residuez(num,den);

disp('Residues');disp(r')

disp('Poles');disp(p')

disp('Constants');disp(k)

4.设计切比雪夫I 型IIR 数字高通滤波器,其性能指标为:通带波

纹0.5dB p α=,最小阻带衰减43dB s α=,通带和阻带边缘频率0.75 rad p ωπ=和0.35 rad s ωπ=绘制所设计的滤波器增益响应。 %a4

disp('prewapping is done,and T=2');

Wp = tan(0.75*pi/2);

Ws = tan(0.5*pi/2);

Rp = 0.5;

[N,Wn] = cheb1ord(Ws,Wp,Rp,Rs,'s');

[b,a] = cheby1(N,Rp,Wn,'s');

[bt,at]=lp2hp(b,a,Wp);

[num,den]=bilinear(bt,at,0.5);

[h,omega] = freqz(num,den);

plot (omega/pi,20*log10(abs(h)));grid;

xlabel('\omega/\pi'); ylabel('Gain');

title('Type I Chebyshev Highpass Filter');

clear;%预畸变

Rp=0.5;

Rs=43;

Wp=0.75;

Ws=0.35;

[N,Wp]=cheb1ord(Wp,Ws,Rp,Rs);

[num,den]=cheby1(N,Rp,Wp,'high');

w=0:pi/1024:pi;

h=freqz(num,den,w);

subplot(2,1,1);

plot(w/pi,abs(h)),grid;title('Amplitude in linear scale')

subplot(2,1,2);

plot(w/pi,20*log10(abs(h))),grid;

title('Amplitude in log scale')

5.已知复指数序列为:(0.40.5)[]0.2j n x n e

+=,绘制30点该序列的实部

和虚部。

n=0:29;

x=0.2*exp((0.4+1i*0.5)*n);

subplot(211);

stem(n,real(x));

xlabel('n');ylabel('real part');

grid on ;

subplot(212);

stem(n,imag(x));

xlabel('n');ylabel('imag part');

grid on ;

6.设计切比雪夫I 型模拟低通滤波器,其滤波器的阶数,3-dB 截止

频率和通带的波纹由键盘输入,程序能根据输入的参数,绘制滤波器的增益响应。

clear;

N=input(' 滤波器阶数N =');

Wn=input(' 截止频率Wn = ');

Rp=input('通带波纹Rp = ');

[num,den]=cheby1(N,Rp,Wn,'s');

w=0:5*Wn;

h=freqs(num,den,w);

plot(w,20*log10(abs(h))),grid;

xlabel('Frequency, Hz'); ylabel('Gain, dB');

7.已知系统的系统函数为:

1112

10.6 1.8()0.21 3.21 2.4(1 2.4)H z z z z ---=++++-- 用MATLAB 求系统z 变换的有理形式,并写出有理形式的表达式。

r=[1 0.6 1.8];

p=[-3.2 2.4 2.4];

k=0.2;

[num, den] = residuez(r,p,k)

8.设计巴特沃兹IIR 数字带通滤波器,其性能指标为:归一化通带

截止频率为120.4,0.6p p ωπωπ==,归一化阻带截止频率为120.3,0.7s s ωπωπ==,通带波纹为0.6dB ,最小阻带衰减为35dB 。绘制所设计的滤波器增益响应。

% Design of IIR Butterworth Bandpass Filter

Wp =[0.4 0.6];

Ws = [0.3 0.7];

Rp = 0.6;

Rs = 35;

[N,Wn] = buttord(Wp, Ws, Rp, Rs);

[b,a] = butter(N,Wn);

[h,omega] = freqz(b,a,256);

plot (omega/pi,abs(h));grid;

xlabel('\omega/\pi'); ylabel('Gain');

title('IIR Butterworth Bandpass Filter');

disp(N);

disp(Wn);

x n ,绘制24点该序列。

9.已知指数序列为:[]2(0.9)n

n=0:23;

x=2*0.9.^n;

stem(n,x,'.');

grid on;

ylabel('Amplitude');

xlabel('Time index');

10.设计椭圆模拟低通滤波器,其滤波器的阶数,3-dB截止频率,通带的波纹和阻带衰减由键盘输入,程序能根据输入的参数,绘制滤波器的增益响应。

clear;

N=input('Type in the order N = ');

Wn=input('Type in the 3-dB cutoff frequency Wn = ');

Rp=input('Type in the the passband ripple Rp = ');

Rs=input('Type in the the minimum stopband attenuation Rs = '); [num,den]=ellip(N,Rp,Rs,Wn,'s');

w=0:5*Wn;

h=freqs(num,den,w);

plot(w,20*log10(abs(h))),grid;

xlabel('Frequency, Hz'); ylabel('Gain, dB');

11.已知系统的系统函数为:

12

1234

10.20.5()1 3.2 1.50.8 1.4z z H z z z z z -------+=++-+ 用MATLAB 的impz 函数求h[n]的前30个样本值。

clc;

A=[1 3.2 1.5 -0.8 1.4];

B=[1 -0.2 0.5];

[H,T]=impz(B,A,30);

disp(H);

stem(T,H);

12.已知5阶椭圆IIR 数字低通滤波器的性能指标为:通带截止频率

0.35π,通带波纹为0.8dB ,最小阻带衰减为35dB 。设计一个10阶全通滤波器对其通带的群延时进行均衡。绘制低通滤波器和级联滤波器的群延时。

%ellip(N,Ap,Ast,Wp)

%N--->The order of the filter

%Ap-->ripple in the passband

%Ast->a stopband Rs dB down from the peak value in the passband %Wp-->the passband width

[be,ae]=ellip(5,0.8,35,0.35);

hellip=dfilt.df2(be,ae);

f=0:0.001:0.4;

g=grpdelay(hellip,f,2);

g1=max(g)-g;

[b,a,tau]=iirgrpdelay(10,f,[0 0.4],g1);

%the first parameter above is the order of the allpass

hallpass=dfilt.df2(b,a);

hoverall=cascade(hallpass,hellip);

hFVT=fvtool([hellip,hoverall]);

set(hFVT,'Filter',[hellip,hoverall]);

legend(hFVT,'Lowpass Elliptic filter','Compensated filter');

clear;

[num1,den1]=ellip(5,0.8,35,0.35);

[GdH,w]=grpdelay(num1,den1,512);

plot(w/pi,GdH); grid

xlabel('\omega/\pi'); ylabel('Group delay, samples');

F=0:0.001:0.4;

g=grpdelay(num1,den1,F,2); % Equalize the passband

Gd=max(g)-g;

% Design the allpass delay equalizer

[num2,den2]=iirgrpdelay(10,F,[0,0.4],Gd);

[GdA,w] = grpdelay(num2,den2,512);

hold on;

plot(w/pi,GdH+GdA,'r');

legend('Original Filter','Compensated filter');

13.编写4点滑动平均滤波器程序。原始未受干扰的序列为:s[n]=3[n(0.8)n],加性噪声信号d[n]为随机序列,幅度0.6,受干扰的序列为:x[n]= s[n]+ d[n],分别绘制长度为40的原始未受干扰的序列,噪声序列和受干扰序列,以及滑动平均滤波器的输出。

% Program 2_4

% Signal Smoothing by a Moving-Average Filter

R = 40;

d = 6/5*(rand(1,R)-0.5);

m = 0:1:R-1;

s =3.*m.*0.8.^m;

x = s + d;

subplot(211);

plot(m,d,'r-',m,s,'b:',m,x,'m--')

title('The sequence with noise');

ylabel('Amplitude')

legend('d[n]','s[n]','x[n]');

b = ones(4,1)/4;

y = fftfilt(b,x);

subplot(212);

plot(m,s,'r-',m,y,'b--')

title('The original sequence & the output sequence');

legend('s[n]','y[n]');

ylabel('Amplitude')

14.绘制长度为10点的矩形序列的16点离散傅立叶变换样本的幅度

和相位。

xn=ones(10,1);

Xk=fft(xn,16);Xkf=abs(Xk);Xkp=angle(Xk);

subplot(211);

stem(0:15,Xkf,'filled');

xlabel('Time index/n');ylabel('Magnitude');

subplot(212);

stem(0:15,Xkp,'filled');

xlabel('Time index/n');ylabel('Phase')

15.已知系统的系统函数为:

12

1234

10.20.5()1 3.2 1.50.8 1.4z z H z z z z z -------+=++-+ 用MATLAB 的filter 函数求h[n]的前20个样本值。

num=[1,-0.2,0.5];

den=[1,3.2,1.5,-0.8,1.4];

x=[1 zeros(1,20-1)];

y=filter(num, den, x);

disp('Coefficients of the power series expansion');

disp(y)

stem(y)

16.利用Hermann 公式估计FIR 低通滤波器的阶数。该滤波器的性

能指标为:通带截止频率为1500Hz ,阻带截止频率为1800Hz ,通带波纹为p δ=0.015,阻带波纹为s δ=0.021,抽样频率为5000Hz 。

% Program 10_1

% Estimation of FIR Filter Order Using remezord

%

clear;

fedge = [1500 1800] ;% input('Type in the bandedges = ');

mval = [1 0];%input('Desired magnitude values in each band = '); dev = [0.015 0.021];%input('Allowable deviation in each band = '); FT = 5000;%input('Type in the sampling frequency = ');

[N, fpts, mag, wt] = remezord(fedge, mval, dev, FT);

d = fdesign.lowpass('n,fp,fst',N,0.6,0.72);

design(d);

fprintf('Filter order is %d \n',N);

17.编写长度为5的中值滤波器程序。原始未受干扰的序列为:

s[n]=3[n(0.8)n ], 加性噪声信号d[n]为随机序列,幅度0.6,分别绘制长度为40的受干扰序列,以及中值滤波器的输出。

% Program 2_5

% Illustration of Median Filtering

%

N = 5;

R = 40;

b = 6/5*(rand(1,R)-0.5); % Generate impulse noise

m = 0:R-1;

s = 3*m.*(0.8.^m); % Generate signal

x = s + b; % Impulse noise corrupted signal

y = medfilt1(x,N); % Median filtering

subplot(2,1,1)

stem(m,x);axis([0 50 -1 8]);grid on ;

xlabel('n');ylabel('Amplitude');

title('Impulse Noise Corrupted Signal');

subplot(2,1,2)

stem(m,y);grid on ;

xlabel('n');ylabel('Amplitude');

title('Output of Median Filter');

18.已知16点序列x[n]的DFT 为:

/16015[]0k k X k otherwise ≤≤?=??

绘制序列x[n]的实部和虚部。

Xk=(0:15)/16;xn=ifft(Xk);

xnre=real(xn);

xnim=imag(xn);

subplot(2,1,1);

stem(0:15,xnre,'.');grid on ;

title('The real part of the sequence');

subplot(2,1,2);

stem(0:15,xnim,'.');grid on ;

title('The imaginary part of the sequence');

19.已知系统的系统函数为:

12

1234

10.20.5()1 3.2 1.50.8 1.4z z H z z z z z -------+=++++ 用MATLAB 测试该系统的稳定性。

num=[1 -0.2 0.5];

den=[1 3.2 1.5 0.8 1.4];

zplane(num,den);

grid on ;

20. 利用Remez 算法设计一个等波纹线性相位FIR 低通滤波器。该滤

波器的性能指标为:通带截止频率为1500Hz ,阻带截止频率为1800Hz ,通带波纹为p δ=0.015,阻带波纹为s δ=0.021,抽样频率为5000Hz 。

% Program 10_2

% Design of Equiripple Linear-Phase FIR Filters

%

format long

fedge = [1500 1800];

FT = 5000;

mval = [1 0];

dev =[0.015 0.021];

[N,fpts,mag,wt] = remezord(fedge,mval,dev,FT);

b = remez(N,fpts,mag,wt);

disp('FIR Filter Coefficients'); disp(b)

[h,w] = freqz(b,1,256);

subplot(2,1,1);

plot(w/pi,20*log10(abs(h)));grid;

xlabel('\omega/\pi'); ylabel('Gain, dB');

subplot(2,1,2);

plot(w/pi,20*log10(abs(h)));grid;

axis([0 0.4 -0.7 0.7]);

xlabel('\omega/\pi'); ylabel('Gain, dB');

title('detail in passband')

21. 21.已知序列12[]{2.2,3, 1.5,4.2, 1.8},[]{0.8,1,1.6,0.8}x n x n =--=-,

计算两个序列的卷积12[][][]x n x n x n =*,并绘制序列[]x n 。 clc;

clear;

x1=[2.2 3 -1.5 4.2 -1.8];

x2=[0.8 -1 1.6 0.8];

x=conv(x1,x2) %结果在主界面输出

stem(x,'filled');

grid on ;

xlabel('Time index/n');ylabel('Amplitude');

title('The output convolution');

22. 已知序列x[n]为[]cos(/2), 015x n n n π=≤≤,绘制序列x[n]

的DFT 和DTFT 的幅度。

n=0:15;x=cos(pi*n*0.5);

X=fft(x);

subplot(2,1,1);

stem(n,X,'.');

title('Magnitude of DFT')

xlabel('n'); ylabel('Magnitude')

%circulating DTFT

k=0:499;

w = pi/500*k;

X1=x*(exp(-1i*pi/500)).^(n'*k);

magX=abs(X1);

subplot(2,1,2);

plot(w/pi,magX);title('幅度响应');grid;

ylabel('幅度');xlabel('以\pi 为单位的频率');

23. 已知FIR 滤波器的系统函数为:

123456() 2.4 3.2 1.50.8 1.4 3.6 5.2H z z z z z z z ------=++++++

用MATLAB 将系统函数分解为二次多项式之积,并写出各二次

多项式的表达式。

clear

P=[2.4,3.2,1.5,0.8,1.4,3.6,5.2];

r=roots(P);%调用函数计算

syms z

s1=simple((z-r(1))*(z-r(2)));

d1=simple(s1./z^2)

s2=simple((z-r(3))*(z-r(4)));

d2=simple(s2./z^2)

s3=simple((z-r(5))*(z-r(6)));

d3=simple(s3./z^2)

Q=2.4*d1*d2*d3

24.已知FIR数字低通滤波器的性能指标为:通带截止频率0.35π,阻带截止频率0.45π,通带和阻带波纹 = 0.01。设计满足该滤波器的Kaiser’s窗函数,绘制出Kaiser’s窗函数的增益响应。

clear;

fpts=[0.35,0.45];

mag=[1,0];

dev=[0.01,0.01];

[N,Wn,beta,ftype]=kaiserord(fpts,mag,dev);

kw=kaiser(N+1,beta);

b=fir1(N,Wn, kw);

[h,omega]=freqz(b,1,512);

plot(omega/pi,20*log10(abs(h)));grid;

xlabel('\omega/\pi'); ylabel('Gain, dB');

25.已知系统的频h 响特性为:

23423410.20.520.6()1 3.2 1.50.8 1.4j j j j j j j j j e e e e H e e e e e ωωωωωωωωω

---------++-=++-+ 绘制该系统的幅频特性和相频特性。 clear

k=500; % number of frequency samples is 500 num=[1 -.2 .5 2 -.6]; %Numerator coefficients

den=[1 3.2 1.5 -.8 1.4]; %Denominator coefficients

w=0:pi/(k-1):pi;

h=freqz(num,den,w); %Compute the frequency response subplot(1,2,1)

plot(w/pi,abs(h))

title('Magnitude Spectrum')

xlabel('\omega/\pi');ylabel('Magnitude')

subplot(1,2,2)

plot(w/pi,unwrap(angle(h))) %unwrapped phase function title('Phase Spectrum')

xlabel('\omega/\pi');ylabel('Phase,radians')

[sos,g]=tf2sos(num,den)

26. 已知序列12[]{2.2,3, 1.5,4.2, 1.8},[]{0.8,1,1.6,0.8}x n x n =--=-,基

于DFT 计算两个序列的卷积12[][][]x n x n x n =*,并绘制基于DFT 计算得到的[]x n 。

clc;

clear;

x1=[2.2 3 -1.5 4.2 -1.8];

x2=[0.8 -1 1.6 0.8];

n=size(x1,2);

m=size(x2,2);

X1=fft(x1,n+m-1);

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上机完美版

1.已知3阶椭圆IIR数字低通滤波器的性能指标为:通带截止频率0.4π,通带波纹为0.6dB,最小阻带衰减为32dB。设计一个6阶全通滤波器对其通带的群延时进行均衡。绘制低通滤波器和级联滤波器的群延时。 %Q1_solution %ellip(N,Ap,Ast,Wp) %N--->The order of the filter %Ap-->ripple in the passband %Ast->a stopband Rs dB down from the peak value in the passband %Wp-->the passband width [be,ae]=ellip(3,0.6,32,0.4); hellip=dfilt.df2(be,ae); f=0:0.001:0.4; g=grpdelay(hellip,f,2); g1=max(g)-g; [b,a,tau]=iirgrpdelay(6,f,[0 0.4],g1); hallpass=dfilt.df2(b,a); hoverall=cascade(hallpass,hellip); hFVT=fvtool([hellip,hoverall]); set(hFVT,'Filter',[hellip,hoverall]); legend(hFVT,'Lowpass Elliptic filter','Compensated filter'); clear; [num1,den1]=ellip(3,0.6,32,0.4); [GdH,w]=grpdelay(num1,den1,512); plot(w/pi,GdH); grid xlabel('\omega/\pi'); ylabel('Group delay, samples'); F=0:0.001:0.4; g=grpdelay(num1,den1,F,2); % Equalize the passband Gd=max(g)-g; % Design the allpass delay equalizer [num2,den2]=iirgrpdelay(6,F,[0,0.4],Gd); [GdA,w] = grpdelay(num2,den2,512); hold on; plot(w/pi,GdH+GdA,'r');

Matlab上机实验答案

Matlab上机实验答案 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/180)/(1+exp(2)) z1 = >> x=[2 1+2i; 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = - + + -

>> a=::; >> z3=(exp.*a)-exp.*a))./2.*sin(a++log(+a)./2) (>> z33=(exp*a)-exp*a))/2.*sin(a++log(+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 + + + + + Columns 6 through 10 + + + + + Columns 11 through 15 + + + + + Columns 16 through 20 + + + + +

Columns 21 through 25 + + + + + Columns 26 through 30 + + + + + Columns 31 through 35 + + + + + Columns 36 through 40 + + + + + Columns 41 through 45 + + + + + Columns 46 through 50

+ + + + + Columns 51 through 55 + + + + + Columns 56 through 60 + + + + + Column 61 + (4) 2 2 4 2 01 112 2123 t t z t t t t t ?≤< ? =-≤< ? ?-+≤< ? ,其中t=0:: >> t=0::; >> z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^ 2-2.*t+1) z4 =

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 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。 for m=100:999 m1=fix(m/100); %求m的百位数字 m2=rem(fix(m/10),10); %求m的十位数字 m3=rem(m,10); %求m的个位数字 if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m) end end 2.从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。 sum=0; n=0; val=input('Enter a number (end in 0):'); while (val~=0) sum=sum+val; n=n+1; val=input('Enter a number (end in 0):'); end if (n > 0) sum mean=sum/n end 3. 若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求[1,500]之间的全部完数。 for m=1:500 s=0; for k=1:m/2 if rem(m,k)==0 s=s+k; end end if m==s disp(m); end end 4. 从键盘上输入数字星期,在屏幕上显示对应英文星期的单词。 function week n=input('input the number:'); if isempty(n) errror('please input !!')

end if n>7|n<1 error('n between 1 and 7') end switch n case 1 disp('Monday') case 2 disp('Tuesday') case 3 disp('Wednesday') case 4 disp('Thursday') case 5 disp('Friday') case 6 disp('Saturday') case 7 disp('Sunday') end 5. 某公司销售电脑打印机的价格方案如下: ()如果顾客只买一台打印机,则一台的基本价格为$150。 ()如果顾客购买两台以上打印机,则第二台价格为$120。 ()第三台以后,每台$110。 写一段程序分别计算出购买1--10台打印机所需的钱数。打印机台数可以在程序开始处指定,或通过input命令读入。运行程序,计算出购买10台打印机的总价格。 写出程序,生成分别购买1--10台打印机所需价格的图表(使用fprintf命令输出图表,不允许手算)。 x=input('请输入购买的打印机台数:'); for m=1:x if m<=1 y(m)=150*m; elseif m<=2 y(m)=150+120*(m-1); else y(m)=150+120+110*(m-2); y(1,m)=y(m); end end y(x) plot(1:m,y,'r*--')

MATLAB上机实验(答案)

MATLAB工具软件实验(1) (1)生成一个4×4的随机矩阵,求该矩阵的特征值和特征向量。程序: A=rand(4) [L,D]=eig(A) 结果: A = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 L = -0.7412 -0.2729 - 0.1338i -0.2729 + 0.1338i -0.5413 -0.3955 -0.2609 - 0.4421i -0.2609 + 0.4421i 0.5416 -0.4062 -0.0833 + 0.4672i -0.0833 - 0.4672i 0.4276 -0.3595 0.6472 0.6472 -0.4804 D = 2.3230 0 0 0 0 0.0914 + 0.4586i 0 0 0 0 0.0914 - 0.4586i 0 0 0 0 0.2275 (2)给出一系列的a值,采用函数 22 22 1 25 x y a a += - 画一组椭圆。 程序: a=0.5:0.5:4.5; % a的绝对值不能大于5 t=[0:pi/50:2*pi]'; % 用参数t表示椭圆方程 X=cos(t)*a; Y=sin(t)*sqrt(25-a.^2); plot(X,Y) 结果: (3)X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2], (a)写出计算其负元素个数的程序。程序: X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2]; L=X<0; A=sum(L) 结果: A =

MATLAB学习报告

MATLAB学习报告 在上大学之前,计算机在我的印象和生活中都是一种用于娱乐的机器, 玩游戏、上网、看电影、听音乐和偶尔搜索资料。来到大学以后,我对计算机 的用途有了新的认识。大一的一年里我们接触了很多不同类型的软件有作图的,有做视频的等等。我们还学习了c语言,虽然只是学习的一些皮毛,但是我觉 得这一点皮毛足以改变我对计算机的使用和看法了。 首先我们来介绍一下MATLAB,全称是MATrix LABoratory,即矩阵实验室,是Math work公司推出的一套高效率的数值计算和可视化软件。它是当今 科学界最具影响力、也是最具活力的软件,它起源于矩阵运算,并高速发展成 计算机语言。它的优点是强大的科学运算、灵活的程序设计流程、高质量的图 形可视化与界面、便捷的与其他程序和语言接口。Matlab软件的功能。它提供 了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、 便捷的与其他程序和语言接口的功能。在国际学术界,Matlab已经被确认为准确、可靠的科学计算标准软件。在国际一流的学术刊物上,尤其是信息科学刊 物上,都可以看到Matlab的应用。 一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于 它有着不同于其他语言的特点。正如同FORTRAN和C等高级语言使人们摆脱了 需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观、最 简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点: 1、Matlab一个高级的距阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执 行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特 征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的 书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。 2、Matlab的数据库的可覆盖性,可调用性。我记得C语言中,假如你得 调用一个数值,必须是局部函数中赋值,否则就定义为全局变量。还有在C语 言中数据的变量储存是一个问题,自动的有auto,静态变量有static和register。我们有时候很难记忆,所以数据储存容易出现问题。而Matlab软件的数据是由于MATLAB 语言库函数与用户文件的形式相同所以用户文件可以像 数据库函数一样随意调用。所以用户可根据自己的需要任意扩充函数库。 3、Matlab软件编程的简便性,清晰性。用Matlab软件设计程序,它更 加方便快捷。MATLAB 的基本数据单元是既不需要指定维数、也不需要说明数据类型的矩阵,而且数学表达式和运算规则与通常的习惯相同。因此,在MATLAB 环境下,数组的操作与数的操作一样简单。对比C语言,Matlab确实简单不少。我们在编写程序时简便了许多。例如,求1 1 2 3 5 8 13?这个算法。C语言得用许多的语句去循环算这个算法。而Matlab软件可以首先数据初始化,然后用while去循环,做出循环体,就可以你要多少数据,它会给你多少数据。还有

MATLAB全实验报告

《数学实验》报告 实验名称 Matlab 基础知识 学院 专业班级 姓名 学号 2014年 6月

一、【实验目的】 1.认识熟悉Matlab这一软件,并在此基础上学会基本操作。 2.掌握Matlab基本操作和常用命令。 3.了解Matlab常用函数,运算符和表达式。 4.掌握Matlab工作方式和M文件的相关知识。 5.学会Matlab中矩阵和数组的运算。 二、【实验任务】 P16 第4题 编写函数文件,计算 1! n k k = ∑,并求出当k=20时表达式的值。P27第2题 矩阵A= 123 456 789 ?? ?? ?? ?? ?? ,B= 468 556 322 ?? ?? ?? ?? ?? ,计算A*B,A.*B,并比较两者的区别。 P27第3题 已知矩阵A= 52 91 ?? ?? ?? ,B= 12 92 ?? ?? ?? ,做简单的关系运算A>B,A==B,AB)。 P34 第1题 用 111 1 4357 π =-+-+……公式求π的近似值,直到某一项的绝对值小于-6 10为止。 三、【实验程序】 P16 第4题 function sum=jiecheng(n) sum=0; y=1; for k=1:n for i=1:k y=y*i; end sum=sum+y; end sum P27第2题 >>A=[1 2 3;4 5 6;7 8 9] >>B=[4 6 8;5 5 6;3 2 2] >>A*B

P27第3题 >> A=[5 2;9 1];B=[1 2;9 2]; >>A>B >>A==B >>A> (A==B)&(A> (A==B)&(A>B) P34 第1题 t=1; pi=0; n=1; s=1; while abs(t)>=1e-6 pi=pi+t; n=n+2; s=-s; t=s/n; end pi=4*pi; 四、【实验结果】 P16 第4题 P27第2题

(完整版)MATLAB数学实验第二版答案(胡良剑)

数学实验答案 Chapter 1 Page20,ex1 (5) 等于[exp(1),exp(2);exp(3),exp(4)] (7) 3=1*3, 8=2*4 (8) a为各列最小值,b为最小值所在的行号 (10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture (11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10) (12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10) Page20, ex2 (1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b (2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码 Page20,ex3 >> r=2;p=0.5;n=12; >> T=log(r)/n/log(1+0.01*p) Page20,ex4 >> x=-2:0.05:2;f=x.^4-2.^x; >> [fmin,min_index]=min(f) 最小值最小值点编址 >> x(min_index) ans = 0.6500 最小值点 >> [f1,x1_index]=min(abs(f)) 求近似根--绝对值最小的点 f1 = 0.0328 x1_index = 24 >> x(x1_index) ans = -0.8500 >> x(x1_index)=[];f=x.^4-2.^x; 删去绝对值最小的点以求函数绝对值次小的点 >> [f2,x2_index]=min(abs(f)) 求另一近似根--函数绝对值次小的点 f2 = 0.0630 x2_index = 65 >> x(x2_index) ans = 1.2500

河南城建学院MATLAB上机实验答案

一熟悉Matlab工作环境 1、熟悉Matlab的5个基本窗口 思考题: (1)变量如何声明,变量名须遵守什么规则、是否区分大小写。 答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。变量名要遵守以下几条规则:?变量名必须以字母开头,只能由字母、数字或下划线组成。 ?变量名区分大小写。 ?变量名不能超过63个字符。 ?关键字不能作为变量名。 ?最好不要用特殊常量作为变量名。 (2)试说明分号、逗号、冒号的用法。 分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。 逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。 冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。 (3)linspace()称为“线性等分”函数,说明它的用法。 LINSPACE Linearly spaced vector. 线性等分函数 LINSPACE(X1, X2) generates a row vector of 100 linearly equally spaced points between X1 and X2. 以X1为首元素,X2为末元素平均生成100个元素的行向量。 LINSPACE(X1, X2, N) generates N points between X1 and X2. For N < 2, LINSPACE returns X2. 以X1为首元素,X2为末元素平均生成n个元素的行向量。如果n<2,返回X2。 Class support for inputs X1,X2: float: double, single 数据类型:单精度、双精度浮点型。 (4)说明函数ones()、zeros()、eye()的用法。 ones()生成全1矩阵。 zeros()生成全0矩阵。 eye()生成单位矩阵。 2、Matlab的数值显示格式

matlab学习心得体会(精选3篇)

matlab学习心得体会(精选3篇) matlab学习心得体会一:matlab学习心得matlab中有丰富的图形处理能力,提供了绘制各种图形、图像数据的函数。他提供了一组绘制二维和三维曲线的函数,他们还可以对图形进行旋转、缩放等操作。matlab内部还包含丰富的数学函数和数据类型,使用方便且功能非常强大。 本学期通过对matlab的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了matlab的实用方法。通过理论课的讲解与实验课的操作,使我在短时间内学会使用matlab,同时,通过上机实验,对理论知识的复习巩固实践,可以自己根据例题编写设计简单的程序来实现不同的功能,绘制出比较满意的二维三维图形,在实践中找到乐趣。 matlab是一个实用性很强,操作相对容易,比较完善的工具软件,使用起来比较方便,通过操作可以很快看到结果,能够清晰的感觉到成功与失败,虽然课程中也会出现一些小问题,但是很喜欢这门课程。 matlab学习心得体会二:matlab学习心得(463字) 学习matlab是听说它是一个功能强大的数学软件,但是正被微积分的计算缠身,听说有一个高级的计算器当然高兴,以后可以偷懒了,当然现在不能偷懒。听说关于自动化的计算特别复杂,如果有一种软件能帮忙解题,那是一种极大的解脱,有益于缩短研究时间。目前我只知道有三种数学软件,都是国外的,没有国内的,差距挺大的。matlab学起来挺顺手的,比c语言简单。但是深入学习的时候却困难重重,因为很多知识都没有学习,就算知道那些函数,也没有什么用处。老师布置的作业难度大,写一篇实验,大一什么都不会,写一篇这种论文谈何容易。最多也就会一些数值计算、符号计算、简单绘图,根本不会什么实验。 学习matlab体会最多的是这个软件的功能强大,好多数学题都被轻易的解出。但是有一点遗憾,不知是我不会用,还是它没个功能,已知空间的电荷分布,求空间的电场分布。其中电场分布是无法用函数表达式表示。我知道计算机肯定可以实现,但是这个软件能不能实现就不知道了,我看过许多资料,但是在这方面没有提到相关信息。 总之,这个软件功能强大,不知什么时候国内才有类似的软件。 matlab学习心得体会三:学习matlab的心得(817字) 这是我在学习的过程中的一些技巧,或许对你有帮助,可能字数不你能满足你的要求,但是绝对是精华。

(完整版)数字图像处理MATLAB程序【完整版】

第一部分数字图像处理

实验一图像的点运算 实验1.1 直方图 一.实验目的 1.熟悉matlab图像处理工具箱及直方图函数的使用; 2.理解和掌握直方图原理和方法; 二.实验设备 1.PC机一台; 2.软件matlab。 三.程序设计 在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(1,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(1,2,2),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察图像matlab环境下的直方图分布。 (a)原始图像 (b)原始图像直方图 六.实验报告要求 1、给出实验原理过程及实现代码; 2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 灰度均衡 一.实验目的 1.熟悉matlab图像处理工具箱中灰度均衡函数的使用; 2.理解和掌握灰度均衡原理和实现方法; 二.实验设备 1.PC机一台; 2.软件matlab; 三.程序设计 在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(2,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(2,2,3),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 a=histeq(I,256); %直方图均衡化,灰度级为256 subplot(2,2,2),imshow(a) %输出均衡化后图像 title('均衡化后图像') %在均衡化后图像中加标题 subplot(2,2,4),imhist(a) %输出均衡化后直方图 title('均衡化后图像直方图') %在均衡化后直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察matlab环境下图像灰度均衡结果及直方图分布。 (a)原始图像 (b)均衡化后图像

MATLAB上机实验练习题答案

数学建模 MATLAB上机实验练习题 1、给出一个系数矩阵A[234;541;132],U=[123],求出线性方程组的一个精确解。 2、给出两组数据x=[00.30.81.11.62.3]’y=[0.820.720.630.600.550.50]’,我们可以简单的 认为这组数据在一条衰减的指数函数曲线上,y=C1+C2e-t通过曲线拟合求出这条衰减曲线的表达式,并且在图形窗口画出这条曲线,已知的点用*表示。 3、解线性方程 4、通过测量得到一组数据: 5、已知一组测量值 6、从某一个过程中通过测量得到: 分别采用多项式和指数函数进行曲线拟合。 7、将一个窗口分成四个子窗口,分别用四种方法做出多峰函数的表面图(原始数据法,临近 插值法,双线性插值法,二重三次方插值法) 8、在同一窗口使用函数作图的方法绘出正弦、余弦、双曲正弦、双曲余弦。分别使用不同的 颜色,线形和标识符。 9、下面的矩阵X表示三种产品五年内的销售额,用函数pie显示每种产品在五年内的销售额

占总销售额的比例,并分离第三种产品的切片。 X=19.322.151.6 34.270.382.4 61.482.990.8 50.554.959.1 29.436.347.0 10、对应时间矢量t,测得一组矢量y t00.30.8 1.1 1.6 2.3 y0.50.82 1.14 1.25 1.35 1.40 采用一个带有线性参数的指数函数进行拟合,y=a0+a1e-t+a2te-t,利用回归方法求出拟合函数,并画出拟合曲线,已知点用圆点表示。 11、请创建如图所示的结构数组(9分) 姓名编号指标 江明顺071023身高:176,体重:82 于越忠060134身高:168,体重:74 邓拓050839身高:182,体重:77 12、创建如图所示的元胞数组。(9分) 13、某钢材厂从1990年到2010年的产量如下表所示,请利用三次样条插值的方法计算1999年该钢材厂的产量,并画出曲线,已知数据用‘*’表示。要求写出达到题目要求的MATLAB 操作过程,不要求计算结果。 年份19901992199419961998200020022004200620082010 产量(万吨)75.99591.972105.711123.203131.669150.697179.323203.212226.505249.633256.344 14、在一次化学动力学实验中,在某温度下乙醇溶液中,两种化合物反应的产物浓度与反应时间关系的原始数据如下,请对这组数据进行三次多项式拟合,并画出拟合曲线,已知数据如下。 time=[2.55.07.510.013.017.020.030.040.050.060.070.0] res=[0.290.560.771.051.361.522.002.272.813.053.253.56]

MATLAB实训小结

实训小结 为期一周的MATLAB实训在学习与忙碌中度过了,时间虽短,但我们却真真切切的学到了知识,在现实工作中可以运用的知识。 在第一节课,我们便了解到MATLAB是世界上最流行的、应用最广泛的工程计算和仿真软件,它将计算、可视化和编程等功能同时集于一个易于开发的环境。MATLAB主要应用于数学计算、系统建模与仿真、数学分析与可视化、科学与工程绘图和用户界面设计等。对MATLAB的系统结构和特点等,老师也向我们做出了大致的讲解,同时,我们知道了MATLAB程序的一些最基本的应用和运算,并能够进行一些简单的编程。就这样,实训的第一天大家都在期待和兴奋中度过。 接下来的时间,主要是以大家自学和练习为主,老师进行辅导和考察。在学习过程中,不懂的可以相互之间小声的讨论,也可向老师请教,但必须确保自己真正学到了知识,认真的看书并进行编程练习。一天的学习接近尾声时,就是老师考察大家一天的收获的时候了,老师总会出一些小题目让大家编出它的程序,虽然有的题目对我们来说还是有些难度的,但是在老师的指点下我们还是编出程序的,当我们看到自己编的程序运行正确时,总是会万分的兴奋,充满成就感。 就这样,仅仅一个星期的实训就结束了,虽然不能十分熟悉和运用MATLAB的所有程序,但是我们却打下了一定的基础,

在以后,当我们真正开始深入学习这门学问时,我们对它将不会再那么陌生,学起来也将轻松许多。这次实训为我们提供了一个很好的学习机会,唯一不足的就是时间有点短,我们不能在这段时间里学到更多的知识,因此,在这一周打下的基础上,我们需要用自己的努力去自学,以获取更多的知识。 知识是无穷无尽的,知识的获取需要一颗上进的心,老师将我们领进了门,下面的路就应该我们自己去走,即是充满荆棘,也要努力奋斗往前冲。

Matlab上机实验答案 (1)

Matlab上机实验答案 实验一MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/200)/(1+exp(2)) z1 = 0.2375 >> x=[2 1+2i;-0.45 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = 0.7120 - 0.0253i 0.8968 + 0.3658i 0.2209 + 0.9343i 1.2041 - 0.0044i 2.9,,2.9, 3.0

>> a=-3.0:0.1:3.0; >> z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2) (>> z33=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 0.7388 + 3.2020i 0.7696 + 3.2020i 0.7871 + 3.2020i 0.7920 + 3.2020i 0.7822 + 3.2020i Columns 6 through 10 0.7602 + 3.2020i 0.7254 + 3.2020i 0.6784 + 3.2020i 0.6206 + 3.2020i 0.5496 + 3.2020i Columns 11 through 20 0.4688 + 3.2020i 0.3780 + 3.2020i 0.2775 + 3.2020i 0.2080 + 3.2020i 0.0497 + 3.2020i

matlab实习总结

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连 matlab开发工作界面 接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用 Matlab是一个强大的数学工具,它的应用广泛,涉及到各个领域.它使用起来十分方便,不用麻烦去定义变量.它的绘图能力很强,甚至可以模拟出三维视图.矩阵是它应用的核心,许多工程繁琐的运算都需要靠矩阵来化简,这正是它的生命力所在.但是,他的函数很多,开始学时记的比较痛苦,我已经深深感觉到了.不过看多了也就熟了,感觉和学五笔差不多.它的语法简单,像我学过C语言的学起来还是蛮容易的.它的数组定义十分符合自然,是从1开始的,数组元素的调用也很

接近数学的表达.此外,函数的名字也很符合英文规则,反正我用得很开心就是了. 通过学习matlab,我又一次锻炼了自己的思维.它学起来得心应手也让我明白了学习一门语言(c语言)对学习其他语言的帮助指导作用.同时,它也加强了我理论联系实际的能力.这是一个专业课的基础工具,学好它是必要的. 在第一章中,讲的是一些matlab的入门技术,除了一些基本操作与介绍之外,还初步认识了简单指令的编制,认识了一些matlab 的特殊符号,例如运算用到的加减乘除。(+—*/)对我来说还是比较容易上手的。 但在第二章开始,开始有点难度了,在第二章我接触到两种数据类型,一个是double,还有就是char,另外还介绍了赋值语句,数学计算,常用函数,输入输出语句和数据文件。其中让我最容易混淆的就是运算的优先等级,当所需要运算的公式较长时,常常因没有弄好运算优先级而把程序编错,这一章也接触了更多的特殊符号,在多次看书之后,还是顺利把老师所布置的作业完成了。 在第三章中,我接触到基本的matlab选择结构,还有控制这个结构的关系运算符和逻辑运算符。也就是if结构。这个结构对运算起到很大作用,跟elseif配合使用的话,就可以将很图方法。还有,我们学习如何控制画图的附加功能,例如线的宽度和符号的颜色。这些属性可由指定的“propertyname”和值Value决定,“propertyname”和值Value将出现在plot命令的数据后。

MATLAB课程设计实验体会

课程设计实验体会 学生姓名:李祥胜 学生学号:20120704 专业班级:光信息科学与技术 指导老师:miss Chen 学院:信息工程学院 题目: MATLAB学期实验总结

MATLAB概念及介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB集成环境主要包括五个部分:MATLAB语言、MATLAB工作环境、句柄图形、MATLAB数学函数库和数学建模、小波分析、MATLAB API(App lication Program Interface)。MATLAB语言是以数组为基本数据单位,包括控制流程语句、函数、数据结构、输人输出及面向对象等特点的高级语言。利用SIMULINK对系统进行仿真与分析,在进入虚拟实验环境后,不需要书写代码,只需使用鼠标拖动库中的功能模块并将它们连接起来,再按照实验要求修改各元器件的参数。通过虚拟实验环境建立实验仿真电路模型,可使一些枯燥的电路变得有趣味,复杂的波形变得形象生动,使得各种复杂的能量转换过程比较直观地呈现。 1.1、MATLAB语言特点及优势 1.1.1、语言特点 MATLAB被称为第四代计算机语言,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB 给用户带来的是最直观、最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。 (1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。 (2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短,具体运算符见附表。 (3)MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。 (4)语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。 (5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。

MATLAB中文上机作业

1、给定c 如下,计算运算结果。 1.1 2.2 3.3 4.44321c 0.10.50.30.212233045????????? ?=???????? (a) c (2:end, 2:3:end) (b) b= c ([2 2], [3 3]) (c) e=c(2:3,3:end) (d) d (: , : , 1)=e d (:, : , 2) = e*e 2、给定a 如下,计算运算结果。 (a) a =eye(3)-2; (b) b = [ a(2) 6 4; a ]; (c)a ([1 2], :) = a ([2 2], :); 3、给定以下a, b, c 和d ,计算下列等式的值,若认为运行结果出错,请给出理由。 2112a ???=???? ?? ? ????=1310b [1,2]c = (a) result = a .* c’; (b) result = a * [c c]; (c) result = a .* [c’ c’]; (d) result = a + b * c’; (e) result = a + b .* c 4、一小球从空中下落的位移公式为2 002 1at t v x x + +=,用MATLAB 计算小球在t =5s 时的位置,已知x 0 =10m ,v 0 =15m/s , a=-9.84m/s 2。

5、用MATLAB 语句画出函数x e x y 2.02)(?=在[0,10]的值。 6、(温度转换)设计一个MATLAB 程序,读取一个华氏温度的输入,输出开尔文温度。 华氏温度和开尔文温度的转换关系式可在物理学课本中找到。其关系式为: ()5 ()()32.0273.159 T T = ?+开尔文华氏温度 要求能提示用户输入华氏温度,读取用户键盘输入数据,并最终显示出温度。 7、一个内阻R s =50?,电动势V =120V 的电源驱动一个负载R L 。当R L 为多少时,R L 的功率最大?在这种情况下,功率为多少?画出以R L 为自变量的R L 功率图。 8、电器工程低通滤波电路 图3.8 简单的低通滤波电路 上图是向大家展示了一个简单的低通滤波电路。这个电路是由一个电阻和一个电容组成。输出电压V 0与输入电压V i 的电压比为 V o V i = 11 + j 2πfRC 其中V i 是在频率f 下的正弦输入电压。R 代表电阻,单位为欧姆。C 代表电容,单位为法拉。j 为-1 假设R =16 k ?,电容C =1 μF ,请在同一个图形窗口下分别画出这个滤波器的幅频特性、相频特性曲线,要求幅频特性曲线坐标轴均采用对数坐标,相频特性曲线频率坐标用对数坐标。 9、工程师们经常用分贝或dB 来描述两功率之比。dB 的定义如下 1 2 10 log 10P P dB = P 2是已测量的功率,P 1代表参考功率。 a. 假设参考功率P 1为1mw,编写一个程序,接受一个输入功率P 2并把它转化成为以1mw 为参考功率的dB.(它在工程上有一个特殊单位dBm)。在编写程序时,注意培养好的编程习惯。 b. 写一个程序,创建一个以W 为单位的功率(横坐标),其对应的相对功率(单位为dBm)(纵坐标)的图象。要求画2个图,第1个图象的XY 轴都要用线性轴,而第2图象要用对数-线性 xy 轴。 10、收音接收机.电阻上的电压可通过频率计算出来,公式如下 o R V C L R R V 2 2)1(ωω? +=

相关主题