当前位置:首页 >> 数学 >> MATLAB例题

MATLAB例题


Matlab 例题

例1、MATLAB的安装和内容选择

Matlab 例题

例2、操作桌面的缺省外貌

Matlab 例题

例3、Command Window指令窗

Matlab 例题

最简单的计算器使用法
2

例4、求[12+2×(7-4)]÷3 的算术运算结果。 (1)用键盘在MATLAB指令窗中输入以下内容 >> (12+2*(7-4))/3^2 (2)在上述表达式输入完成后,按【Enter】键,该 就指令被执行。 (3)在指令执行后,MATLAB指令窗中将显示以下结 果。 ans = 2

Matlab 例题

? 1 2 3? A = ?4 5 6? 的输入步骤。 例5、简单矩阵 ? ? ?7 8 9 ? ? ?
(1)在键盘上输入下列内容 A = [1,2,3; 4,5,6; 7,8,9] (2)按【Enter】键,指令被执行。 (3)在指令执行后,MATLAB指令窗中将显示以下结 果: A = 1 2 3 4 5 6 7 8 9

Matlab 例题

复数和复数矩阵

π
6

例6、复数 z1 = 3 + 4i, z 2 = 1 + 2i, z 3 = 2e

i

表达,

z1 z 2 及计算。z = z3
(1) z1= 3 + 4i z1 = 3.0000 + 4.0000i

(2) z2 = 1 + 2 * i z3=2*exp(i*pi/6) z=z1*z2/z3 z2 = 1.0000 + 2.0000i z3 = 1.7321 + 1.0000i z = 0.3349 + 5.5801i

Matlab 例题

例7、在MATLAB环境下,用下面三条指令创建二维数组C。 a=2.7358; b=33/79; C=[1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i] C = 1.0000 5.4716 + 0.4177i 0.6909 0.7071 4.8244 3.5000 + 1.0000i

Matlab 例题

执行数组运算的常用函数

例8、演示pow2的数组运算性质。 A=[1:4;5:8] A = 1 2 5 6 pow2(A) ans = 2 4 32 64

3 7

4 8

8 128

16 256

Matlab 例题

数组运算和矩阵运算指令对照汇总
例9、两种不同转置的比较
clear;A=zeros(2,3); A(:)=1:6; A=A*(1+i) A_A=A.' A_M=A' A= 1.0000 + 1.0000i 3.0000 + 3.0000i 5.0000 + 5.0000i 2.0000 + 2.0000i 4.0000 + 4.0000i 6.0000 + 6.0000i A_A = 1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i 4.0000 + 4.0000i 5.0000 + 5.0000i 6.0000 + 6.0000i A_M = 1.0000 - 1.0000i 2.0000 - 2.0000i 3.0000 - 3.0000i 4.0000 - 4.0000i 5.0000 - 5.0000i 6.0000 - 6.0000i

Matlab 例题

标准数组生成函数
例10、标准数组产生的演示。
ones(1,2) ans = 1 1 ones(2) ans = 1 1 1 1 randn('state',0) randn(2,3) ans = -0.4326 0.1253 -1.6656 0.2877

-1.1465 1.1909

Matlab 例题

例11、关系运算示例。 A=1:9,B=10-A,r0=(A<4),r1=(A==B) A = 1 2 3 4 5 6 7 8 9 B = 9 8 7 6 5 4 3 2 1 r0 = 1 1 1 0 0 0 0 0 0 r1 = 0 0 0 0 1 0 0 0 0

Matlab 例题

解算指令较复杂格式的使用示例
例12、带事件设置的ODE文件及主程序编写演示。本例将以较高 精度计算卫星经过近地点和远地点的时间,并在图上标志。 (1) [DYDt3.m] function varargout=DYDt3(t,Y,flag,G,ME,tspan,Y0) switch flag case '' varargout{1} = f(t,Y,G,ME); case 'init' [varargout{1:3}] = fi(tspan,Y0); case 'events' [varargout{1:3}] = fev(t,Y,Y0); otherwise error(['Unknown flag ''' flag '''.']); end

Matlab 例题

function Yd = f(t,Y,G,ME) X=Y(1:2);V=Y(3:4);r=sqrt(sum(X.^2));Yd=[V; -G*ME*X/r^3]; function [ts,y0,options] = fi(tspan,Y0) ts=tspan;y0 = Y0; options = odeset('Events','on','Reltol',1e5,'Abstol',1e-4); function [value,isterminal,direction] = fev(t,Y,Y0) dDSQdt = 2 * ((Y(1:2)-Y0(1:2))' * Y(3:4)); value = [dDSQdt; dDSQdt]; direction = [1; -1]; isterminal = [1; 0];

Matlab 例题

(2) G=6.672e-11;ME=5.97e24;vy0=4000; x0=-4.2e7;t0=0;tf=60*60*24*9; tspan=[t0,tf];Y0=[x0;0;0;vy0]; [t,YY,Te,Ye,Ie]=ode45('DYDt3',[],[],[],G,ME,tspan,Y0); X=YY(:,1);Y=YY(:,2); plot(X,Y,'b','Linewidth',2);hold on text(0,6e7,'轨道','Color','b') axis('image'); plot(Ye(1,1),0.4e7+Ye(1,2),'r^','MarkerSize',10) plot(Ye(2,1),0.4e7+Ye(2,2),'bv','MarkerSize',10) plot(Ye(3,1),-0.4e7+Ye(3,2),'b^','MarkerSize',10)

Matlab 例题

text(0.8*Ye(3,1),-2e7+Ye(3,2),['t3=' sprintf('%6.0f',Te(3))]) text(0.8*Ye(2,1),1.5e7+Ye(2,2),['t2=' sprintf('%6.0f',Te(2))]) [XE,YE,ZE] = sphere(10);RE=0.64e7;XE=RE*XE;YE=RE*YE;ZE=0*ZE; mesh(XE,YE,ZE) text(1e7,1e7,'地球','Color','r'), hold off

Matlab 例题

符号表达式的操作
例13、把字符表达式转换为符号变量 y=sym('2*sin(x)*cos(x)') y=simple(y) y = 2*sin(x)*cos(x) y = sin(2*x)

Matlab 例题

例14、用符号计算验证三角等式:

sin ? 1 cos ? 2 ? cos ? 1 sin ? 2 = sin(? 1 ? ? 2 )
syms fai1 fai2;y=simple(sin(fai1)*cos(fai2)cos(fai1)*sin(fai2)) y = sin(fai1-fai2)

Matlab 例题

? a11 例15、求矩阵 A = ? ?a 21

a12 ? ? 的行列式值、逆和特征根。 a 22 ?

syms a11 a12 a21 a22;A=[a11,a12;a21,a22] DA=det(A),IA=inv(A),EA=eig(A) A = [ a11, a12] [ a21, a22] DA = a11*a22-a12*a21 IA = [ a22/(a11*a22-a12*a21), -a12/(a11*a22-a12*a21)] [ -a21/(a11*a22-a12*a21), a11/(a11*a22-a12*a21)] EA = [ 1/2*a11+1/2*a22+1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)] [ 1/2*a11+1/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]

Matlab 例题

例16、验证积分

∫τ

τ /2

? /2

Ae ?iωt dt = Aτ ?

sin

ωτ
2


ωτ
2

syms A t tao w; yf=int(A*exp(-i*w*t),t,-tao/2,tao/2);Yf=simple(yf) Yf = 2*A*sin(1/2*tao*w)/w

Matlab 例题

例17、factor指令的使用 (1) syms a x;f1=x^4-5*x^3+5*x^2+5*x-6;factor(f1) ans = (x-1)*(x-2)*(x-3)*(x+1) (2) f2=x^2-a^2;factor(f2) ans = (x-a)*(x+a) (3) factor(1025) ans = 5 5 41

Matlab 例题

例18、对多项式进行嵌套型分解 clear; syms a x; f1=x^4-5*x^3+5*x^2+5*x-6; horner(f1) ans = -6+(5+(5+(-5+x)*x)*x)*x

Matlab 例题

通用置换指令
例19、用简单算例演示subs的置换规则。 (1) syms a x;f=a*sin(x)+5; (2) f1=subs(f,'sin(x)',sym('y')) f1 = a*y+5 (3) f2=subs(f,{a,x},{2,sym(pi/3)}) f2 = 3^(1/2)+5

Matlab 例题

(4) f3=subs(f,{a,x},{2,pi/3}) f3 = 6.7321 (5) f4=subs(subs(f,a,2),x,0:pi/6:pi) f4 = 5.0000 6.0000 6.7321 7.0000 6.7321 6.0000 5.0000 (6) f5=subs(f,{a,x},{0:6,0:pi/6:pi}) f5 = 5.0000 5.5000 6.7321 8.0000 8.4641 7.5000 5.0000

Matlab 例题

符号微分和jacobian矩阵
t3 ? d2 ? a t ? d ? a d2 例20求 ? 、 dt 2 ?t cos x ln x ? 和 ? dx ?t cos x ln x ? ? ? dxdt syms a t x;f=[a,t^3;t*cos(x), log(x)]; df=diff(f) dfdt2=diff(f,t,2) dfdxdt=diff(diff(f,x),t) df = [ 0, 0] [ -t*sin(x), 1/x] dfdt2 = [ 0, 6*t] [ 0, 0] dfdxdt = [ 0, 0] [ -sin(x), 0]
3

? a t3 ? ? ? ?t cos x ln x ?

Matlab 例题

x2 ? ? x1e ? ? x2 例21、求 f = ? ? 的矩阵。 ?cos( x1 ) sin( x 2 )? ? ?

syms x1 x2 x3;f=[x1*exp(x2);x2;cos(x1)*sin(x2)]; v=[x1 x2];fjac=jacobian(f,v) fjac = [ exp(x2), x1*exp(x2)] [ 0, 1] [ -sin(x1)*sin(x2), cos(x1)*cos(x2)]

Matlab 例题

符号积分示例
?ax bx 2 ? ?dx 。 例22、求 ∫ ? 1 ? x sin x ? ? ?
演示:积分指令对符号函数矩阵的作用。

syms a b x;f=[a*x,b*x^2;1/x,sin(x)]; disp('The integral of f is');pretty(int(f)) The integral of f is [ 2 3] [1/2 a x 1/3 b x ] [ ] [ log(x) -cos(x) ]

Matlab 例题

例23、求



x

0

1 dt 。 ln t

演示:如何使用mfun指令获取一组积分值。 (1) F1=int('1/log(t)','t',0,'x') F1 = -Ei(1,-log(x)) (2) x=0.5:0.1:0.9 F115=-mfun('Ei',1,-log(x)) x = 0.5000 0.6000 0.7000 F115 = -0.3787 -0.5469 -0.7809

0.8000 -1.1340

0.9000 -1.7758

Matlab 例题

例24、求积分

∫∫ ∫
1 x

2

x2

x2 y xy

( x 2 + y 2 + z 2 )dzdydx 。

注意:内积分上下限都是函数。

syms x y z F2=int(int(int(x^2+y^2+z^2,z,sqrt(x*y),x^2*y),y ,sqrt(x),x^2),x,1,2) VF2=vpa(F2) F2 = 1610027357/65637006072064/348075*2^(1/2)+14912/4641*2^(1/4)+64/22 5*2^(3/4) VF2 = 224.92153573331143159790710032805

Matlab 例题

线性方程组的符号解
n p 例25、求线性方程组 d + + = q, n + d + q ? p = 10, 2 2 n q + d ? = p, q + p ? n ? 8d = 1 的解。本例演示,符号线性方 4

程组的基本解法。

1 ? ?1 2 ?1 1 该方程组的矩阵形式是 ? 1 ?1 ? 4 ? ?? 8 ? 1

1 ? d ? 1? ? ? 2 ? ?n ? ?1 1 ? ? = ?? ? 1 1 ? ? p? ? ?q ? 1 1? ? ?

?0? ?10? ? ? ?0? 。 ? ? ?1?

Matlab 例题

该式简记为AX=b。求符号解的指令如下 A=sym([1 1/2 1/2 -1;1 1 -1 1;1 -1/4 -1 1;8 -1 1 1]); b=sym([0;10;0;1]);X1=A\b X1 = [ 1] [ 8] [ 8] [ 9]

Matlab 例题

一般代数方程组的解
例26、求方程组uy^2+vz+w=0,y+z+w=0关于y,z的解。
S=solve('u*y^2+v*z+w=0','y+z+w=0','y','z') disp('S.y'),disp(S.y),disp('S.z'),disp(S.z) S = y: [2x1 sym] z: [2x1 sym] S.y [ -1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))-w] [ -1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))-w] S.z [ 1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))] [ 1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))]

Matlab 例题

离散数据和离散函数的可视化
例27、用图形表示离散函数 y = ( n ? 6) 。 n=0:12; y=1./abs(n-6); plot(n,y,'r*','MarkerSize',20) grid on Warning: Divide by zero.
1 0 .9 0 .8 0 .7 0 .6 0 .5 0 .4 0 .3 0 .2 0 .1

?1

0

2

4

6

8

10

12

Matlab 例题

连续函数的可视化
例28、用图形表示连续调制波形 y = sin(t ) sin(9t ) 。 t1=(0:11)/11*pi; y1=sin(t1).*sin(9*t1); t2=(0:100)/100*pi; y2=sin(t2).*sin(9*t2); subplot(2,2,1),plot(t1,y1,'r.'),axis([0,pi,1,1]),title('子图 (1)') subplot(2,2,2),plot(t2,y2,'r.'),axis([0,pi,1,1]),title('子图 (2)') subplot(2,2,3),plot(t1,y1,t1,y1,'r.') axis([0,pi,-1,1]),title('子图 (3)') subplot(2,2,4),plot(t2,y2) axis([0,pi,-1,1]),title('子图 (4)')

Matlab 例题

子 图 (1) 1 0.5 0 -0.5 -1 1 0.5 0 -0.5 -1

子 图 (2)

0

1

2 子 图 (3)

3

0

1

2 子 图 (4)

3

1 0.5 0 -0.5 -1

1 0.5 0 -0.5 -1

0

1

2

3

0

1

2

3

Matlab 例题

plot的基本调用格式
例29、简单例题,比较方便的试验指令。 t=(0:pi/50:2*pi)';k=0.4:0.1:1; Y=cos(t)*k;plot(t,Y)
1 0.8 0.6 0.4 0.2 0 -0 . 2 -0 . 4 -0 . 6 -0 . 8 -1

0

1

2

3

4

5

6

7

Matlab 例题

例30、用图形表示连续调制波形 y = sin(t ) sin(9t ) 及其包络线。
t=(0:pi/100:pi)'; y1=sin(t)*[1,-1]; y2=sin(t).*sin(9*t); t3=pi*(0:9)/9; y3=sin(t3).*sin(9*t3);plot(t,y1,'r:',t,y2,'b',t3,y3,'bo') axis([0,pi,-1,1])
1 0.8 0.6 0.4 0.2 0 -0 . 2 -0 . 4 -0 . 6 -0 . 8 -1

0

0.5

1

1.5

2

2.5

3

Matlab 例题

x2 y2 = 1画一组椭圆。 例31、采用模型 2 + 2 a 25 ? a
th = [0:pi/50:2*pi]'; a = [0.5:.5:4.5]; X = cos(th)*a; Y = sin(th)*sqrt(25-a.^2); plot(X,Y),axis('equal'),xlabel('x'), ylabel('y') title('A set of Ellipses')

Matlab 例题

例32、画出衰减振荡曲线 y = e

?

t 3

sin 3t 及其它的包络线y 0 = e

?

t 3。

t的取值范围是 [0,4π ] 。
t=0:pi/50:4*pi; y0=exp(-t/3); y=exp(-t/3).*sin(3*t); plot(t,y,'-r',t,y0,':b',t,-y0,':b') grid
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 2 4 6 8 10 12 14

Matlab 例题

例33、绘制函数在时的曲线。 x=0:0.1:1 y=x.*exp(-x) plot(x,y),xlabel('x'),ylabel('y'),title('y=x*exp(-x)') x = Columns 1 through 7 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 Columns 8 through 11 0.7000 0.8000 0.9000 1.0000 y = Columns 1 through 7 0 0.0905 0.1637 0.2222 0.2681 0.3033 0.3293 Columns 8 through 11 0.3476 0.3595 0.3659 0.3679

Matlab 例题
y=x*exp(-x) 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 y

0

0.2

0.4 x

0.6

0.8

1

Matlab 例题

坐标控制
例34、观察各种轴控制指令的影响。演示采用长轴为3.25,短 轴为1.15的椭圆。注意:采用多子图表现时,图形形状不仅受 “控制指令”影响,而且受整个图面“宽高比”及“子图数 目”的影响。本书这样处理,是出于篇幅考虑。读者欲想准确 体会控制指令的影响,请在全图状态下进行观察。 t=0:2*pi/99:2*pi; x=1.15*cos(t);y=3.25*sin(t); % subplot(2,3,1),plot(x,y),axis normal,grid on, title('Normal and Grid on') subplot(2,3,2),plot(x,y),axis equal,grid on,title('Equal') subplot(2,3,3),plot(x,y),axis square,grid on,title('Square') subplot(2,3,4),plot(x,y),axis image,box off,title('Image and Box off')

Matlab 例题

subplot(2,3,5),plot(x,y),axis image fill,box off title('Image and Fill') subplot(2,3,6),plot(x,y),axis tight,box off,title('Tight')
Normal and Grid on 4 4 2 0 -2 -4 -2 2 2 0 -2 -4 -2 0 Image and Box off 2 1 0.5 0 0 -0.5 -2 -1 0 1 -1 -1 0 1 -2 -1 0 1 0 2 -2 0 2 Tight 2 Image and Fill 0 2 0 -2 Equal Square

Matlab 例题

精细指令形式
例35 (本例非常简单,专供试验标识用。) clf;t=0:pi/50:2*pi;y=sin(t);plot(t,y); axis([0,2*pi,-1.2,1.2]) text(pi/2,1,'\fontsize{16}\leftarrow\itsin(t)\fontname{ 隶书}极大值')
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 5 6

←sin(t)极大值

Matlab 例题

三维线图指令plot3
例36 (简单例题) t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t); plot3(x,y,z,'b-',x,y,z,'bd'),view([-82,58]),box on,legend('链','宝石')
链 宝 石

1 1 0.5 0.5 0 -0.5 -1 1 0.5 0 -0.5 -0.5 0

-1

-1

Matlab 例题

例37、卫星返回地球的运动轨线示意。 shg;R0=1; a=12*R0;b=9*R0;T0=2*pi; T=5*T0;dt=pi/100;t=[0:dt:T]'; f=sqrt(a^2-b^2); th=12.5*pi/180; E=exp(-t/20); x=E.*(a*cos(t)f);y=E.*(b*cos(th)*sin(t));z=E.*(b*sin(th)*sin(t)); plot3(x,y,z,'g') [X,Y,Z]=sphere(30);X=R0*X;Y=R0*Y;Z=R0*Z; grid on,hold on,surf(X,Y,Z),shading interp x1=-18*R0;x2=6*R0;y1=-12*R0;y2=12*R0;z1=6*R0;z2=6*R0; axis([x1 x2 y1 y2 z1 z2]) view([117 37]),comet3(x,y,z,0.02),hold off

Matlab 例题

Matlab 例题

例38、三维图形的影片动画。 clf;shg,x=3*pi*(-1:0.05:1);y=x;[X,Y]=meshgrid(x,y); R=sqrt(X.^2+Y.^2)+eps; Z=sin(R)./R; h=surf(X,Y,Z);colormap(jet);axis off n=12;mmm=moviein(n); for i=1:n rotate(h,[0 0 1],25); mmm(:,i)=getframe; end movie(mmm,5,10)

Matlab 例题

例39、旋转指令示例。 shg;clf;[X,Y] = meshgrid([-2:.2:2]); Z = 4*X.*exp(-X.^2-Y.^2); G=gradient(Z);subplot(1,2,1),surf(X,Y,Z,G) subplot(1,2,2),h=surf(X,Y,Z,G); rotate(h,[-2,-2,0],30,[2,2,0]),colormap(jet)

Matlab 例题

M 文件
例39、通过M脚本文件,画出下列分段函数所表示的曲面。

?0.5457e x1 + x 2 > 1 ? ? ? x2 2 ? 6 x12 ? 1 < x1 + x 2 ≤ 1 p ( x1 , x 2 ) = ?0.7575e ? ? 0.75 x2 2 ?3.75 x12 +1.5 x1 x1 + x 2 ≤ ?1 ?0.5457e ?
?0.75 x2 2 ? 3.75 x12 ?1.5 x1

(1) [exm0701_1.m] a=2;b=2; clf; x=-a:0.2:a;y=-b:0.2:b;

Matlab 例题

for i=1:length(y) for j=1:length(x) if x(j)+y(i)>1 z(i,j)=0.5457*exp(-0.75*y(i)^23.75*x(j)^2-1.5*x(j)); elseif x(j)+y(i)<=-1 z(i,j)=0.5457*exp(-0.75*y(i)^23.75*x(j)^2+1.5*x(j)); else z(i,j)=0.7575*exp(-y(i)^2-6.*x(j)^2); end end End axis([-a,a,-b,b,min(min(z)),max(max(z))]); colormap(flipud(winter));surf(x,y,z);

Matlab 例题

(2) exm0701_1

例40、通过M函数文件画出上例分段函数的曲面。 exm0701_2(2,2)

Matlab 例题

for循环结构
例41、一个简单的for循环示例。 for i=1:10; x(i)=i; end; x x = 1 2 3 4 5 6 7 8 9 10

Matlab 例题

while循环结构
a 例42、Fibonacci数组的元素满足Fibonacci 规则: k + 2 = a k + a k +1

(k = 1,2, ) ;且 a1 = a 2 = 1 。现要求该数组中第一个大于
10000的元素。 a(1)=1;a(2)=1;i=2; while a(i)<=10000 a(i+1)=a(i-1)+a(i); i=i+1; end; i,a(i), i = 21 ans = 10946

Matlab 例题

if-else-end分支结构
例43、一个简单的分支结构。 cost=10;number=12; if number>8 sums=number*0.95*cost; end,sums sums = 114.0000

Matlab 例题

例44、用for循环指令来寻求Fibonacc数组中第一个大 于10000的元素。 n=100;a=ones(1,n); for i=3:n a(i)=a(i-1)+a(i-2); if a(i)>=10000 a(i), break; end; end,i ans = 10946 i = 21

Matlab 例题

switch-case结构

例45、学生的成绩管理,用来演示switch结构的应用。 clear; for i=1:10;a{i}=89+i;b{i}=79+i;c{i}=69+i;d{i}=59+i;end;c=[d,c]; Name={' Jack','Marry','Peter',' Rose',' Tom'}; Mark={72,83,56,94,100};Rank=cell(1,5); S=struct('Name',Name,'Marks',Mark,'Rank',Rank); for i=1:5 switch S(i).Marks case 100 S(i).Rank='满分'; case a S(i).Rank=' 优秀'; case b S(i).Rank=' 良好'; case c S(i).Rank=' 及格'; otherwise S(i).Rank='不及格'; end end

Matlab 例题

disp(['学生姓名 ',' 得分 ',' 等级']);disp(' ') for i=1:5; disp([S(i).Name,blanks(6),num2str(S(i).Marks),blanks(6),S(i) .Rank]); end; 学生姓名 得分 等级 Jack Marry Peter Rose Tom 72 及格 83 良好 56 不及格 94 优秀 100 满分

Matlab 例题

M文件的一般结构

例46、M函数文件示例。本例演示:(A)编写一个画任意半径任意色彩线型的 圆。(B)完整函数文件的基本结构。(C)函数文件各基本组成部分的作用。 [exm07044_1.m] function sa = exm07044_1(r,s) if nargin>2 error('输入宗量太多。'); end; if nargin==1 s='b'; end; clf; t=0:pi/100:2*pi; x=r*exp(i*t); if nargout==0 plot(x,s); else sa=pi*r*r; fill(real(x),imag(x),s) end axis('square')

Matlab 例题

函数句柄的创建和观察
例47、为MATLAB的“内建”函数创建函数句柄,并观察其内涵。 (1) hsin=@sin; (2) class(hsin) size(hsin) ans = function_handle ans = 1 1 (3) CC=functions(hsin) CC = function: 'sin' type: 'overloaded' file: 'MATLAB built-in function' methods: [1x1 struct] (4) CC.methods.sym ans = d:\matlab6p5\toolbox\symbolic\@sym\sin

Matlab 例题

函数句柄的基本用法
例48、本例通过函数及其句柄演示若干基本用法。 (1) fhandle=str2func('sin'); (2) ys=sin(pi/4) yfold=feval('sin',pi/4) yfnew=feval(fhandle,pi/4) ys = 0.7071 yfold = 0.7071 yfnew = 0.7071

Matlab 例题

(3) Alpha=sym('pi/4'); yss=sin(Alpha) yfold=feval('sin',Alpha) ynews=feval('sin',Alpha) yss = 1/2*2^(1/2) yfold = 1/2*2^(1/2) ynews = 1/2*2^(1/2) (4) xold=fminbnd('sin',0,2*pi) xnew=fminbnd(fhandle,0,2*pi) xold = 4.7124 xnew = 4.7124

Matlab 例题

把脚本文件改写为函数文件
例49、有一个绘圆的M脚本文件circle.m如下。希望获得一个MEX 绘圆程序。 (1) [circle.m] clf;r=2;t=0:pi/100:2*pi;x=r*exp(i*t); plot(x,'r*');axis('square') (2) mcc -x circle ??? Error: File "circle" is a script M-file and cannot be compiled with the current Compiler. Error in ==> D:\MATLAB6P5\toolbox\compiler\mcc.dll (3) [circle_f.m]: function circle_f(r) clf;t=0:pi/100:2*pi;x=r*exp(i*t); plot(x,'r*');axis('square')

Matlab 例题

(4) mcc -x circle_f (5) circle_f(0.5) which circle_f d:\mywork\circle_f.dll
0.5 0.4

0.3

0.2

0.1

0

-0.1

-0.2

-0.3

-0.4

-0.5 -0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

Matlab 例题


更多相关文档:

matlab编程实例100例

在线互动式文档分享平台,在这里,您可以和千万网友分享自己手中的文档,全文阅读其他用户的文档,同时,也可以利用分享文档获取的积分下载文档

Matlab典型例题

Matlab典型例题_工学_高等教育_教育专区。选填,简要介绍文档的主要内容,方便文档被更多人浏览和下载。目录 第一章 第二章 第三章 第四章 第五章 第六章 第七...

MATLAB例题

MATLAB例题 这个是我们电气专业大二第一届学的课程 考试很让人纠结的 没有例题复习是不行的咯这个是我们电气专业大二第一届学的课程 考试很让人纠结的 没有例题...

MATLAB习题

MATLAB习题_理学_高等教育_教育专区。1、设 x 为符号变量, f ( x )=x +x +1 , g ( x )=x +4 x +5x +8 ,试进 行如下运算: 1) f ( x )...

Matlab考试题库+答案(教师出卷参考专用)

Matlab考试题库+答案(教师出卷参考专用)_从业资格考试_资格考试/认证_教育专区。Matlab考试题库 一、 二、 三、 四、 辨析题(共 2 小题,每题 问答题(共 3...

MATLAB习题

MATLAB习题_理学_高等教育_教育专区。习题一 1、通常情况下,MATLAB 的工作界面主要由有哪几种窗口构成? 答: 指令窗口、历史指令窗口、工作空间浏览器、当前目录浏览...

2matlab习题及答案

2matlab习题及答案_理学_高等教育_教育专区。第1章 MATLAB 概论 1.1 与其他计算机语言相比较,MATLAB 语言突出的特点是什么? MATLAB 具有功能强大、使用方便、输入...

-MATLAB习题

-MATLAB习题_理学_高等教育_教育专区。1 MATLAB 1、 请在 MATLAB 下直接输入下列常数,看它们的值是多少: i j eps inf nan pi realmax realmin 2、 写一个 ...

matlab习题及答案

matlab习题及答案_理学_高等教育_教育专区。第1章 MATLAB 概论 1.1 与其他计算机语言相比较,MATLAB 语言突出的特点是什么? MATLAB 具有功能强大、使用方便、输入简...

MATLAB练习题和答案

MATLAB练习题和答案_工学_高等教育_教育专区。华南农业大学自动化专业教研室提供 控制系统仿真实验 Matlab 部分实验结果 目实验一 实验二 实验三 实验四 实验五 ...
更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com