1、北京交通大学matlab复习资料P1051.主程序:s1,kk=quad(f1,0,2);s2,kk=quad(f2,2,4);s=s1+s2函数:fun cti on y=f1(x)y=log(x.A2);fun cti on y=f2(x)y=log(16)./(2+s in (x+1).*pi);f1=i nlin e(log(x.A2),x);f2=i nlin e(log(16)./(2+s in (x+1).*pi),x);s1,kk=quad(f1,0,2);s2,kk=quad(f2,2,4);s=s1+s23. syms x a taus=i nt(log(x.A2),0.5
2、,tau)solve(s=10)4.求解方程x5+6x4-3x2=10的5个根,并将其位置用五角星符号标记在复平面 上,要求横纵坐标轴刻度等长,注明虚轴和实轴,在 title 位置上写出方程。clc;close all;clear all;factor=1 6 0 -3 0 -10;ro=roots(factor);disp(ro);scatter(real(ro),imag(ro),p);axis equal;title(xA5+6xA4-3xA2=10);xlabel(real axis);ylabel(imagi ne axis(j);6.某班同学成绩已经存放在矩阵 A中,每行为某一位同
3、学的数据,第 1列为学号,第2列至第4列为其三门课程的成绩,试编程按照 3门课平均成绩由小到大的顺序重新排列成绩表,并放在矩阵 B中。clc;clear all;close all;A=99234012,95,73,88;99234033,84,77,80;99234009,66,80,72;99234067,92,93,59;y,i ndex=sort(mea n(A(:,2:e nd),2);B=A(in dex,:);disp(B);9. figure (1)u,v,b=gi nput(5);lin e(u,v);for i=1:5;str=(, num2str(u(i),);text(
4、u(i),v(i),str);endy(x).11.解如下微分方程,并绘制出图像(1) function ydot= f(x,y) ydot=zeros(2,1);ydot(1)=y(2);ydot(2)=2*( y( 2).A2);t0=0;tf=1; x0=0,-1;t,x=ode45(f,t0,tf,x0);plot(t,x);ti tle(y=f(x);xlabel(x);ylabel(y);(2) t0=1;tf=2; x0=1,0;t,x=ode45( f ,t0,tf,x0);plot(t,x);title( y=f(x) );xlabel( x );ylabel( y);fun
5、 cti on xdot= f(t,x)xdot=zeros(2,1);xdot(1)=x (2);xdot(2)=-1./(x(1).A3);p873.在同一坐标系下绘制t2,- t2 , t2sint在t0,2pi内的曲线图;选择合适 的“曲线线型”,“曲线颜色”、“标记符号”选项,并在图形上加注坐标轴 名和图名。close all;clear all;clc;t=li nspace(0,2*pi,1024);y仁 t.A2; y2=-t.A2; y3=(t.A2).*s in( t);figure(2);plot(t,y1,:y,t,y2,-g,t,y3,-r);lege nd(y=tA
6、2,y=-tA2,y=tA2*si n( t);title( 三个函数图形);xlabel(t);ylabel(f(t);4.theta=li nspace(0,16*pi,2048);subplot(2,2,1);polar(theta,1.0013*theta.A2);subplot(2,2,2);polar(theta,cos(3.5*theta);subplot(2,2,3);polar(theta,si n(theta)./theta);subplot(2,2,4);polar(theta,1-(cos(7*theta).A3);5. ttl= 主视图,左视图,俯视图,三维图;ang
7、le=0,0,-90,0,0 90,-37.5,30;for i=1:4subplot(2,2,i);x=0:0.01:1;y=0:0.02:2;x,y=meshgrid(x,y);z=1./sqrt(1-x.A2)+y.*2)+1./sqrt(1+x.A2)+y.A2);mesh(x,y,z)view(a nglei);title(ttli);end6.用鼠标左键在图形窗口上取5个点,在每个点的位置处写出一个字符串来 显式鼠标点的横坐标值,然后将这些点连成折线。axis(0,5,0,5);hold on;box on;x=;y=;gtext();for i=1:5x1,y1,butto n=
8、gi nput(1);if(button =1)break;endplot(x1,y1,o);x=x,x1;y=y,y1;text(x1,y1, num2str(x1);lin e(x,y);endhold off老师:figure (1)u,v,b=gi nput(5);li ne(u,v);for i=1:5;str=(, nu m2str(u(i),);text(u(i),v(i),str);end油桶clc;clear;syms x y h;w=ezplot(xA2/(2.5A2)+(y-2)A2/4-1=0); %set(w,Color,k);hold on;axis(-2.55,2
9、.55,0,4.05); %set(gca,XTick,XColor,w); % set(gca,YTick,YColor,w);lin e(0,0,0,4,Color,k,L in eStyle,-) % hold on;s=i nt(100-25*(y-2)A2)/16)A0.5,0,h); %for i=1:25绘制椭圆设置坐标值.将坐标隐去用int画出中间刻度线函数求不定积分H(i)=solve(s-0.3125*i,h); %求得各个刻度的高度endfor i=1:25if mod(i,4)=0plot(-0.3,0.3,H(i),H(i),b) ; % 每四格为一长刻度.elsep
10、lot(-0.1,0.1,H(i),H(i),k);endend%标注长刻度分别为 20,40,60,80,100,120.text(0.4,0.86,20); text(0.4,1.42,40);text(0.4,1.93,60);text(0.4,2.43,80);text(0.35,2.97,100);text(0.35,3.64,120);用循环语句形成一个有20个分量的数组,满足fibonacci规则,令第K+2个元素满足 a( k+2)=a( k)+a( k+1)a(1)=1;a(2)=1;for k=1:18a(k+2)=a(k)+a(k+1);enda在同一图形窗口上分成四个绘
11、图区域,试分别绘制主视图,左视图,俯视图和 默认视角的三位表面图。ttl= 主视图,左视图,俯视图,三维图;an gle=0,0,-90,0,0 90,-37.5,30;for i=1:4subplot(2,2,i);ezmesh( 关于x,y,z 的关系表达式,取值范围);view(a nglei);title(ttli);endttl= 主视图,左视图,俯视图,三维图;an gle=0,0,-90,0,0 90,-37.5,30;for i=1:4subplot(2,2,i);ezmesh(1/(1-X)A2+YA2)A0.5+1/(1+X)A2+YA2)A0.5,-2 2);view(a
12、 nglei);title(ttli);End试用文字和数学公式描述下面指令要完成的计算任务 roots(11 0 -6 2 0 -3)roots 为求多项式的根,其向量表达多项式的系数,对应降幕排列,那么就有本题对应求解 11xA5-6xA3+2xA2-3 的根。试举例说明matlab语言中三位数组是如何定义的。在Matlab中习惯性的会将二维数组中的第一维称为“行”第二维称为“列”, 而对于三维数组的第三位则是习惯性的称为“页”。在 Matlab中将三维及三维 以上的数组统称为高维数组,三维数组也是高级运算的基础。举例如课本31页 在程序段中插入语句 A=zeros(10000,1);能显
13、著缩短程序运行时间。因为插入本语句后,在循环语句前预先为变量 A分配了足够的单元,循环时只需 向各元素内填数,如果不插入的话则未预先定义 A的大小,每次执行一次循环体 便要扩充一次y的长度,增加了内部工作量。Matlab语言的基本编程单元为复数矩阵摄氏度转华氏度clc;clear;C=i nput(c=);f=32+C*1.8;disp(spri ntf(f=%2.2f,f);华氏度转摄氏度clc;clear;f=i nput(f=);c=(f-32)/1.8;disp(spri ntf(c=%2.2f,c);实例二:数据的多项式曲线拟合例:已知某压力传感器的标定数据见下表,p为电压值,U为电
14、压值p0.01.12.12.84.25.06.16.98.19.09.9u10:1113 14:171822242934:39试用多项式拟合其特性函数,求出a,b,c和d,把拟合曲线和各个标定点画在同一幅图 上。解:将压力视为自变量,电压视为函数,编程如下:p=0,1.1,2.1,2.8,4.2,5,6.1,6.9,8.1,9,9.9; u=10,11,13,14,17,18,22,24,29,34,39;A=polyfit(p,u,3); a=A(1),b=A (2) ,c=A (3) ,d=A(4), p1=0:0.01:10;u1=polyval(A,p1);plot(p1,u1,p,u
15、,o)40u3530252015101.如何求未保存数据(上次matlab执行了 save x ):执行load x y即可得到y的数据2.画视图P87页上3.roots的作用相当于求 11S5+0s4-6s3+2s2+0s-3=0 的根。4.三维数组的建立P31下4.A=zeros (100000, 1)的意义预先定维可以节约时间。1.求定积分函数程序1:函数名为jifen 1.mfun cti on y=jifen1 (x)y=exp(pi-x)函数程序2:函数名为jifen2.mfun cti on y=jifen2 (x)y=log10(16)/(2+si n( (x+1)*pi)主程
16、序:y1=quad( ife n1 ,0,3.5);y2=quad( ifen2 ,3.5,7);y=y1+y12.求解微分方程函数程序:函数名difen.mfun cti on xdot=difeq(t,x)xdot=zeros(4,1)xdot(1)=x (2)xdot(2)=2*x(4)+x(1)xdot(3)=x(4)xdot(4)=-2*x(2)+x(3)主程序:t0=0;tf=20;x0=1.1 0 0 -1;t,x=ode23(difeq,t0,tf,x0)xx=x(:,3)yy=x(:,3)plot(yy,xx)3.求采样点的幅频、相频、条形、波形图(数据 y和h存储在signaldata.mat文 件中)。load sig naldata y hN=le ngth(y);t=(0:(N-1)*h;Y=fft(y);f=t/h/(N-1)*h);n=floor(le ngth(f)/2);subplot(2,2,1)plot(f(1: n),abs(Y(1: n)subplot(2,2,3)plot(f(1: n),a ngle(Y(1: n)*180/pi)subplot(2,2,2)hist(y,20)subplot(2,2,4)plot(t,y)4.求多项式系数P104
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2