文档库 最新最全的文档下载
当前位置:文档库 › Matlab通信系统建模与仿真例题源代码-第三章

Matlab通信系统建模与仿真例题源代码-第三章

Matlab通信系统建模与仿真例题源代码-第三章
Matlab通信系统建模与仿真例题源代码-第三章

% ch3example1A.m

clear;

f_p=2400; f_s=5000; R_p=3; R_s=25; % 设计要求指标

[n, fn]=buttord(f_p,f_s,R_p,R_s, 's'); % 计算阶数和截止频率

Wn=2*pi*fn; % 转换为角频率

[b,a]=butter(n, Wn, 's'); % 计算H(s)

f=0:100:10000; % 计算频率点和频率范围

s=j*2*pi*f; % s=jw=j*2*pi*f

H_s=polyval(b,s)./polyval(a,s); % 计算相应频率点处H(s)的值

figure(1);

subplot(2,1,1); plot(f, 20*log10(abs(H_s))); % 幅频特性

axis([0 10000 -40 1]);

xlabel('频率Hz');ylabel('幅度dB');

subplot(2,1,2); plot(f, angle(H_s)); % 相频特性

xlabel('频率Hz');ylabel('相角rad');

figure(2); freqs(b,a); % 也可用指令freqs直接画出H(s)的频率响应曲线。

% ch3example1B.m

clear;

f_p=2400; f_s=5000; R_p=3; R_s=25; % 设计要求指标

[n, fn]=ellipord(f_p,f_s,R_p,R_s,'s'); % 计算阶数和截止频率

Wn=2*pi*fn; % 转换为角频率

[b,a]=ellip(n,R_p,R_s,Wn,'s'); % 计算H(s)

f=0:100:10000; % 计算频率点和频率范围

s=j*2*pi*f; % s=jw=j*2*pi*f

H_s=polyval(b,s)./polyval(a,s); % 计算相应频率点处H(s)的值

figure(1);

subplot(2,1,1); plot(f, 20*log10(abs(H_s))); % 幅频特性

axis([0 10000 -40 1]);

xlabel('频率Hz');ylabel('幅度dB');

subplot(2,1,2); plot(f, angle(H_s)); % 相频特性

xlabel('频率Hz');ylabel('相角rad');

figure(2); freqs(b,a); % 也可用指令freqs直接画出H(s)的频率响应曲线。

% ch3example2A.m

f_N=8000; % 采样率

f_p=2100; f_s=2500; R_p=3; R_s=25; % 设计要求指标

Ws=f_s/(f_N/2); Wp=f_p/(f_N/2); % 计算归一化频率

[n, Wn]=buttord(Wp,Ws,R_p,R_s); % 计算阶数和截止频率

[b,a]=butter(n, Wn); % 计算H(z)

figure(1);

freqz(b,a, 1000, 8000) % 作出H(z)的幅频相频图, freqz(b,a, 计算点数, 采样率)

subplot(2,1,1); axis([0 4000 -30 3])

figure(2); % 第二种作图方法

f=0:40:4000; % 计算频率点和频率范围

z=exp(j*2*pi*f./(f_N)); %

H_z=polyval(b,z)./polyval(a,z); % 计算相应频率点处H(s)的值

subplot(2,1,1); plot(f, 20*log10(abs(H_z))); % 幅频特性

axis([0 4000 -40 1]);

xlabel('频率Hz');ylabel('幅度dB');

subplot(2,1,2); plot(f, angle(H_z)); % 相频特性

xlabel('频率Hz');ylabel('相角rad');

% ch3example3A.m

f_N=8000; % 采样率

f_p=1000; f_s=700; R_p=3; R_s=20; % 设计要求指标

Ws=f_s/(f_N/2); Wp=f_p/(f_N/2); % 计算归一化频率

[n, Wn]=cheb1ord(Wp,Ws,R_p,R_s); % 计算阶数和截止频率

[b,a]=cheby1(n, R_p, Wn, 'high'); % 计算H(z)

freqz(b,a, 1000, 8000) % 作出H(z)的幅频相频图, freqz(b,a, 计算点数, 采样率) subplot(2,1,1); axis([0 4000 -30 3])

% ch3example4A.m

f_N=10000; % 采样率

f_p=[1000, 1500]; f_s=[600, 1900]; R_p=3; R_s=20; % 设计要求指标

Ws=f_s/(f_N/2); Wp=f_p/(f_N/2); % 计算归一化频率[n, Wn]=ellipord(Wp,Ws,R_p,R_s); % 计算阶数和截止频率[b,a]=ellip(n, R_p, R_s, Wn); % 计算H(z)

freqz(b,a, 1000, 10000) % 作出H(z)的幅频相频图, freqz(b,a, 计算点数, 采样率) subplot(2,1,1); axis([0 5000 -30 3])

% ch3example5A.m

f_N=10000; %采样率

f_p=[1000, 1500]; f_s=[1200, 1300]; R_p=3; R_s=30; %设计要求指标

Ws=f_s/(f_N/2); Wp=f_p/(f_N/2); %计算归一化频率

[n, Wn]=cheb2ord(Wp,Ws,R_p,R_s); %计算阶数和截止频率

[b,a]=cheby2(n,R_s, Wn, 'stop'); %计算带阻H(z)系数

freqz(b,a, 1000, 10000) %作出H(z)的幅频相频图, freqz(b,a, 计算点数, 采样率) subplot(2,1,1); axis([0 5000 -35 3])

% ch3example6A.m

Fs=8000; Ts=1/8000; % 采样率

f0=500; % 梳状滤波器开槽基频率

bw=60/(Fs/2); % 归一化开槽带宽

ab=-3 ; % 计算开槽带宽位置处的衰减分贝值n=Fs/f0; % 计算滤波器阶数

[num,den] = iircomb(n,bw,ab, 'notch'); % 计算H(z)

freqz(num,den, 4000, 8000); % 作出H(z)的幅频相频图

axis([0 4000 -30 5]);

% ch3example10.m

sim('ch3example10.mdl');

bar([-10:1/5:10-1/5],histdata);

axis([-10 10 0 0.05]);% 作出归一化统计直方图

% ch3example10prg.m

sim('ch3example10.mdl');

bar([-10:1/5:10-1/5],histdata*5);

axis([-10 10 0 0.25]);% 作出归一化统计直方图

% ch3example11prg1.m

t=-1: 0.01 :10 ; % 计算时间范围

f_t=exp(-t).*(t>0);

subplot(3,1,1);plot(t,f_t); % 时域波形

axis([-1 10 -0.1 1.1]); xlabel('time (sec)');

w=-40: 0.1 : 40; % 计算角频率范围

F_w=1./(1+j*w); % 频谱理论结果subplot(3,1,2);plot(w, abs(F_w)); % 频域幅度谱

axis([-40 40 0 1.1]);xlabel('freq (rad/s)');

subplot(3,1,3);plot(w, angle(F_w)); % 频域相位谱

axis([-40 40 -pi/2 pi/2]);xlabel('freq (rad/s)');

% ch3example11prg2.m

w_m=40; % 截断频率

T=pi/w_m; % 采样间隔

L=5;

t=0: T :L ; % 时域截断

x_t=exp(-t).*(t>0); %信号序列

N=length(x_t); %序列长度(点数)

%-----------------------------------

X_k=fft(x_t); % FFT计算

%-----------------------------------

w0=2*pi/(N*T); % 离散频率间隔

kw=2*pi/(N*T) .*[0: N-1]; % 离散频率样点

X_kw=T.*X_k; % 乘以T得到连续傅利叶变换频谱的样值%-----------------------------------

subplot(2,1,1);

plot(kw, abs(X_kw),'.','MarkerSize', 14); % 作出数值计算的幅度谱点

axis([-40 90 -0.1 1.1]);xlabel('freq (rad/s)');

hold on; % 保持前面作图曲线不被擦除w=-40: 0.1 : 40;

X_w=1./(1+j*w); % 理论计算频谱表达式

plot(w, abs(X_w)); % 作图对比

subplot(2,1,2);

plot(kw, angle(X_kw),'.','MarkerSize', 14); % 作出数值计算的相位谱点

hold on;

plot(w, angle(X_w)); % 频域相位谱

axis([-40 90 -pi pi]);xlabel('freq (rad/s)');

% ch3example12prg1.m

Df=5; % 频率间隔

f_s=2*500; % 采样率

N=f_s/Df; % 序列点数

t=0:1./f_s:(N-1)./f_s; % 计算时间段

freq=0:Df:(N-1)*Df; % 计算频率段

f_t=2*sin(2*pi*100*t)+cos(2*pi*180*t); % 信号

F_f=1/f_s*fft(f_t,N); % 用FFT计算频谱

plot(freq-f_s/2,abs(fftshift(F_f))); % 将零频率移动到FFT中心

xlabel('频率Hz'); ylabel('幅度谱'); % 并作出幅度频谱

% ch3example14prg1.m

fs=200; % 采样率

Delta_f = 1; % 频率分辨率

T = 1/fs; % 时间分辨率

L=1/ Delta_f; % 时域截取长度

N= floor(fs/Delta_f)+1; % 计算截断信号的采样点数

t=0:T:L; % 截取时间段和采样时间点

freq=0: Delta_f :fs; % 分析的频率范围和频率分辨率

f_t=(sin(2*pi*50*t)+0.7*sin(2*pi*75*t))';

% 在截取范围内的分析的信号时域波形

f_t_rectwin= rectwin(N).*f_t./sqrt(sum(abs(rectwin(N).^2))./N);

% 矩形窗(功率归一化)

f_t_hamming= hamming(N) .*f_t./sqrt(sum(abs(hamming(N).^2))./N);

% 海明窗(功率归一化)

f_t_hann = hann(N) .*f_t./sqrt(sum(abs(hann(N).^2))./N);

% 汉宁窗(功率归一化)

F_w_rectwin =T.* fft(f_t_rectwin, N);

% 进行N点FFT,并乘以采样时间间隔T得到频谱

F_w_hamming =T.* fft(f_t_hamming, N); % 加海明窗的频谱

F_w_hann =T.* fft(f_t_hann, N); % 加汉宁窗的频谱figure(1); subplot(2,2,1);plot(t,f_t);title('Original Signal');

subplot(2,2,2);plot(t, f_t_rectwin);title('Rectwin Windowing');

subplot(2,2,3);plot(t, f_t_hamming);title('hamming Windowing');

subplot(2,2,4);plot(t, f_t_hann);title('hanning Windowing');

figure(2);

subplot(3,1,1);plot(freq, 10*log10(abs(F_w_rectwin)));

title('Rectwin Windowing Spectrum');ylabel('幅度dB');

axis([0,200,-50,0]);grid on;

subplot(3,1,2);plot(freq, 10*log10(abs(F_w_hamming)));

title('hamming Windowing Spectrum');ylabel('幅度dB');

axis([0,200,-50,0]);grid on;

subplot(3,1,3);plot(freq, 10*log10(abs(F_w_hann)));

title('hanning Windowing Spectrum');ylabel('幅度dB');

axis([0,200,-50,0]);grid on;

p_original_signal=var(f_t) % 计算原始信号的平均功率

p_hannwindowed=sum((abs(F_w_hann/T)).^2)/(N^2) % 计算加窗后的信号功率

% ch3example16prg1.m

fs=500; % 采样率

Df=1; % 频率分辨率

N=floor(fs/Df)+1; % 计算的序列点数

t=0:1/fs:(N-1)/fs; % 截取信号的时间段

F=0:Df:fs; % 功率谱估计的频率分辨率和范围

xk=sin(2*pi*50*t)+2*sin(2*pi*130*t)+randn(1,length(t));

% 截取时间段上的离散信号样点序列

Pxx=abs(fft(xk)).^2/(N^2); % 功率谱估计

Pav_timedomaim=sum(xk.^2)/N % 在时域计算信号功率

Pav_freqdomain=sum(Pxx) % 通过功率谱计算信号功率

plot(F,10*log10(Pxx));xlabel('freq Hz');ylabel('PSD dB') % 作出功率谱密度图

% ch3example16prg2.m

fs=500; % 采样率

Df=1; % 频率分辨率

N=floor(fs/Df)+1; % 计算的序列点数

t=0:1/fs:(N-1)/fs; % 截取信号的时间段

F=0:Df:fs; % 功率谱估计的频率分辨率和范围

xk=sin(2*pi*50*t)+2*sin(2*pi*130*t)+randn(1,length(t));

% 截取时间段上的离散信号样点序列

Pxx=(abs(fft(xk(1:167))).^2+...

abs(fft(xk(168:334))).^2+...

abs(fft(xk(335:501))).^2)/3/((N/3)^2);

Pav_timedomaim=sum(xk.^2)/N % 在时域计算信号功率

Pav_freqdomain=sum(Pxx) % 通过功率谱计算信号功率

plot(0:3:fs,10*log10(Pxx));xlabel('freq Hz');ylabel('PSD dB');

%作出功率谱密度图

% ch3example16prg3.m

fs=500; % 采样率

Df=1; % 频率分辨率

N=floor(fs/Df)+1; % 计算的序列点数

t=0:1/fs:(N-1)/fs; % 截取信号的时间段

F=0:Df:fs; % 功率谱估计的频率分辨率和范围

xk=sin(2*pi*50*t)+2*sin(2*pi*130*t)+randn(1,length(t));

% 截取时间段上的离散信号样点序列

Pxx=(abs(fft(xk(1:167))).^2+...

abs(fft(xk(83:249))).^2+...

abs(fft(xk(168:334))).^2+...

abs(fft(xk(250:416))).^2+...

abs(fft(xk(335:501))).^2)/5/((N/3)^2);

Pav_timedomaim=sum(xk.^2)/N % 在时域计算信号功率

Pav_freqdomain=sum(Pxx) % 通过功率谱计算信号功率

plot(0:3:fs,10*log10(Pxx));xlabel('freq Hz');ylabel('PSD dB');

%作出功率谱密度图

% ch3example16prg4.m

fs=500; % 采样率

Df=1; % 频率分辨率

N=floor(fs/Df)+1; % 计算的序列点数

t=0:1/fs:(N-1)/fs; % 截取信号的时间段

F=0:Df:fs; % 功率谱估计的频率分辨率和范围

xk=sin(2*pi*50*t)+2*sin(2*pi*130*t)+randn(1,length(t));

% 截取时间段上的离散信号样点序列

w=hamming(167)';%海明窗

w=w*sqrt(167/sum(w.*w));% 使得海明窗与矩形窗等能量,即加窗后不对信号功率产生影响Pxx=(abs(fft(w.*xk(1:167))).^2+...

abs(fft(w.*xk(83:249))).^2+...

abs(fft(w.*xk(168:334))).^2+...

abs(fft(w.*xk(250:416))).^2+...

abs(fft(w.*xk(335:501))).^2)/5/((N/3)^2);

Pav_timedomaim=sum(xk.^2)/N % 在时域计算信号功率

Pav_freqdomain=sum(Pxx) % 通过功率谱计算信号功率

plot(0:3:fs,10*log10(Pxx));xlabel('freq Hz');ylabel('PSD dB');%作出功率谱密度图

% ch3example16prg5.m

fs=500; % 采样率

Df=1; % 频率分辨率

N=floor(fs/Df)+1; % 计算的序列点数

t=0:1/fs:(N-1)/fs; % 截取信号的时间段

F=0:Df:fs; % 功率谱估计的频率分辨率和范围

xk=sin(2*pi*50*t)+2*sin(2*pi*130*t)+randn(1,length(t));

% 截取时间段上的离散信号样点序列

[Pxx,F] = psd(xk,512,500,hamming(256),128);

plot(F,10*log10(Pxx/(512/2))); xlabel('freq Hz');ylabel('PSD dB')

Pav=sum(Pxx/(512/2)) % 通过功率谱计算信号功率

% ch3example23prg1.m

kc=150e3; % Hz/V VCO控制灵敏度

omega_n=2*pi*15e3/2.5; % PLL自然角频率

K=2*pi*(0.5*kc); % 估算环路增益

zeta=1; % 临界阻尼

tau_1=K/((omega_n).^2);

tau_2=2*zeta/omega_n-1/K;

freq=0:10:100e3; % 计算频率范围0到100KHz

s=j*2*pi*freq;

G_s=(1+tau_2*s)./(1+tau_1*s); % 环路滤波器传递函数

figure(1);semilogx(freq,(abs(G_s)));% 作出环路滤波器的频率响应

title('环路滤波器幅频响应');xlabel('Hz');ylabel('|G(s)|');

grid on;

b=[tau_2,1]; % 环路滤波器分子系数向量

a=[tau_1,1]; % 环路滤波器分母系数向量

H_s=(G_s*K./s)./(1+G_s*K./s);

figure(2);semilogx(freq,20*log10(abs(H_s)));% 作出闭环频率响应

title('PLL线性相位模型闭环频率响应');xlabel('Hz');ylabel('20log|H(s)|(dB)'); grid on;

现代信号处理Matlab仿真——例611

例6.11 利用卡尔曼滤波估计一个未知常数 题目: 设已知一个未知常数x 的噪声观测集合,已知噪声v(n)的均值为零, 方差为 ,v(n)与x 不相关,试用卡尔曼滤波估计该常数 题目分析: 回忆Kalman 递推估计公式 由于已知x 为一常数,即不随时间n 变化,因此可以得到: 状态方程: x(n)=x(n-1) 观测方程: y(n)=x(n)+v(n) 得到A(n)=1,C(n)=1, , 将A(n)=1,代入迭代公式 得到:P(n|n-1)=P(n-1|n-1) 用P(n-1)来表示P(n|n-1)和P(n-1|n-1),这是卡尔曼增益表达式变为 从而 2v σ1??(|1)(1)(1|1)(|1)(1)(1|1)(1)()()(|1)()[()(|1)()()]???(|)(|1)()[()()(|1)](|)[()()](|1)H w H H v x n n A n x n n P n n A n P n n A n Q n K n P n n C n C n P n n C n Q n x n n x n n K n y n C n x n n P n n I K n C n P n n --=----=----+=--+=-+--=--2()v v Q n σ=()0w Q n =(|1)(1)(1|1)(1)()H w P n n A n P n n A n Q n -=----+21 ()(|1)[(|1)]v K n P n n P n n σ-=--+22(1)()[1()](1)(1)v v P n P n K n P n P n σσ-=--=-+

matlab基础练习题带答案

Matlab 基础练习题 常量、变量、表达式 1、 MATLAB 中,下面哪些变量名是合法的?( ) (A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。 (A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( ) (A )eps (B )none (C )zero (D )exp 4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放 一个中文字符‘啊’需要占用2个字节。( 错,都是2个字节 ) 5、 判断:MA TLAB 中,i 和j ( 对 ) 6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。( 错,后面还有很多位小数 ) 7、 在MA TLAB 中,若想计算的5 1)3.0sin(21+= πy 值,那么应该在MA TLAB 的指令窗中 输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。 8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字 节。 9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。 数组 1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序 的逆序排列输出,应该使用下面的( )指令。 (A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB 的命令是( )。 (A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A) 3、 在MATLAB 中,用指令x=1:9生成数组x 。现在要把x 数组的第二和第七个元素都 赋值为0,应该在指令窗中输入( ) (A )x([2 7])=(0 0) (B )x([2,7])=[0,0] (C )x[(2,7)]=[0 0] (D )x[(2 7)]=(0 0) 4、 在MA TLAB 中,依次执行以下指令:clear;A=ones(3,4); A(:)=[-6:5];这时, 若在指令窗中输入指令b=A(:,2)',那么,MATLAB 输出的结果应该是( ) (A )b = -3 -2 -1 (B )b = -2 -1 0 1 (C )b = -5 -1 3 (D )b = -5 -2 1 4 5、 在MA TLAB 中,A = 1:9,现在执行如下指令L1 = ~(A>5),则MATLAB 的执行结果应 该是L1 =___ 1 1 1 1 1 0 0 0 0___。

Matlab仿真实例-卫星轨迹

卫星轨迹 一.问题提出 设卫星在空中运行的运动方程为: 其中是k 重力系数(k=401408km3/s)。卫星轨道采用极坐标表示,通过仿真,研究发射速度对卫星轨道的影响。实验将作出卫星在地球表面(r=6400KM ,θ=0)分别以v=8KM/s,v=10KM/s,v=12KM/s 发射时,卫星绕地球运行的轨迹。 二.问题分析 1.卫星运动方程一个二阶微分方程组,应用Matlab 的常微分方程求解命令ode45求解时,首先需要将二阶微分方程组转换成一阶微分方程组。若设,则有: 2.建立极坐标如上图所示,初值分别为:卫星径向初始位置,即地球半径:y(1,1)=6400;卫星初始角度位置:y(2,1)=0;卫星初始径向线速度:y(3,1)=0;卫星初始周向角速度:y(4,1)=v/6400。 3.将上述一阶微分方程及其初值带入常微分方程求解命令ode45求解,可得到一定时间间隔的卫星的径向坐标值y(1)向量;周向角度坐标值y(2)向量;径向线速度y(3)向量;周向角速度y(4)向量。 4.通过以上步骤所求得的是极坐标下的解,若需要在直角坐标系下绘制卫星的运动轨迹,还需要进行坐标变换,将径向坐标值y(1)向量;周向角度坐标值y(2)向量通过以下方程转换为直角坐标下的横纵坐标值X,Y 。 5.卫星发射速度速度的不同将导致卫星的运动轨迹不同,实验将绘制卫星分别以v=8KM/s ,v=10KM/s ,v=12KM/s 的初速度发射的运动轨迹。 三.Matlab 程序及注释 1.主程序 v=input('请输入卫星发射速度单位Km/s :\nv=');%卫星发射速度输入。 axis([-264007000-1000042400]);%定制图形输出坐标范围。 %为了直观表达卫星轨迹,以下语句将绘制三维地球。 [x1,y1,z1]=sphere(15);%绘制单位球。 x1=x1*6400;y1=y1*6400;???????-=+-=dt d dt dr r dt d dt d r r k dt r d θ θθ2)(2 22222θ==)2(,)1(y r y ?????????????**-=**+*-===)1(/)4()3(2)4()4()4()1()1()1()3()4()2() 3()1(y y y dt dy y y y y y k dt dy y dt dy y dt dy ???*=*=)] 2(sin[)1(Y )]2(cos[)1(X y y y y

matlab经典习题及解答

第1章 MATLAB概论 1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB系统由那些部分组成? MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 页脚内容1

命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB中有几种获得帮助的途径? 在MATLAB中有多种获得帮助的途径: (1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器; (2)help命令:在命令窗口键入“help”命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息; (3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数 (4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。 第2章MATLAB矩阵运算基础 页脚内容2

matlab经典编辑习题集及解答

第1章 MATLAB 概论 1.1 与其他计算机语言相比较,MATLAB 语言突出的特点是什么? MATLAB 具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB 系统由那些部分组成? MATLAB 系统主要由开发环境、MATLAB 数学函数库、MATLAB 语言、图形功能和应用程序接口五个部分组成。 1.4 MATLAB 操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB 操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口成为独立窗口的Undock 按钮,点击Undock 按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view 菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M 文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M 文件编辑/调试器将被启动。在命令窗口中键入edit 命令时也可以启动M 文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M 文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path 菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB 运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB 中有几种获得帮助的途径? 在MATLAB 中有多种获得帮助的途径: (1)帮助浏览器:选择view 菜单中的Help 菜单项或选择Help 菜单中的MATLAB Help 菜单项可以打开帮助浏览器; (2)help 命令:在命令窗口键入“help ” 命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息; (3)lookfor 命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数 (4)模糊查询:输入命令的前几个字母,然后按T ab 键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor 和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help 命令显示详细信息。 第2章 MATLAB 矩阵运算基础 2.1 在MATLAB 中如何建立矩阵?? ? ???194375,并将其赋予变量a ? >> a=[5 7 3;4 9 1] 2.2 有几种建立矩阵的方法?各有什么优点? 可以用四种方法建立矩阵: ①直接输入法,如a=[2 5 7 3],优点是输入方法方便简捷; ②通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; ③由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; ④通过数据文件建立,该方法可以调用由其他软件产生数据。 2.3 在进行算术运算时,数组运算和矩阵运算各有什么要求? 进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )

MATLAB实现通信系统仿真实例

补充内容:模拟调制系统的MATLAB 仿真 1.抽样定理 为了用实验的手段对连续信号分析,需要先对信号进行抽样(时间上的离散化),把连续数据转变为离散数据分析。抽样(时间离散化)是模拟信号数字化的第一步。 Nyquist 抽样定律:要无失真地恢复出抽样前的信号,要求抽样频率要大于等于两倍基带信号带宽。 抽样定理建立了模拟信号和离散信号之间的关系,在Matlab 中对模拟信号的实验仿真都是通过先抽样,转变成离散信号,然后用该离散信号近似替代原来的模拟信号进行分析的。 【例1】用图形表示DSB 调制波形)4cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%%一般选取的抽样频率要远大于基带信号频率,即抽样时间间隔要尽可能短。 ts=1/fs; %%根据抽样时间间隔进行抽样,并计算出信号和包络 t=(0:ts:pi/2)';%抽样时间间隔要足够小,要满足抽样定理。 envelop=cos(2*pi*t);%%DSB 信号包络 y=cos(2*pi*t).*cos(4*pi*t);%已调信号 %画出已调信号包络线 plot(t,envelop,'r:','LineWidth',3); hold on plot(t,-envelop,'r:','LineWidth',3); %画出已调信号波形 plot(t,y,'b','LineWidth',3); axis([0,pi/2,-1,1])% hold off% xlabel('t'); %写出图例 【例2】用图形表示DSB 调制波形)6cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%抽样时间间隔要足够小,要满足抽样定理。 ts=1/fs; %%根据抽样时间间隔进行抽样

MATLAB习题及参考答案经典.doc

习题: 1, 计算?? ????=572396a 与??? ???=864142b 的数组乘积。 2, 对于B AX =,如果???? ? ?????=753467294A ,??????????=282637B ,求解X 。 3, 已知:?? ?? ? ?????=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。 4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。(应用sin,cos,tan.cot) 5, 将矩阵?? ?? ??=7524a 、??????=3817b 和??? ???=2695c 组合成两个新矩阵: (1)组合成一个4?3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即 ?? ??? ???? ???237 912685 574 (2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []296531877254 6, 将(x -6)(x -3)(x -8)展开为系数多项式的形式。(应用poly,polyvalm) 7, 求解多项式x 3-7x 2+2x +40的根。(应用roots) 8, 求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。(应用poly,polyvalm) 9, 计算多项式9514124234++--x x x x 的微分和积分。(应用polyder,polyint ,poly2sym)

10, 解方程组???? ? ?????=??????????66136221143092x 。(应用x=a\b) 11, 求欠定方程组?? ? ???=???? ??5865394742x 的最小范数解。(应用pinv) 12, 矩阵???? ? ?????-=943457624a ,计算a 的行列式和逆矩阵。(应用det,inv) 13, y =sin(x ),x 从0到2π,?x =0.02π,求y 的最大值、最小值、均值和标准差。(应用max,min,mean,std) 14, 参照课件中例题的方法,计算表达式() 2 2 e 1053y x y x z ---=的梯度并绘图。(应用meshgrid, gradient, contour, hold on, quiver) 15, 用符号函数法求解方程a t 2+b*t +c=0。(应用solve) 16, 用符号计算验证三角等式:(应用syms,simple) 17, 求矩阵?? ? ? ??=2221 1211a a a a A 的行列式值、逆和特征根。(应用syms,det,inv,eig) 18, 因式分解:6555234-++-x x x x (应用syms, factor) 19, ? ??? ?? ?? =)sin()log(12 x x e x x a f ax ,用符号微分求df/dx 。(应用syms,diff) 20, 符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t 的变化范围为[0,2π]。(应用syms,ezplot) 21, 绘制曲线13++=x x y ,x 的取值范围为[-5,5]。(应用plot) 22, 有一组测量数据满足-at e =y ,t 的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,在图中添加标题-at e =y ,并用箭头线标识出各曲线a 的取值,并添加标题-at e =y 和图例框。(应用plot,title,text,legend) 23 24, x= [66 49 71 56 38],绘制饼图,并将第五个切块分离出来。

Matlab考题题整理带答案

MATLAB 考试试题(1) 产生一个1x10的随机矩阵,大小位于(-5 5),并且按照从大到小的顺序排列好!(注:要程序和运行结果的截屏) 答案: a=10*rand(1,10)-5; b=sort(a,'descend') 1.请产生一个100*5的矩阵,矩阵的每一行都是[1 2 3 4 5] 2. 已知变量:A=’ilovematlab’;B=’matlab’, 请找出: (A)B在A中的位置。 (B)把B放在A后面,形成C=‘ilovematlabmatlab’ 3. 请修改下面的程序,让他们没有for循环语句! A=[1 2 3; 4 5 6; 7 8 9]; [r c]=size(A); for i=1:1:r for j=1:1:c if (A(i,j)>8 | A(i,j)<2) A(i,j)=0; end end end 4. 请把变量A=[1 2 3; 4 5 6; 7 8 9]写到文件里(output.xls),写完后文件看起来是这样的 1 2 3 4 5 6 7 8 9 5.试从Yahoo网站上获得微软公司股票的2008年9月的每日收盘价。 6.编写M文件,从Yahoo网站批量读取60000.SH至600005.SH在2008年9月份的每日收盘价(提示:使用字符串函数)。 7. 将金牛股份(000937)2005年12月14日至2006年1月10日的交易记录保存到Excel中,编写程序将数据读入MATLAB中,进一步将数据读入Access数据库文件。 8.已知资产每日回报率为0.0025,标准差为0.0208,资产现在价值为0.8亿,求5%水平下资产的10天在险价值(Var)。 9.a=[1 2 3 4 5],b=a(1)*a(5)+a(2)*a(4)+a(3)*a(3)+a(4)*a(2)+a(5)*a(1).试用MATLAB中最简单的方法计算b,注意最简单哦。

matlab例题

五、某公司投资2000万元建成一条生产线。投产后,在时刻t 的追加成本和追加收益分别为3/225)(t t t G ++=(百万元/年),3/218)(t t H -=(百万元/年)。试确定该生产线在何时停产可获最大利润?最大利润是多少? 提示:利用函数?=T G H t R 0t 20-d ))t (-)t (()((百万元),由于H (t )-G (t )单调 下降,所以H (t )=G (t )时,R (t )取得最大利润。 5.解:构造函数f(t)=H(t)-G(t)=13-t-3t 2/3=0 ; 令t 1/3=x,则f(t)=-t 3-3t 2+13 可得矩阵P=[-1,-3,0,13] 求最佳生产时间的源程序如下: p=[-1,-3,0,13]; x=roots(p); t=x.^3 运行结果如下: t = 3.6768 +21.4316i 3.6768 -21.4316i 4.6465 再分别将t 的三个值带入函数f(t),比较大小后,得到最大利润与最佳生产时间。 求最大利润的程序代码如下: ① t=3.6768 +21.4316i; x=0:0.01:t; y=13-x-3*x.^(2/3); trapz(x,y) 运行结果: ans = 25.2583 ② t=3.6768 -21.4316i; x=0:0.01:t; y=13-x-3*x.^(2/3); trapz(x,y) 运行结果: ans = 25.2583 ③ t=4.6465; x=0:0.01:t; y=13-x-3*x.^(2/3); trapz(x,y) 运行结果: ans = 26.3208 比较以上三组数据,可知最佳生产时间t=4.6465年,可获得的最大利润 26.3208(百万元/年)。 clear; close; fplot('18-t^(2/3)',[0,20]);grid on;hold on; fplot('5+t+2*t^(2/3)',[0,20],'r');hold off; %发现t 约为4

matlab经典编程例题

以下各题均要求编程实现,并将程序贴在题目下方。 1.从键盘输入任意个正整数,以0结束,输出那些正整数中的素数。 clc;clear; zzs(1)=input('请输入正整数:');k=1; n=0;%素数个数 while zzs(k)~=0 flag=0;%是否是素数,是则为1 for yz=2:sqrt(zzs(k))%因子从2至此数平方根 if mod(zzs(k),yz)==0 flag=1;break;%非素数跳出循环 end end if flag==0&zzs(k)>1%忽略0和1的素数 n=n+1;sus(n)=zzs(k); end k=k+1; zzs(k)=input('请输入正整数:'); end disp(['你共输入了' num2str(k-1) '个正整数。它们是:']) disp(zzs(1:k-1))%不显示最后一个数0 if n==0 disp('这些数中没有素数!')%无素数时显示 else disp('其中的素数是:') disp(sus) end 2.若某数等于其所有因子(不含这个数本身)的和,则称其为完全数。编程求10000以内所有的完全数。 clc;clear;

wq=[];%完全数赋空数组 for ii=2:10000 yz=[];%ii的因子赋空数组 for jj=2:ii/2 %从2到ii/2考察是否为ii的因子 if mod(ii,jj)==0 yz=[yz jj];%因子数组扩展,加上jj end end if ii==sum(yz)+1 wq=[wq ii];%完全数数组扩展,加上ii end end disp(['10000以内的完全数为:' num2str(wq)])%输出 3.下列这组数据是美国1900—2000年人口的近似值(单位:百万)。 (1)若. 2c + = y+ 与试编写程序计算出上式中的a、b、c; 的经验公式为 t at bt y (2)若.bt 的经验公式为 y= 与试编写程序计算出上式中的a、b; y ae t (3)在一个坐标系下,画出数表中的散点图(红色五角星),c + =2中 ax bx y+拟合曲线图(蓝色实心线),以及.bt y=(黑色点划线)。 ae (4)图形标注要求:无网格线,横标注“时间t”,纵标注“人口数(百万)”,图形标题“美国1900—2000年的人口数据”。 (5)程序中要有注释,将你的程序和作好的图粘贴到这里。 clf;clc;clear %清除图形窗、屏幕、工作空间 t=1900:10:2000; y=[76 92 106 123 132 151 179 203 227 250 281]; p1=polyfit(t,y,2);%二次多项式拟合

matlab典型例题

【例】水资源系统规划调度常应用系统分析方法处理,以一个水资源分配问题为例,讨论线性规划问题。例:有甲、乙两个水库同时给A、B、C三个城市供水,甲水库的日供水量为28万m3/d,乙水库的日供水量为35万m3/d,三个城市的日需水量分别为A≥10万m3/d,B≥15万m3/d,C≥20 万m3/d。由于水库与各城市的距离不等,输水方式不同,因此单位水费也不同。各单位水费分别为c11=2000元/万m3、c12=3000元/万m3、c13=4000元/万m3、c21=4500元/万m3、c22=3500元/万m3、c23=3000元/万m3。试作出在满足对三个城市供水的情况下,输水费用最小的方案。

设甲水库向三城市日供水量分别为x ll、x12、x13,乙水库向三城市日供水量分别为x2l、x22、x23。 建立约束条件: x11 + x21 ≥10 x12 + x22 ≥15 x13 + x23 ≥20 x11 + x12 + x13 ≤28 x21 + x22 + x23 ≤35 x11,x12,x13,x21,x22,x23,≥0 目标函数: fmin=c11x11+c12x12+c13x13+c21x21+c22x22+c23x23

这样的问题单纯求解是非常繁琐的,而MLTLAB求解是十分简单的,只要在命令行输入: 》f=[0.2 0.3 0.4 0.45 0.35 0.3]’; 》A=[-1 0 0 -1 0 0;0 -1 0 0 -1 0;0 0 -1 0 0 -1;1 1 1 0 0 0; 0 0 0 1 1 1]; 》B=[-10 -15 -20 28 35]; 》lb=zeros(6,1); 》[X,Zmin]=linprog(f,A,B,[],[],lb,[]) 最后得出x=[10 15 0 0 0 20]万m3,Zmin=12.5万元。

MatLab考试题题库(必做题)(带答案)

MatLab考试题题库(必做题)(带答案) 一, 1.请登陆美国 MathWorks 公司的网站,查看看现在大概有多少本 MATLAB-based books (以MATLAB 为基本软件,来说明各个专业领域的教科书或工具书)。哪一个领域的 MATLAB-based books 最多中文书共有几本 答:1612本,数学方面的最多,中文书共有37本。 2.请在 MATLAB中直接输入下列常数,看它们的值是多少: a.i b.j c.eps d.inf e.nan f.pi g.realmax h.realmin 依次解为:ans = 0 + ans = 0 + ans = ans =Inf ans = NaN ans = ans = +308 ans = 3.试写一函数 regPolygon(n),其功能为画出一个圆心在 (0, 0)、半径为 1 的圆,并在圆内画出一个内接正 n 边形,其中一顶点位于 (0, 1)。例如 regPolygon(8) 可以画出如下之正八边型:

解:新建文件如下: function y=regPolyfon(n) n=8;%要画的n边形 R=1; %圆的半径 t=0::2*pi; x=R*cos(t); y=R*sin(t); m=linspace(pi/2,5/2*pi,n+1); xz=R*cos(m); yz=R*sin(m); hold on plot(x,y,xz,yz);

axis 'equal'; 4.一条参数式的曲线可由下列方程式表示: x = sin(t), y = 1 - cos(t) + t/10 当 t 由 0 变化到 4*pi 时,请写一个 MATLAB 的脚本,画出此曲线在 XY 平面的轨迹。 解:新建: t = linspace(0, 4*pi); x = sin(t); y = 1-cos(t)+t/10; plot(x, y, '-o'); 5.当一个小圆轮沿着一条曲线行进时,轮缘任一点的轨迹就会产生变化丰富的摆线。假设小圆轮的半径 r=2。

MATLAB电路仿真实例

题14.14 图(a)所示电路,已知 V )2cos(15S t u =二端口网络阻抗参数矩阵 Ω?? ????=46j 6j 10Z 求ab 端戴维南等效电路并计算电压o u 。 u -+o u 图题14.14 (一)手动求解: 将网络N 用T 型电路等效,如图(b)所示 S U +-o U 等效阻抗 Ω=-+-?+ -=4.6j615j6j6)15(6j 6j 4i Z 开路电压 V 2j302 15j6j6105j6OC =?∠?+-+=U V 1482 18.3j46.42j3j4j4Z j4OC o ?∠=+?=?+=U U i

所以 )1482cos(18.3o ?+=t u V (二)Matlab 仿真: ⒈分析:本次仿真需输入各阻抗Zl 、Z1、Z2、Z3、Z4以及激励源Us 的参数值,仿真结果需输出开路电压Uoc 、等效阻抗Zi 以及电感两端电压U0的幅值和相位信息,并绘制Uoc ,U0的值随时间变化的波形曲线。其中各元件与原图的对应关系如下图所示: ⒉编辑M 文件的源程序如下: clear %清空自定义变量 z1=4-6j;z2=6j;z3=10-6j;z4=5;us=15*exp(j*0);zl=4j;%输入各元件参数 zi=z1+(z2*(z3+z4)/(z2+z3+z4));%等效阻抗zi 的计算表达式uoc=us*z2/(z2+z3+z4);%开路电压uoc 的计算表达式u0=zl/(zi+zl)*uoc;%电感两端电压uo 的计算表达式disp('The magnitude of zi is'); %在屏幕上显示“The magnitude of zi is ”disp(abs(zi)) %显示等效阻抗zi 的模disp('The phase of zi is'); %在屏幕上显示“The phase of zi is ”disp(angle(zi)*180/pi)%显示等效阻抗zi 的辐角 disp('The magnitude of uoc is'); %在屏幕上显示“The magnitude of uoc is ” disp(abs(uoc))%显示开路电压uoc 的模

matlab典型例题

例2.1 >> muw0=1.785; >> a=0.03368; >> b=0.000221; >> t=0:20:80; >> muw=muw0./(1+a*t+b*t.^2) 例2.2 数值数组和字符串的转换 >> a=[1:5]; >> b=num2str(a); >> a*2 ans = 2 4 6 8 10 >> b*2 ans = 98 64 64 100 64 64 102 64 64 104 64 64 106 例2.9比较左除和右除求解恰定方程 >> rand('seed',12); >> a=rand(100)+1.e8; >> x=ones(100,1); >> b=a*x; >> cond(a) ans = 5.0482e+011 >> tic;x1=b'/a;t1=toc t1 = 0.4711 >> er1=norm(x-x1') er1 = 139.8326

>> re1=norm(a*x1'-b)/norm(b) re1 = 4.3095e-009 >> tic;x1=a\b;t1=toc t1 = 0.0231 >> tic;x1=a\b;t1=toc t1 = 0.0011 >> er2=norm(x-x1) er2 = 1.5893e-004 >> re1=norm(a*x1-b)/norm(b) re1 = 4.5257e-016 例2.14:计算矩阵的指数 >> b=magic(3); >> expm(b) ans = 1.0e+006 * 1.0898 1.0896 1.0897 1.0896 1.0897 1.0897 1.0896 1.0897 1.0897 例 2.18:特征值条件数

matlab-SIMULINK仿真实例资料

二并联杆数控螺旋面钻头尖刃磨机的机构仿真 一、仿真原理一、实训题目:全自动洗衣机控制系统 实训目的及要求: 1、掌握欧姆龙PLC的指令,具有独立分析和设计程序的能力 2、掌握PLC梯形图的基本设计方法 3、培养分析和解决实际工程问题的能力 4、培养程序设计及调试的能力 5、熟悉传输带控制系统的原理及要求 实训设备:: 1、OMRON PLC及模拟实验装置1台 2、安装CX-P编程软件的PC机1台 3、PC机PLC通讯的RS232电缆线1根 实训内容: 1、分析工艺过程,明确控制要求 (1)按下启动按扭及水位选择开关,相应的显示灯亮,开始进水直到高(中、低)水位,关水。 (2)2秒后开始洗涤。 (3)洗涤时,正转30秒停2秒;然后反转30秒停2秒。 (4)循环5次,总共320秒,然后开始排水。排水后脱水30秒。 图1 全自动洗衣机控制 2、统计I/O点数并选择PLC型号 输入:系统启动按钮一个,系统停止按钮一个,高、中、低水位控制开关三个,高、中、低液位传感器三个,以及排水液位传感器一个。

输出:进出水显示灯一盏,高、中、低水位显示灯各一盏,电机正、反转显示灯各一盏,排水、脱水显示灯灯各一盏。 PLC的型号:输入一共有9个,考虑到留有15%~20%的余量即9×(1+15%)=10.35,取整数10,所以共需10个输入点。输出共有8个,8×(1+15%)=9.2,取整数9,所以共需9个输出点。可以选OMRON公司的CPM1A/CPM2A 型PLC就能满足此例的要求。 3、I/O分配 表1 全自动洗衣机控制I/O分配表 输入输出 地址名称地址名称 00000 启动系统按钮01000 排水显示灯 00001 高水位选择按钮01001 脱水显示灯 00002 中水位选择按钮01002 进、出水显示灯 00003 低水位选择按钮01003 高水位显示灯 00004 排水液位传感器01004 中水位显示灯 00005 停止系统按钮01005 低水位显示灯 00006 高水位液位传感器01006 电机正转显示灯 00007 中水位液位传感器01007 电机反转显示灯 00008 低水位液位传感器 4、PLC控制程序设计及分析 实现功能:当按下按钮00000,中间继电器20000得电并自锁,按下停止按钮00005,中间继电器20000掉电。中间继电器20000为系统总启动。 实现功能:当按下按钮00001,中间继电器20001得电并自锁;当中间继电器20002、20003、20004、20007任意一个为ON,或按下停止按钮00005,或01000、01001为ON时,中间继电器20001掉电。

MATLAB电路仿真实例

题14.14 图(a)所示电路,已知 二端口网络阻抗参数矩阵 求ab 端戴维南等效电路并计算电压。 (一) 手动求解: 将网络N 用T 型电路等效,如图(b)所示 等效阻抗 开路电压 V )2cos(15S t u =Ω??????=46j 6j 10Z o u u -+o u (a)图题14.14 S U +-o U Ω=-+-?+-=4.6j615j6j6)15(6j 6j 4i Z V 2j30215j6j6105j6OC =?∠?+-+=U V 148218.3j46.42j3j4j4Z j4OC o ?∠=+?=?+=U U i

所以 V (二) Matlab 仿真: ⒈分析:本次仿真需输入各阻抗Zl 、Z1、Z2、Z3、Z4以及激励源Us 的参数值,仿真结果需输出开路电压Uoc 、等效阻抗Zi 以及电感两端电压U0的幅值和相位信息,并绘制Uoc ,U0的值随时间变化的波形曲线。 其中各元件与原图的对应关系如下图所示: ⒉编辑M 文件的源程序如下: clear %清空自定义变量 z1=4-6j;z2=6j;z3=10-6j;z4=5;us=15*exp(j*0);zl=4j; %输入各元件参数 zi=z1+(z2*(z3+z4)/(z2+z3+z4)); %等效阻抗zi 的计算表达式 uoc=us*z2/(z2+z3+z4); %开路电压uoc 的计算表达式 u0=zl/(zi+zl)*uoc; %电感两端电压uo 的计算表达式 disp('The magnitude of zi is'); %在屏幕上显示“The magnitude of zi is ” disp(abs(zi)) %显示等效阻抗zi 的模 disp('The phase of zi is'); %在屏幕上显示“The phase of zi is ” disp(angle(zi)*180/pi) %显示等效阻抗zi 的辐角 disp('The magnitude of uoc is'); %在屏幕上显示“The magnitude of uoc is ” disp(abs(uoc)) %显示开路电压uoc 的模 disp('The phase of uoc is'); %在屏幕上显示“The magnitude of uoc is ” ) 1482cos(18.3o ?+=t u

MATLAB仿真实例

一、实验目的 (1) 二、实验题目 (1) 三、实验内容 (1) 3.1傅里叶变换与傅里叶反变换 (1) 3.2题目一:正弦信号波形及频谱 (2) 3.2.1仿真原理及思路 (2) 3.2.2程序流程图 (3) 3.2.3仿真程序及运行结果 (3) 3.2.4实验结果分析 (5) 3.3题目二:单极性归零(RZ)波形及其功率谱 (5) 3.3.1仿真原理及思路 (5) 3.3.2程序流程图 (6) 3.3.3仿真程序及运行结果 (6) 3.3.4实验结果分析 (8) 3.4题目三:升余弦滚降波形的眼图及其功率谱 (8) 3.4.1仿真原理及思路 (8) 3.4.2程序流程图 (8) 3.4.3仿真程序及运行结果 (8) 3.4.4实验结果分析: (10) 3.5题目四:完成PCM编码及解码的仿真 (11) 3.5.1仿真原理及思路 (11) 3.5.2程序流程图 (12) 3.5.3仿真程序及运行结果 (12) 3.5.4实验结果分析 (15) 3.6附加题一:最佳基带系统的Pe~Eb\No曲线,升余弦滚降系数a=0.5,取 样值的偏差是Ts/4 (16) 3.6.1仿真原理及思路 (16) 3.6.2程序流程图 (16) 3.6.3仿真程序及运行结果 (16) 3.6.4实验结果分析 (18) 3.7附加题二:试作出Pe~Eb/No曲线。升余弦滚降系数a=0.5,取样时间无 偏差,但信道是多径信道,C(f)=|1-0.5-j2 ft|,t=T s/2 (18) 3.7.1仿真原理及思路 (18) 3.7.2程序流程图 (19) 3.7.3仿真程序及运行结果 (19) 3.7.4实验结果分析 (21) 四、实验心得 (21)

Matlab考题题整理带答案

MATLAB考试试题(1) 产生一个 1x10 的随机矩阵,大小位于( -5 5 ),并且按照从大到小的顺序排列好!(注:要程序和运行结果 的截屏) 答案: a=10*rand(1,10)-5; b=sort(a,'descend') 1 .请产生一个 100*5的矩阵,矩阵的每一行都是[12345] 2.已知变量: A= ’ ilovematlab;’B= ’ matlab’请,找出: ( A ) B 在 A 中的位置。 ( B )把 B 放在 A 后面,形成 C=‘ilovematlabmatlab ’ 3.请修改下面的程序,让他们没有for循环语句! A=[123;456;789]; [r c]=size(A); for i=1:1:r for j=1:1:c if (A(i,j)>8 | A(i,j)<2) A(i,j)=0; end end end 4.请把变量 A=[123;456;789]写到文件里 (output.xls),写完后文件看起来是这样的123456789 5.试从 Yahoo 网站上获得微软公司股票的2008年 9 月的每日收盘价。 6.编写 M 文件,从 Yahoo网站批量读取60000.SH至 600005.SH在 2008年 9 月份的每日收盘价(提示:使用字符串函数)。 7.将金牛股份( 000937) 2005年12 月14日至 2006 年1 月10日的交易记录保存到Excel 中,编写程序将数据读入MATLAB 中,进一步将数据读入Access 数据库文件。 8.已知资产每日回报率为0.0025,标准差为 0.0208,资产现在价值为0.8亿,求 5%水平下资产的 10天在险价值 (Var)。 9.a=[1 2 3 4 5],b=a(1)*a(5)+a(2)*a(4)+a(3)*a(3)+a(4)*a(2)+a(5)*a(1).试用 MATLAB 中最简单的方法计算 b ,注意最简单哦。

相关文档