文档库 最新最全的文档下载
当前位置:文档库 › matlab实验7

matlab实验7

matlab实验7
matlab实验7

一实验题目:实验七 小信号放大器性能分析与仿真

二实验原理:

1.晶体三极管的等效电路

常见的的晶体三极管等效电路有:低频h 参数,共基极T 型高频等效电路,混合π型高频等效电路,它们通常用于分析各种小信号晶体管放大器的特性。

共射极h 参数等效电路如图所示,它适用于对低频放大器进行分析。另外,还存着一种简化的h 参数等效电路,其中忽略晶体管内部的电压反馈系数hre,共射极的h 参数与各电压电流的关系为???????????

?=??????cboerefeievihh hhc b i v 。 共基极T 型高频等效电路如图所示,它适用于对共基极高频放大电路进行分析,工作频率可高达100MHz 以上。

混合π型高频等效电路如图说是,它适用于分析共射极高频放大电路。在较宽的频率范围之内,等效电路的参数与工作频率无关。另外还存在着简化的混合π型高频等效电路,其中e b r '和ce r 处于开路状态。

2.共射极放大电路

共射极放大电路是一种使用的最为广泛的放大电路形式,其特点是电压增益和电流增益都比较高,自定义M 函数amplif1.m 用来仿真共射极放大电路,使用它可以计算该放大电路的直流参数和交流参数(频率在1000Hz 左右的中间频率),该放大器的电路图如图所示。

MATLAB 的特点之一就是适合进行线性代数运算,因此无论在分析直流参数或分析交流参数时,都可以采用基尔霍夫定律,即流入一个节点电流的代数和为零,这样就很容易建立起电路方程,然后采用矩阵求逆的方式求出电压和电流的具体数值,进一步便可得到该放大电路的各项参数,一般来说,每个晶体管可以用三个节点来表示,他们分别是:基极,集电极,发射极。在计算交流参数过程中,忽略电容器的电容。

3.直接耦合放大器

在两个或三个晶体管之间进行直接耦合的放大器称为直接耦合放大器,他多用作音响系统中的前置极,录音机内的磁头放大器。直接耦合放大器的主要特点是直流工作点稳定,电压增益高,如图所示为一个典型的直接耦合放大电路,他有三个晶体管组成,第一级为低噪声放大,第二级为高增益放大,第三级为射随器,整个放大器的电压增益有负反馈电路决定,由于采用了串联电压负反馈,同时又使用射随器,因此该电路具有较高的输入阻抗和较低的输出阻抗。

4.差分放大器

差分放大器又称为差动放大器,由于他比较好的解决了零点漂移的问题,因此多做为直流放大器来使用,差分放大器有两个输入端口和两个输出端口,于是可以分为双端输入双端输出,双端输入单端输出,单端输出双端输出,单端输入单端输出等几种形式,如图说是为一种单端输入上端输出的查分当大气,它是模拟卫星接收机内视频放大器,为了降低输出阻抗使用了射随器,而为了稳定静态工作点,使用了晶体管T5作为恒流源,另外恒流源的交流阻抗是相当大的,这样有利于改善差分放大器的特性。

由于射随器的输入阻抗很大,因此在分析差分放大器交流参数的过程中,完全可以忽略射随器输入阻抗对前一级的影响,这样该放大器的交流等效电路图就可以用7个节点来描述,这7个节点是:晶体管T1的基极,放射极和集电极;晶体管T2的基极,发射极和集电极,晶体管T5的集电极,T1的基极为放大器的输入端,而T2的基极在交流上是接地的,

因此节点方程有5个,另外加上两个晶体管的积极电流方程,这样就得到7个方程,使用矩阵方法求解这些方程,就可以得到差分放大器的各项交流参数。

5.阻容耦合音频放大器的频率响应

阻容耦合音频放大器的电路如图所示,自定义M 函数在分析该放大器交流参数时未考虑电容的容抗,而分析该电路的频率响应时不能忽略电容的影响。由于音频的频率范围在20~20000Hz ,因此在分析音频放大器时可以采用低频h 参数,同时忽略晶体管内部的反馈,于是阻容耦合音频放大器的交流等效电路如如图所示,显然这是一个典型的两端口网络,分析其特性使用A 参数较为方便。

将晶体管的h 参数转换为Z 参数后,有c b v v =oe fe ie h h h /- oe h /10 o

b i i ,考虑到发射机的电阻和电容,这相当于两个串联的两端口网络,即总的Z 参数为晶体管的Z 参数与发射极电阻电容的Z 参数之和,然后再将Z 参数转换成A 参数,这样就可以使用T 型网络A 参数相乘的方式求出整个等效电路的A 参数,进一步即可得到其幅频特性,相频特性和输入阻抗。

6.共射极放大电路的高频频率响应

分析共射极放大电路的高频频率响应,晶体管应该采用混合π型高频等效电路,这样整个共射极放大器的高频等效电路如图所示,表征一个晶体管高频工作特性的参数主要有:特征频率T f ,集电极电容c C ,集电极工作电流,其他参数可以由上述参数和低频h 参数得到。

跨导 26/)(mA I g c m = (S )

发射结电容 T

'p/f 2m e b g C = (F ) 发射极交流电阻 m fe e b g h r /'= (Ω)

基区体积电阻 e b ie bb r h r ''-= (Ω)

集电极交流电阻c b r '的数值通常在1M 以上。

由于共射极放大电路为两端口网络,故分析其特性使用A 参数是非常方便的,晶体管等效电路种B 和C 之间的A 矩阵可以有以下的方程组求出:

{

1''21/i z v v v g i i c c e b e b m =-=- 于是有 ???-=m c m g Z g 111

A ??

?1c Z 7.共基极放大电路的高频频率响应

分析共基极放大电路的高频频率响应,晶体管应该采用共基极T 型高频等效电路,这样整个共基极放大器的高频等效电路如图所示,其参数可以有混合π型高频等效电路的参数和低频h 参数折算出来。

共基极交流放大系数 )1/(β1β000fe fe h h a +=+=)

( 发射结电阻 m e g a r /0= (Ω)

发射极电容 )1/('m C C e b e += (F )

对于均匀基区晶体管 m=0.2,对于扩散型基区晶体管m=0.4

集电极交流电阻 c b e r r '=

分析共基极放大电路仍可以使用A 矩阵的方法,晶体管共基极等效电路的A 矩阵可以有以下的方程组求出:

{

c e c c b b e e e bb b e c v i a i Z v v i Z v r v i i =-+=+=-)//(//0'''' 于是有???++=11

'0'e bb c bb Z r Z a r A ??

?+++-c bb e c e c bb Z r Z Z Z Z a r '0'/]/)1[( 三实验内容

2.学习共发射极放大电路的原理,使用缺省参数或自己设定参数调试运行amplif1.m 程序得到各项输出参数。

function [Av,Zi,Zo,Ie,Vb,Vc,vo]=amplif1(Rb1,Rb2,Rc,Re,RL,h,Rs,vs,beta,Ec,Kp);

%Usage:[Av,Zi,Zo,Ie,Vb,Vc,vo]=amplif1(Rb1,Rb2,Re,RL,Rc,h[hie hre;hfe hoe],Rs,vs,beta,Ec,Kp);

%[Av,Zi,Zo,Ie,Vb,Vc,vo]=amplif1(24e+03,6e+03,2e+03,1.5e+03,6e+03,[1.2e+03 3.37e-4 50 27.1e-6],1e+03,.01,50,12,1)

%BBI 2000

if nargin<11;Kp=1;end ;

if nargin<10;Ec=12;end ;

if nargin<9;beta=50;end ;

if nargin<8;vs=10e-03;end ;

if nargin<7;Rs=1e+03;end ;

if nargin<6;h=[1.2e+03 3.37e-4;50 27.1e-6 ];end ;

if nargin<5;RL=6e+03;end ;

if nargin<4;Re=1.5e+03;end ;

if nargin<3;Rc=2e+03;end ;

if nargin<2;Rb2=6e+03;end ;

if nargin<1;Rb1=24e+03;end ;

Rb=Rb1*Rb2/(Rb1+Rb2);

YL=(Rc+RL)/(Rc*RL);

Rs1=Rs*Rb/(Rs+Rb);

Zi=h(1,1)-h(2,1)*h(1,2)/(YL+h(2,2));

Z1=Zi*Rb/(Zi+Rb);

vb=vs*Z1/(Z1+Rs);

ib=vb/Zi;

Ro=1/h(2,2);ic=h(2,1)*ib*Ro/(Ro+1/YL);

vo=-ic/YL;Av=vo/vb;format short;

Yo=h(2,2)-h(2,1)*h(1,2)/(h(1,1)+Rs1)+1/Rc;Zo=1/Yo;

Zi=round(Zi);Zo=round(Zo);Av=round(Av*10)*.1;

if Kp==1;Vbe=.6;ns='Si';else;Vbe=.2;ns='Ge';end;

A=[(Rb1+Rb2)/Rb2 Rb1;1 Rb+(1+beta)*Re];

B=inv(A)*[Ec Vbe]';

Vb=B(1);Ib=B(2);Ie=(1+beta)*Ib;Vc=Ec-beta*Ib*Rc;

Vb=round(Vb*10)*.1;Vc=round(Vc*10)*.1;

Ie=round(Ie*1e+04)*.1;

输出结果,各项参数如下:

Av =

-61.3000

Zi =

1176

Zo =

1928

Ie =

-1.2000

Vb =

2.5000

3.学习直接耦合放大电路的原理,使用缺省参数或自己设定参数调试运行amplif2.m程序得到各项输出参数。

程序:

function[Av,Zi,Zo,Vb,Ie,E,vo]=amplif2(Rb1,Re1,Rc1,R1,R2,Rc2,Re3,Rf,h, vs,beta,Ec,Ed,Kp);

%BBI 2000

if nargin<14;Kp=1;end;

if nargin<13;Ed=15;end;

if nargin<12;Ec=24;end;

if nargin<11;beta=50;end;

if nargin<10;vs=1e-03;end;

if nargin<9;h=[1.2e+03 3.37e-4;80 27.1e-6 ];end;%[hie,hre,hfe,hoe]

if nargin<8;Rf=33e+03;end;

if nargin<7;Re3=3.3e+03;end;

if nargin<6;Rc2=18e+03;end;

if nargin<5;R2=3.9e+03;end;

if nargin<4;R1=130;end;

if nargin<3;Rc1=100e+03;end;

if nargin<2;Re1=100;end;

if nargin<1;Rb1=1000e+03;end;

hie=h(1,1);hfe=h(2,1);hoe=h(2,2);Rc=hie*Rc1/(hie+Rc1);

T=[hoe+1/Re1 -hoe-1 -hfe;-hoe hoe+1/Rc hfe;1 0 hie];

V=inv(T)*[0 0 vs]'; v2=V(2);ib2=v2/hie;Av1=v2/vs;

Zi=vs/V(3);

Re=Re3/hoe/(Re3+1/hoe);Rc=Rc2/hoe/(Rc2+1/hoe);

T=[1/Re-1 -hfe;1 hie+Rc];

V=inv(T)*[0-hfe*Rc*ib2]';Av2=V(1)/v2;

Av0=V(1)/vs;%[Av0 Av1 Av2 Av1*Av2]

Zo=V(1)/((1+hfe)*hfe*Rc*ib2/(Rc+hie));Zo=abs(Zo);

B=Re1/(Rf+Re1);

F=1+Av0*B;

Av=Av0/F;Zi=Zi*F;Zi=Zi*Rb1/(Zi+Rb1);Zo=Zo/F;vo=Av*vs;

Av=[Av Av0 Av1 Av2];

if Kp==1;Vbe=.7;ns='Si';else;Vb2=.2;ns='Ge';end;

Z=[Rb1+R2+(1+beta)*Re1 -(1+beta)*R2;beta*Rc1-R2 Rc1+(1+beta)*(R1+R2)]; Ib=inv(Z)*[-Vbe Ed-Vbe]';

I1=(1+beta)*Ib(1);I2=(1+beta)*Ib(2);

I3=(1+beta).*(Ec-Vbe-Rc2*beta*Ib(2))/(Rc2+(1+beta)*Re3);

I=[I1 I2 I3];I=round(I*1e+04)*.1;

V=[Re1*I1 (R1+R2)*I2 Re3*I3]+Vbe;

V=round(V*10)*.1;

Zi=round(Zi);Zo=round(Zo);Av=round(Av);

E=[Ec Ed];Vb=V;Ie=I; format short;

输出结果,各项参数如下:

Av =

8 8 0 812

Zi =

816802

Zo =

161

Vb =

0.7000 3.5000 10.6000

Ie =

0.1000 0.7000 3.0000

E =

24 15

vo =

0.0079

4.学习差动放大器的原理,使用缺省参数或自己设定参数调试运行amplif3.m程序得到各项输出参数。

程序:

function[Av,Zi,Zo,V,I,vo]=amplif3(Rb,Rc,Re,R1,R2,R3,R4,Re3,Zee,h,vs,b eta,Ec,Kp);

if nargin<14;Kp=1;end;

if nargin<13;Ec=12;end;

if nargin<12;beta=50;end;

if nargin<11;vs=10e-03;end;

if nargin<10;h=[1.2e+03 3.37e-4;100 27.1e-6];end;

if nargin<9;Zee=1e+05;end;

if nargin<8;Re3=3300;end;

if nargin<7;R4=47;end;

if nargin<6;R3=680;end;

if nargin<5;R2=2400;end;

if nargin<4;R1=4800;end;

if nargin<3;Re=68;end;

if nargin<2;Rc=560;end;

if nargin<1;Rb=4700;end;

hie=h(1,1);hfe=h(2,1);hoe=h(2,2);

A=[1 0 0 0 0 hie 0;0 0 1 0 0 0 hie;];

A=[A;(1+Re*hoe) -Re*hoe 0 0 -1 -(1+hfe)*Re 0];

A=[A;0 0 (1+Re*hoe) -Re*hoe -1 0 -(1+hfe)*Re];

A=[A;Zee 0 Zee 0 -(2*Zee+Re) 0 0];

A=[A;Rc*hoe -(1+Rc*hoe) 0 0 0 -hfe*Rc 0];

A=[A;0 0 Rc*hoe -(1+Rc*hoe) 0 0 -hfe*Rc];

V=inv(A)*[vs 0 0 0 0 0 0]';

vo=[V(2) V(4)]

Av=vo/vs;Av=round(Av*10)*.1

Rb1=1/(1/Rb+1/R2+1/R1);Zi=vs/V(6);Zi=Zi*Rb1/(Zi+Rb1);

Zo=(Rc+hie)/(1+hfe);

Zo=round(Zo)

Zi=round(Zi)

if Kp==1;Vbe=.8;ns='si';else;Vbe=.2;ns='Ge';end;

A=[(R1+R2+R3)/R3 R1+R2 R2;1 -(1+beta)*R4 0;0 beta -2*(1+beta)]; B=inv(A)*[Ec+(R1+R2)/R3* Vbe Vbe 0]';

format short;

V=[B(1) Ec-R1*((B(1)-Vbe)/R3+B(2)+B(3))-Rb*B(3) Ec-beta*B(3)*Rc] I=[B(3)*(1+beta) (V(3)-Vbe)/R3];I=round(I*1e+04)*.1

输出结果,各项参数如下:

Av =

-3.5000 3.5000

Zi =

1110

Zo =

17

V =

1.5426 3.8287 7.7480

I =

7.7000 10.2000

vo =

-0.0346 0.0346

5.学习差动放大器的原理,使用缺省参数或自己设定参数调试运行amplif4.m程序得到各项输出参数。会出阻容耦合音频放大器的幅频特性和输入阻抗曲线。

程序:

function[H,Zi]=amplif4(Ce,C1,C2,Rb1,Rb2,Rc,Re,RL,h,Rs);

if nargin<10;Rs=1e+03;end;

if nargin<9;h=[1.2e+03 3.37e-4;50 27.1e-6];end;

if nargin<8;RL=6e+03;end;

if nargin<7;Re=1.5e+03;end;

if nargin<6;Rc=2e+03;end;

if nargin<5;Rb2=6e+03;end;

if nargin<4;Rb1=24e+03;end;

if nargin<3;C2=20e-06;end;

if nargin<2;C1=20e-06;end;

if nargin<1;Ce=200e-06;end;

syms s ;

hie=h(1,1);hfe=h(2,1);hoe=h(2,2);

zt=[ hie 0;-hfe/hoe 1/hoe];ze=Re/(1+s*Re*Ce);ze=ones(2,2)*ze;

Z=zt+ze;A=[Z(1,1) det(Z);1 Z(2,2)]/Z(2,1);

Rb= Rb1* Rb2/( Rb1+Rb2);

A=[1 Rs+1/s/C1;0 1]*[1 0;1/Rb 1]*A*[1 0;1/Rc 1]*[1 1/s/C2;0 1];

A=A*[1 0;1/RL 1];Zi=A(1,1)/A(2,1)-Rs;

f=logspace(1,5,101);

[b,a]=numden(Zi);b=sym2poly(b);a=sym2poly(a);

Zi=freqs(b,a,2*pi*f);k=max(abs(Zi+Rs)./Zi);

H=k/A(1,1);[b,a]=numden(H);

b=sym2poly(b);a=sym2poly(a); H=freqs(b,a,2*pi*f);

Av=20*log10(abs(H));Avrn=round(max(Av)*10)*.1;

subplot(211);semilogx(f,Av);

grid;zoom xon;

xlabel('frequency(Hz)');ylabel('Av(dB)');

title(['Av_m_a_x=' num2str(Av) '(dB)']);

subplot(212);semilogx(f,real(Zi),f,imag(Zi));grid;zoom xon;

xlabel('frequency(Hz)');ylabel('Zi(ohm)');

set(gcf,'units','pix','pos',[200,120,560,420],'name','Commom Emitter amplifer,BBI2000','num', 'off');

输出结果:

Zi =

1.0e+003 *

产生图像如下:

6.学习共射极放大电路的高频频率响应的原理,使用缺省参数或自己设定参数调试运行amplif5.m程序得到各项输出参数。并绘出图形。

程序:

function[H]=amplif5(Cc,ft,Ic,Rb1,Rb2,Rc,RL,Rs,h,rbc);

if nargin<10;rbc=5e+06;end;

if nargin<9;h=[1200 3.37e-4;50 27.1e-6];end;

if nargin<8;Rs=1e+03;end;

if nargin<7;RL=6e+03;end;

if nargin<6;Rc=2e+03;end;

if nargin<5;Rb2=6e+03;end;

if nargin<4;Rb1=24e+03;end;

if nargin<3;Ic=2.5;end;

if nargin<2;ft=100e+06;end;

if nargin<1;Cc=3e-012;end;

syms s;

hie=h(1,1);hfe=h(2,1);hoe=h(2,2);

gm=Ic/26;hfe=min([hfe .95*hie*gm]);

rbe=hfe/gm;rbb=hie-rbe;cbe=gm/(2*pi*ft);

Rb=Rb1*Rb2/(Rb1+Rb2);

RL1=1/(hoe+1/Rc+1/RL);

ybe=1/rbe+s*cbe;

zc=1/(1/rbc+s*Cc);

A=[1 zc;gm 1]/(1-gm*zc);

A=[1 Rs;0 1]*[1 0;1/Rb 1]*[1 rbb;0 1]*[1 0;ybe 1]*A*[1 0; 1/RL1 1]; H=1/A(1,1);[b,a]=numden(H);b=sym2poly(b);a=sym2poly(a);

f=logspace(3,8,201);H=freqs(b,a,2*pi*f);

Av=20*log10(abs(H));Avm=max(Av);I=find(abs(Av-(Avm-3))<.1);

I=fix(mean(I));f3db=Av(I);

subplot(211);semilogx(f,Av,[f3db f3db],Avm-[0 20],'r:');

grid;zoom xon;

xlabel('frequency(Hz)');ylabel('Av(db)');

tstr=['f_3_d_B=' num2str(round(f3db*1e-04)*.01) '(MHz)'];

tstr=[tstr blanks(6) 'Av_0=' num2str(round(Avm*10)*.1) 'dB'];

title(tstr);

subplot(212);

semilogx(f,angle(H)*180/pi-180);grid;

xlabel('frequency(Hz)');

ylabel('Phase(??)');

set (gcf, 'units', 'pix', 'pos', [200, 120, 560, 420], 'name','Common Emitter Amplifier,BBI2000','num','off');

产生图像如下:

7.学习共基极放大电路的高频频率响应的原理,使用缺省参数或自己设定参数调试运行amplif6.m程序得到各项输出参数。并绘出图形。

程序:

function[H,Zi]=amplif6(Cc,ft,Ic,RL,Rs,h,rc,m);

if nargin<8;m=0.2;end;

if nargin<7;rc=5e+06;end;

if nargin<6;h=[1200 3.37e-4;50 27.1e-6];end;

if nargin<5;Rs=1e+03;end;

if nargin<4;RL=2e+03;end;

if nargin<3;Ic=2.5;end;

if nargin<2;ft=100e+06;end;

if nargin<1;Cc=3e-012;end;

syms s;

hie=h(1,1);hfe=h(2,1);a0=hfe/(1+hfe);

gm=Ic/26;hfe=min([hfe .95*hie*gm]);

re=a0/gm;rbb=hie-hfe/gm;

cbe=gm/(2*pi*ft); Ce=cbe/(1+m);

ze=1/(1/re+s*Ce);zc=1/(1/rc+s*Cc);

A=[rbb+ze rbb*((1-a0)*zc+ze)+zc*ze; 1 rbb+zc]/(rbb+a0*zc);

A=[1 Rs;0 1]*A*[1 0;1/RL 1];

H=1/A(1,1);[b,a]=numden(H);b=sym2poly(b);a=sym2poly(a);

f=logspace(3,8,401);H=freqs(b,a,2*pi*f);

Av=20*log10(abs(H));Avm=max(Av);

I=find(abs(Av-(Avm-3))<.1);

I=fix(mean(I));f3db=f(I);Av3db=Av(I);

subplot(211);semilogx(f,Av,[f3db f3db],Avm-[0 20],'r:');

grid;zoom xon;

xlabel('frequency(Hz)');ylabel('Av(dB)');

tstr=['f_3_d_B=',num2str(round(f3db*1e-04)*.01),'(MHz)'];

tstr=[tstr blanks(6) 'Av_0=',num2str(round(Avm*10^.1)) 'dB'];

title(tstr);

subplot(212);semilogx(f,angle(H)*180/pi);grid;

xlabel('frequency(Hz)');ylabel('phase(??)');

set(gcf,'units','pix','pos',[200,120,560,420],'name','Common Base Amplifer,BBI12000','num','off');

产生图像如下:

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

实验七 图形与多媒体处理

实验七图形与多媒体处理 【开发语言及实现平台或实验环境】 Windows2000 或XP,JDK1.6与MyEclispe6.5 【实验目的】 1.熟悉图形、图像的使用方法, 2.理解计算机动画的原理和Java 的多线程处理机制,能够编写Applet 中使用的动画。 【实验要求】 1.掌握使用图形类Graphics 画出不同图形的方法。 2.掌握在容器中输入图像、播放音乐的方法。 3.理解计算机动画原理,掌握图形双缓冲技术,能够设计计算机动画。 4.理解多线程机制,掌握线程的使用方法。 【实验内容】 一.使用图形类Graphics 在Java 中基本图形包括点、线、圆、矩形等,是构成复杂图形的基础。绘制基本图形要使用AWT包中的Graphics 类,它提供了各种基本图形的绘制方法,可以直接引用这些方法画点、线、圆、矩形等。1.创建在Applet 上画出不同的图形的程序 (1)程序功能:在Applet 上使用不同的颜色画出直线、圆、方块、圆弧等图形。 (2)编写LX7_1.java 程序文件,源代码如下。 import java.applet.Applet; import java.awt.Graphics; import java.awt.Color;

public class LX7_1 extends Applet { public void paint(Graphics g) { g.drawLine(10,10,50,10);//画线(确定两点) g.setColor(Color.red);//设置红颜色 g.drawOval(35,35,100,60);//画椭圆(圆心、宽和高) g.fillOval(200,15,60,100);//画具有填充色的圆 g.setColor(Color.blue);//设置蓝颜色 g.drawRect(20,130,80,80);//画矩形 g.fillRect(120,130,80,80);//画具有填充色的矩形 g.drawRoundRect(220,130,80,80,20,20);//画圆角矩形 g.fillRoundRect(320,130,80,80,20,20);//画具有填充色的圆角矩形 g.setColor(new Color(255,255,0)); //设置黄颜色 g.drawArc (250,20,100,100,0,90); g.fillArc (380,20,100,100,90,90); g.fillArc (300,25,100,100,180,90); g.drawArc (330,25,100,100,0,-90); } } (3)编译程序LX7_1.java。 (4)编写显示LX7_1.class 的页面文件,在浏览器中显示结果如图7.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实现,实例演示

利用Matlab 编程实现主成分分析 1.概述 Matlab 语言是当今国际上科学界 (尤其是自动控制领域) 最具影响力、也是 最有活力的软件。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、与其他程序和语言的便捷接口的功能。Matlab 语言在各国高校与研究单位起着重大的作用。主成分分析是把原来多个变量划为少数几个综合指标的一种统计分析方法,从数学角度来看,这是一种降维处理技术。 1.1主成分分析计算步骤 ① 计算相关系数矩阵 ?? ? ???? ???? ?? ?=pp p p p p r r r r r r r r r R 2 122221 11211 (1) 在(3.5.3)式中,r ij (i ,j=1,2,…,p )为原变量的xi 与xj 之间的相关系数,其计算公式为 ∑∑∑===----= n k n k j kj i ki n k j kj i ki ij x x x x x x x x r 1 1 2 2 1 )() () )(( (2) 因为R 是实对称矩阵(即r ij =r ji ),所以只需计算上三角元素或下三角元素即可。

② 计算特征值与特征向量 首先解特征方程0=-R I λ,通常用雅可比法(Jacobi )求出特征值 ),,2,1(p i i =λ,并使其按大小顺序排列,即0,21≥≥≥≥p λλλ ;然后分别求 出对应于特征值i λ的特征向量),,2,1(p i e i =。这里要求i e =1,即112 =∑=p j ij e ,其 中ij e 表示向量i e 的第j 个分量。 ③ 计算主成分贡献率及累计贡献率 主成分i z 的贡献率为 ),,2,1(1 p i p k k i =∑=λ λ 累计贡献率为 ) ,,2,1(11 p i p k k i k k =∑∑==λ λ 一般取累计贡献率达85—95%的特征值m λλλ,,,21 所对应的第一、第二,…,第m (m ≤p )个主成分。 ④ 计算主成分载荷 其计算公式为 ) ,,2,1,(),(p j i e x z p l ij i j i ij ===λ (3)

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实验7图形绘制

实验7:图形绘制 一、实验目的 1、 掌握绘制二维图形的常用函数。 2、 掌握绘制三维图形的常用函数。 3、 掌握绘制图形的辅助操作。 二、实验内容 1、 已知2*13),2cos(2,12 y y y x y x y ===,完成下列操作: (1) 在同一坐标系下用不同的颜色和线型绘制三条曲线。 %homework_7_1_1.m x=0:pi/100:2*pi; y1=x.*x; y2=cos(2*x); y3=y1.*y2; plot(x,y1,'r--',x,y2,'k:',x,y3,'b-.'); (2) 以子图形式绘制三条曲线。 %homework_7_1_2.m x=0:pi/100:2*pi; y1=x.*x; y2=cos(2*x); y3=y1.*y2; subplot(2, 2, 1); plot(x,y1,'r--'); subplot(2, 2, 2); plot(x,y2,'k:'); subplot(2, 2, 3); plot(x,y3,'b-.'); (3) 分别用条形图、阶梯图、杆图和填充图绘制三条曲线。 %homework_7_1_3.m %ì?D?í??¢?×ìYí??¢??í?oíì?3?í? x=0:pi/100:2*pi; y1=x.*x; y2=cos(2*x); y3=y1.*y2; %μúò?DD subplot(4, 3, 1); bar(x,y1,'r'); subplot(4, 3, 2); bar(x,y2,'k'); subplot(4, 3, 3); bar(x,y3,'b'); %μú?tDD

stairs(x,y1,'r'); subplot(4, 3, 5); stairs(x,y2,'k'); subplot(4, 3, 6); stairs(x,y3,'b'); %μúèyDD subplot(4, 3, 7); stem(x,y1,'r'); subplot(4, 3, 8); stem(x,y2,'k'); subplot(4, 3, 9); stem(x,y3,'b'); %μú??DD subplot(4, 3, 10); fill(x,y1,'r'); subplot(4, 3, 11); fill(x,y2,'k'); subplot(4, 3, 12); fill(x,y3,'b'); 2、 绘制极坐标曲线)sin(θρn b a +=,并分析参数a ,b ,n 对曲线形状的影响。 %homework_7_2.m function homework_7_2(a,b,n) theta=0:0.01:2*pi; rho=a.*sin(b+n.*theta); polar(theta,rho,'k'); %homework_7_2_tiao.m % a μ?ó°?ì subplot(3, 4, 1); homework_7_2(1,1,1) subplot(3, 4, 2); homework_7_2(2,1,1) subplot(3, 4, 3); homework_7_2(3,1,1) subplot(3, 4, 4); homework_7_2(4,1,1) % b μ?ó°?ì subplot(3, 4, 1); homework_7_2(1,1,1) subplot(3, 4, 2); homework_7_2(1,2,1) subplot(3, 4, 3); homework_7_2(1,3,1)

matlab 实验案例 理发店模拟

实验案例理发店模拟 1 实验案例 (1) 1.1 案例:理发店系统研究 (1) 1.1.1 问题分析 (2) 1.1.2 模型假设 (2) 1.1.3 变量说明 (2) 1.1.4 模型建立 (2) 1.1.5 系统模拟 (3) 1.1.6 计算机模拟算法设计 (4) 1.1.7 计算机模拟程序 (5) 1.1.8 思考题 (8) 1实验案例 1.1 案例:理发店模拟 例子:一个理发店有两位服务员A和B,顾客们随机到达店内,其中60%的顾客仅需剪发,每位花5分钟时间,另外40%顾客既要剪发又要洗发,每位用时8分钟。 理发店是个含有多种随机因素的系统,请对该系统进行模拟,并对其进行评判。 (准备怎么做) 可供参考内容 “排队论”,“系统模拟”,“离散系统模拟”,“事件调度法”

1.1.1 问题分析 理发店系统包含诸多随机因素,为了对其进行评判就是要研究其运行效率, 从理发店自身利益来说,要看服务员工作负荷是否合理,是否需要增加员工等考 虑。从顾客角度讲,还要看顾客的等待时间,顾客的等待队长,如等待时间过长 或者等待的人过多,则顾客会离开。理发店系统是一个典型的排队系统,可以用 排队论有关知识来研究。 1.1.2 模型假设 1. 60%的顾客只需剪发,40%的顾客既要剪发,又要洗发; 2. 每个服务员剪发需要的时间均为5分钟,既剪发又洗发则花8分钟; 3. 顾客的到达间隔时间服从指数分布; 4. 服务中服务员不休息。 1.1.3 变量说明 u :剪发时间(单位:分钟),u=5m ; v: 既剪发又理发花的时间(单位:分钟),v=8m ; T : 顾客到达的间隔时间,是随机变量,服从参数为λ的指数分布,(单位: 分钟) T 0:顾客到达的平均间隔时间(单位:秒),T 0=λ 1; 1.1.4 模型建立 由于该系统包含诸多随机因素,很难给出解析的结果,因此可以借助计算机 模拟对该系统进行模拟。 考虑一般理发店的工作模式,一般是上午9:00开始营业,晚上10:00左 右结束,且一般是连续工作的,因此一般营业时间为13小时左右。 这里以每天运行12小时为例,进行模拟。 这里假定顾客到达的平均间隔时间T 0服从均值3分钟的指数分布, 则有 3小时到达人数约为603 603=?人, 6小时到达人数约为1203 606=?人, 10小时到达人数约为2003 6010=?人, 这里模拟顾客到达数为60人的情况。 (如何选择模拟的总人数或模拟总时间)

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

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

MATLAB实验七

实验七、MATLAB的绘图操作(一) 1、>> x=0:0.1:10;y1=x.^2;y2=cos(2*x);y3=y1.*y2; 在同一坐标下用不同的颜色和线型绘制三条曲线 >> plot(x,y1,':'),hold on,plot(x,y2,'b'),hold on,plot(y3,'g') 以子图形式绘制3条曲线 >> subplot(2,2,1),plot(x,y1),subplot(2,2,2),plot(x,y2),subplot(2,2,3),plot(y3) 分别以条形图阶梯图直方图和填充图绘制曲线 条形 图:>>subplot(2,2,1),bar(x,y1),subplot(2,2,2),bar(x,y2),subplot(2,2,3),bar(y3)

阶梯图: >> subplot(2,2,1),stairs(x,y1),subplot(2,2,2),stairs(x,y2),subplot(2,2,3),stairs(y3) 填充图: >> subplot(2,2,1),fill(x,y1,'r'),subplot(2,2,2),fill(x,y2,'r'),subplot(2,2,3),fill(x,y3,'r') 2、绘制极坐标曲线p=a*sin(b+nθ) >> a=2;b=4;n=3;th=0:0.01:pi;polar(th,a*sin(b+n*th)) 3、绘制函数的曲面图 (1、)>> [x,y]=meshgrid(-1:0.01:1,-1:0.01:1);z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);plot3(x,y,z,'y')

matlab实验案例,节水洗衣机(优选.)

1 实验案例 (1) 1.1 案例:节水洗衣机 (1) 1.1.1 问题重述与分析 (2) 1.1.2 基本假设及说明 (2) 1.1.3 符号和变量说明 (2) 1.1.4 建模准备 (3) 1.1.5 模型建立 (4) 1.1.6 模型求解 (4) 1.1.7 思考题 (10) 1实验案例 1.1 案例:节水洗衣机 问题:1996年全国赛B题节水洗衣机 我国淡水资源有限,节约用水人人有责,洗衣机在家庭用水中占有相当大的份额,目前洗衣机已非常普及,节约洗衣机用水十分重要。假设在放入衣物和洗涤剂后洗衣机的运行过程为:加水—漂洗—脱水—加水—漂洗—脱水—…—加水—漂洗—脱水(称“加水—漂洗—脱水”为运行一轮)。请为洗衣机设计一种程序(包括运行多少轮、每轮加水量等),使得在满足一定洗涤效果的条件下,总用水量最少。选用合理的数据进行运算,对照目前常用的洗衣机的运行情况,对你的模型和结果出评价。

洗衣机的节水优化模型 摘要本文通过分析洗衣机的洗衣过程,认为是一次性溶解、多次稀释的过程。据此建立非线性规划模型,并利用迭代公式和最优化原理,得出最少用水量的判断公式和代数解。以海棠洗衣机为例,通过对比,利用我们的模型算出的用水量比厂家提供的数据要少,从而说明所建模型的优越性。最后,根据模型解,给出最少用水量与脏衣服的重量的关系图,并从中得出有趣的结论,也给厂家提供一个节约用水的模型。 1.1.1问题重述与分析 对洗衣机的运行进行设计,主要目的是为了节约用水量。在满足洗涤效果的前提下使得用水量最少。因此,这是一个典型的最优化问题,目标为洗衣总用水量最少,主要的决策为洗多少轮以及每轮加水量的问题。而一般洗衣只是第一次加水漂洗时才放洗涤剂,而过后则是清水漂洗,通过化学原理,可以将第1轮洗涤后的各轮洗涤看成是不断的稀释过程。为了评价洗涤效果,可用衣服上残留的污物质量与洗涤前污物质量之比作为评价指标。在设计每轮加水量时,要考虑洗衣机本身洗衣同的最大容积,运行的最低加水量。 1.1.2基本假设及说明 1.洗衣机一次用水量有最高限和最低限,能连续补充在限度内的任意水量; 2.洗衣机每轮运行过程为:加水-漂洗-脱水; 3.仅在第一轮运行时加上洗涤剂,在后面的运行轮中仅有稀释作用; 4.洗衣时所加的洗涤剂适量,漂洗时间足够,能使污垢一次溶解,忽略不能溶解的污垢; 5.脱水后的衣服质量与干衣服的重量成正比; 6.每缸洗衣水只用一次; 1.1.3符号和变量说明 A:污物的质量(kg);

MATLAB实训小结

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

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

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命令的数据后。

实验七 图形、文本和位图

实验七图形、文本和位图 一实验内容 练习第7章的例Ex_Draw,Ex_Icon,Ex_Cursor 二实验步骤 例Ex_Draw课程的成绩分布直方图 1.创建工作文件夹Ex_Draw 2.在View类中添加一个成员函数DrawScore,用于根据成绩来绘制直方图,该函数代码 如下: void CEx_DrawView::DrawScore(CDC *pDC, float *fScore, int nNum) { int nScoreNum[]={0,0,0,0,0}; for(int i=0;iSelectObject(&brush1); CPen *oldPen=pDC->SelectObject(&pen); CRect rcSeg(rc); rcSeg.right=rcSeg.left+nSegWidth; CString strSeg[]={"<60","60-70","70-80","80-90",">=90"); CRect rcStr; for(i=0;i

matlab实验案例节水洗衣机

1实验案例 (1) 1.1案例:节水洗衣机 (1) 1.1.1问题重述与分析 (2) 1.1.2基本假设及说明 (2) 1.1.3符号和变量说明 (2) 1.1.4建模准备 (3) 1.1.5模型建立 (4) 1.1.6模型求解 (4) 1.1.7思考题 (10) 1实验案例 1.1 案例:节水洗衣机 问题:1996年全国赛B题节水洗衣机 我国淡水资源有限,节约用水人人有责,洗衣机在家庭用水中占有相当大的份额,目前洗衣机已非常普及,节约洗衣机用水十分重要。假设在放入衣物和洗涤剂后洗衣机的运行过程为:加水—漂洗—脱水—加水—漂洗—脱水—…—加水—漂洗—脱水(称“加水—漂洗—脱水”为运行一轮)。请为洗衣机设计一种程序(包括运行多少轮、每轮加水量等),使得在满足一定洗涤效果的条件下,总用水量最少。选用合理的数据进行运算,对照目前常用的洗衣机的运行情况,对你的模型和结果出评价。

洗衣机的节水优化模型 摘要本文通过分析洗衣机的洗衣过程,认为是一次性溶解、多次稀释的过程。据此建立非线性规划模型,并利用迭代公式和最优化原理,得出最少用水量的判断公式和代数解。以海棠洗衣机为例,通过对比,利用我们的模型算出的用水量比厂家提供的数据要少,从而说明所建模型的优越性。最后,根据模型解,给出最少用水量与脏衣服的重量的关系图,并从中得出有趣的结论,也给厂家提供一个节约用水的模型。 1.1.1问题重述与分析 对洗衣机的运行进行设计,主要目的是为了节约用水量。在满足洗涤效果的前提下使得用水量最少。因此,这是一个典型的最优化问题,目标为洗衣总用水量最少,主要的决策为洗多少轮以及每轮加水量的问题。而一般洗衣只是第一次加水漂洗时才放洗涤剂,而过后则是清水漂洗,通过化学原理,可以将第1轮洗涤后的各轮洗涤看成是不断的稀释过程。为了评价洗涤效果,可用衣服上残留的污物质量与洗涤前污物质量之比作为评价指标。在设计每轮加水量时,要考虑洗衣机本身洗衣同的最大容积,运行的最低加水量。 1.1.2基本假设及说明 1.洗衣机一次用水量有最高限和最低限,能连续补充在限度内的任意水量; 2.洗衣机每轮运行过程为:加水-漂洗-脱水; 3.仅在第一轮运行时加上洗涤剂,在后面的运行轮中仅有稀释作用; 4.洗衣时所加的洗涤剂适量,漂洗时间足够,能使污垢一次溶解,忽略不能溶解的污垢; 5.脱水后的衣服质量与干衣服的重量成正比; 6.每缸洗衣水只用一次; 1.1.3符号和变量说明 A:污物的质量(kg);

matlab心得及学习方法(不断更新)

竭诚为您提供优质文档/双击可除matlab心得及学习方法(不断更新) 篇一:matlab心得及学习方法 matlab心得及学习方法(不断更新) 发现现在很多人(找工作的或者读博的)都想要学习或者正在学习matlab,问我要怎么学习。其实我虽然写matlab 代码的经验还算丰富,但是还不能说是一个很好的matlab 编程人员,这里有一些心得,分享给大家希望对大家有所帮助。 关于如何学习matlab 我的学习方法很简单:matlab是练出来的,而不是看出来的。很多人问我有没有比较好的matlab教材,我说随便 找一本吧,都可以。只要书里面有最基本的语法和命令,对于一个有编程基础的人,matlab可以在一个下午的时间内学会。当然,仅仅是学会。如果想要对matlab比较得心应手,那么最好的办法就是练习。练习的素材很多,比如对于学经济学的,可以做一些simulation之类的,也可以试着把计 量或者宏观教材里面的一些算法写写出来。一开始可能很慢,

但是当你完成了一个比较大的project的时候,你的matlab 的功力将会有巨大的提升。 当然,在你写程序之前,多读一些别人写的好的code 是非常有帮助的。 一些matlab的经验 1、适当了解一些数值计算、数值分析以及最优化的理论 用matlab的无非是做数值计算或者最优化,这也是matlab的强项,matlab有足够多的工具箱解决这些问题。但是在使用这些工具箱之前,应该首先了解一些数值计算以及最优化的理论。这一点在程序碰到问题或者计算结果不理想的时候尤为重要。很多时候结果不理想并不是自己的理论出了问题,而是盲目或者错误使用matlab的工具箱而导致的。比如我曾经做过一个单纯形法的优化程序,但是结果总是不理想,这个时候就要返回到单纯形法具体是一种什么样的算法来考虑这个问题,最后发现是由于目标函数的某一部分十分平缓导致的。当然更重要的是如果你不理解理论,很多问题根本不知道如何处理。有个学化学同学就曾问我一个程序怎么写,说matlab肯定可以完成的。了解清楚之后才明白原来他想做的就是一个受限最小二乘。但是他不懂得什么是最小二乘(因为没怎么学过数学),当然面对这个问题无从下手。

实验三 MATLAB绘图(含实验报告)

实验三 MATLAB 绘图 一、实验目的 1.掌握二维图形的绘制。 2.掌握图形的标注 3.了解三维曲线和曲面图形的绘制。 二、实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 设计提示 1.Matlab 允许在一个图形中画多条曲线:plot(x1,y1,x2,y2,……)指令绘制y 1 = f 1(x 1), y 2 = f 2 (x 2 )等多条曲线。Matlab 自动给这些曲线以不同颜色。标注可用text 函数。 2.绘图时可以考虑极坐标和直角坐标的转换。 3.三维曲线绘图函数为plot3,注意参考帮助中的示例。 三、实验内容 1.生成1×10 维的随机数向量a ,分别用红、黄、蓝、绿色绘出其连线图、杆图、阶梯图和条形图,并分别标出标题“连线图”、“杆图”、“阶梯图”、“条形图”。 2、绘制函数曲线,要求写出程序代码。 (1) 在区间[0:2π]均匀的取50个点,构成向量t (2) 在同一窗口绘制曲线y1=sin(2*t-0.3); y2=3cos(t+0.5);要求y1曲线为红色点划线,标记点为圆圈;y2为蓝色虚线,标记点为星号。 (3) 分别在靠近相应的曲线处标注其函数表达式。 3.将图形窗口分成两个绘图区域,分别绘制出函数: ???+-=+=1 35 22 21x x y x y 在[0,3]区间上的曲线,并利用axis 调整轴刻度纵坐标刻度,使1y 在[0,12]区间上,2y 在[-2,1.5]区间上。 4.用mesh 或surf 函数,绘制下面方程所表示的三维空间曲面,x 和y 的

取值范围设为[-3,3]。 10102 2y x z + -= 思考题: 1. 编写一个mcircle(r)函数,调用该函数时,根据给定的半径r ,以原点 为圆心,画一个如图所示的红色空心圆。(图例半径r=5);左图参考 polar 函数的用法,右图绘制圆形的参数方程为x=sin (t ),y=cos (t )。其中,t 的区间为0~2*pi ,步长为0.1。 2.(1)绘一个圆柱螺旋线(形似弹簧)图。圆柱截面直径为10,高度为5,每圈上升高度为1。如左图所示。 (2)利用(1)的结果,对程序做少许修改,得到如右图所示图形。

Matlab程序设计实验报告

实验七Matlab 程序设计 实验目的: 1、掌握建立和执行M 文件的方法; 2、掌握实现选择结构的方法; 3、掌握实现循环结构的方法。 实验内容: 1. 编写用 5 次多项式拟合函数y=sin(x), x [0, 2 ]的脚本M 文件,要求绘图观察拟合的效果。 function shiyan1 x=0:0.5:2*pi y=sin(x) p=polyfit(x,y,5) x1=0:0.2:2*pi y1=polyval(p,x1) plot(x,y, 'b' ,x1,y1, '*r' x =

Columns 1 through 9 0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 Columns 10 through 13 4.5000 5.0000 5.5000 6.0000 y = Columns 1 through 9 0 0.4794 0.8415 0.9975 0.9093 0.5985 0.1411 -0.3508 -0.7568 Columns 10 through 13 -0.9775 -0.9589 -0.7055 -0.2794 p = -0.0056 0.0881 -0.3967 0.2671 0.8902 0.0029 x1 = Columns 1 through 10 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 Columns 11 through 20

2. 2.2000 2.4000 2.6000 2.8000 3.0000 3.2000 3.4000 3.6000 1.8001 Columns 21 through 30 4.0 4.2000 4.4000 4.6000 4.8000 5.0000 5.2000 5.4000 5.6000 5.8000 Columns 31 through 32 6.0 6.2000 y1 = Columns 1 through 10 0.29 0.1886 0.3786 0.5585 0.7172 0.8461 0.9391 0.9926 1.0048 0.9761 Columns 11 through 20 0.9083 0.8048 0.6701 0.5098 0.3301 0.1381 -0.0590 -0.2538 -0.4389 -0.6073 Columns 21 through 30 -0.7524 -0.8685 -0.9505 -0.9949 -0.9991 -0.9626 -0.8863 -0.7732 -0.6288 -0.4606 Columns 31 through 32

MATLAB实验报告实例

MATLAB课程设计 院(系)数学与计算机学院 专业信息与计算科学 班级 学生姓名 学号 指导老师赵军产 提交日期

实验内容: 1. Taylor逼近的直观演示用Taylor 多项式逼近y = sin x. 已知正弦函数的Taylor 逼近式为 ∑= - - -- =≈ n k k k k x x P x 1 1 2 1 !)1 2( )1 ( ) ( sin. 实验目的: 利用Taylor多项式逼近y = sin x,并用图形直观的演示。 实验结果报告(含基本步骤、主要程序清单、运行结果及异常情况记录等): 1.将k从1取到5,得到相应的P = x-1/6*x^3+1/120*x^5-1/5040*x^7+1/362880*x^9; 2.用MATLAB进行Taylor逼近,取x的范围是(- 3.2,3.2);程序清单如下: syms x; y = sin(x); p = x - (x^3)/6 + (x^5)/120 - (x^7)/5040 + (x^9)/362880 x1 = -3.2:0.01:3.2; ya = sin(x1); y1 = subs(p,x,x1); plot(x1,ya,'-',x1,y1)

4.程序运行正常。 思考与深入: 取y = sin x 的Taylor 多项式为P 的逼近效果很良好,基本接近y = sin x 的图像,不过随着k 的取值变多,逼近的效果会越来越好。 实验内容: 2. 数据插值 在(,)[8,8][8,8]x y =-?-区域内绘制下面曲面的图形: 222 2 sin( )x y z x y += + 并比较线性、立方及样条插值的结果。 .

相关文档