1、-_第1章一、思考题4. (1) B=A(2:5,1:2:5)(2)A(7)=(3) A=A+30(4)size(A)(5) t(find(t=0)=eps(6)t=reshape(x,3,4)(7)abs(matlab)(8)char(93)5. A=97,67,34,10;-78,75,65,5;32,5,-23,-59;0,-12,54,7(1) B=A(1:3,:)C=A(:,1:2)D=A(2:4,3:4)E=B*C(2)A(find(A=50 elseif h=1e-5 w=7.04,4.28,3.40,2.52,2.13;hh=500,900,1500;ww=interp1(h,
2、w,hh,spline)3. x=linspace(1,10,50);y=log(x);f=polyfit(x,y,5);yy=polyval(f,x);plot(x,y,r-,x,yy,g.)4. N=64; % 采样点数T=5; % 采样时间终点t=linspace(0,T,N); % 给出N个采样时间 ti(I=1:N)x=3*exp(-t); % 求各采样点样本值xdt=t(2)-t(1); % 采样周期f=1/dt; % 采样频率(Hz)X=fft(x); % 计算x的快速傅立叶变换XF=X(1:N/2+1); % F(k)=X(k)(k=1:N/2+1)f=f*(0:N/2)/N;
3、 % 使频率轴f从零开始plot(f,abs(F),-*) % 绘制振幅- 频率图xlabel(Frequency);ylabel(|F(k)|)5. -_(1)p1=1 2 0 0 7;p2=1 -2;p3=1 0 0 5 1;p12=conv(p1,p2);p=p12+zeros(1,size(p12,2)-size(p3,2),p3;roots(p)(2)A=-1,4,3;2,1,5;0,5,6;Px=polyval(p,A)Pxm=polyvalm(p,A)6.(1) z=fzero(3*x-sin(x)+1,0)(2) 建立函数文件 myfun.mfunction F=myfun(X
4、)x=X(1);y=X(2);F(1)=x*x+y*y-9;F(2)=x+y-1;在命令窗口中输入以下命令:x=fsolve(myfun,3,0,optimset(Display,off)第6章一、思考题2.fx=inline(1./(1+x.2);I,n=quad(fx,-100000,100000,1e-3);I,n=quadl(fx,-100000,100000,1e-3);x=-100000:0.01:100000;y=1./(1+x.*x);trapz(x,y);3.(1) fx=inline(-2*y+2*x*x+2*x);t,y=ode23(fx,0,0.5,1)(2) fx=i
5、nline(y-exp(x)*cos(x);t,y=ode23(fx,0,3,1)二、实验题1. for x=1:3fx=x,x2,x3;1,2*x,3*x;0,2,6*x;diff(fx)end2.(1)x=0:0.01:1;y=x.10+10.x+1./log10(x);dy=diff(y)/0.01;(2)x=0:0.01:1;y=log(1+x);dy=diff(y,2)/0.01;plot(x(1:99),dy)3.(1)fx=inline( x.2.*sqrt(2*x.*x+3); quad(fx,1,5)(2)fx=inline( x./sin(x).2); quad(fx,pi
6、/4,pi/3)(3)fx=inline( abs(cos(x+y); dblquad(fx,0,pi,0,pi)-_(4)syms x y;fx=x*y; int(int(fx,y2,y+2),-1,2)x的积分区间为【0,2】时fx=inline(x.*y); dblquad(fx,0,2,-1,2)4.x=0.3:0.2:1.5;y=0.3895,0.6598,0.9147,1.1611,1.3971,1.6212,1.8325;trapz(x,y)5.(1)yp=inline(-(1.2+sin(10*x)*y);t,y=ode23(yp,0,5,1); (2)令 ,则可写出原方程的状
7、态方程形式:3,21yxyx12332 sin)1(cos5xtxtx- txttx cos0)1(2cos5sin303132建立函数文件 ztfun.mfunction y=ztfun(t,x)b=0;0;cos(t);y=0,1,0;0,0,1;-1/(3+sin(t),-1,5*cos(2*t)/(t+1)2*x+b;解微分方程组t,y=ode23(ztfun,0,5,1;0;2);6.建立函数文件 ztfun.mfunction yy=ztfun(t,y)yy=y(2)*y(3);-y(1)*y(3);-0.51*y(1)*y(2);解微分方程组t,y=ode23(ztfun,0,5
8、,0;1;1)第7章一、思考题3.(1)数值积分fx=inline(exp(x).*(1+exp(x).2);quad(fx,0,log(2)符号积分f=sym(exp(x)*(1+exp(x)2);v=int(f,0,log(2);eval(v)(2)略二、实验题1.-_A=sym(1,2,3;x,y,z;3,2,1)rank(A)inv(A)det(A)2.(1) y=sym(sqrt(x+sqrt(x+sqrt(x);y1=diff(y)y2=diff(y,x,2)(2) syms x y;fxy=sin(x2*y)*exp(-x2-y);diff(diff(fxy,x),y)3.(1)
9、 syms xint(1/(1+x4)(2) syms x tint(-2*x*x+1)/(2*x*x-3*x+1)2,x,cos(t),exp(2*t)4.syms n xsymsum(1/(2*n+1)/(2*x+1)(2*n+1),n,0,inf)symsum(1/(2*n+1)/(2*x+1)(2*n+1),n,0,5)5.(1) syms xtaylor(exp(x)+exp(-x)/2,5,0)(2) syms a xtaylor(exp(-5*x)*sin(3*x+pi/3),5,a)6.(1)x=solve(sym(x3+a*x+1=0)(2) x y=solve(sym(sq
10、rt(x2+y2)-100=0,3*x+5*y-8=0)7. 方程转化为: 21ty符号解y1,y11=dsolve(Dy=y1,Dy1+y=1-t2/pi,y(-2)=5,y1(-2)=5,t)数值解编写函数文件ztfun.mfunction yy=ztfun(t,y)yy=y(2);1-t2/pi-y(1);在命令窗口输入以下命令t,y=ode45(ztfun,-2,7,-5;5);t=linspace(-2,7,49)y2=y8. x,y=dsolve(Dx=3*x+4*y,Dy=-4*x+3*y,x(0)=0,y(0)=1)第9章二、实验题1.(1)新建一个Blank GUI。(2)在
11、窗口上添加一个Static Text、一个Edit Text,一个Push Botton,两个Check Box,一组Radio Button。各控件的属性设置如表9.1所示。表 9.1 界面控件属性-_控 件 属 性 名 属 性 值静态文本框 String 实验一:编辑框 String按钮 String 设置字体大小单选按钮 1 String red单选按钮 2 String yellow单选按钮 3 String blueString black单选按钮 4Value 1.0复选框 1 String 倾斜复选框 2 String 加粗(3)在按钮的 Callback 函数中添加以下代码:s
12、=eval(get(handles.edit1,String);set(handles.text1,FontSize,s);(4)在复选框 1 的 Callback 函数中添加以下代码:if (get(hObject,Value) = get(hObject,Max)set(handles.text1,FontAngle,italic);elseset(handles.text1,FontAngle,normal);end在复选框 2 的 Callback 函数中添加以下代码:if (get(hObject,Value) = get(hObject,Max)set(handles.text1,
13、FontWeight,bold);elseset(handles.text1,FontAngle,normal);end(5)在单选按钮组的SelectionChangeFcn函数中添加以下代码:set(handles.text1,ForegroundColor,get(eventdata.NewValue,string);2.(1)新建一个Blank GUI。(2)用菜单编辑器编辑菜单,各菜单项属性如表9.2.表 9.2 菜单项属性菜单项 Label 属 性 值 Tag 属 性 值Line Label m_lineMenuHelp Help m_helpLine Style Line Sty
14、le m_linestyleLine Width Line Width m_linewidthLine Menu ItemLine Color Line Color m linecolorHelp Menu Item About About m_about(3)绘图。在窗口的OpeningFcn函数添加以下代码:global h;t=0:0.01:6;h=plot(t.*sin(t),t.*cos(t)(4)在 Line Style 菜单项的 Callback 函数中添加以下代码:global h;set(h,LineStyle,-.);在 Line Width 菜单项的 Callback 函数中添加以下代码:global h;