- 348.50 KB
- 2022-07-29 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
..-w1.创立double的变量,并进展计算〔1〕a=87,b=190,计算a+b、a-b、a*b〔2〕创立uint8类型的变量,数值与〔1〕中一样,进展一样的计算答案如下:〔1〕a=87;b=190;a+b;a-b;a*b(2)c=uint8(87);d=uint8(190);c+d;c-d;c*d2.计算〔1〕〔2〕〔3〕答案如下:(1)sind(60)(2)exp(3)(3)cos(3*pi/4)3.设,,计算〔1〕〔2〕〔3〕答案如下:(1)u=2,v=3;ai=4*((u*v)/log(v))(2)u=2,v=3;a2=(exp(u)+v)^2/(v^2-u)(3)u=2,v=3;a3=sqrt(u-3*v)/(u*v)4.计算如下表达式〔1〕〔2〕答案如下:(1)(3-5*i)*(4+2*i)(2)sin(2-8*i)5.判断下面语句的运算结果〔1〕4<20〔2〕4<=20〔3〕4==20〔4〕4~=20〔5〕’b’<’B’..word.zl-\n..-答案如下:(1)4<20(2)4<=20〔3〕4==20〔4〕4~=20〔5〕'b'<'B'6.设,,,,判断下面表达式的值〔1〕2〕〔3〕〔4〕〔5〕〔6〕答案如下:(1)a=39;b=58;c=3;d=7;a>b(2)ab&&b>c(4)a==d(5)a|b>c(6)~~d1.生成一个随机矩阵,将其对角形元素的值加1参考答案:a=rand(3);a=a+eye(3)2.生成一个元素值在1和10之间的随机矩阵,将其重新排序,使得〔1〕每列按照降序排列〔2〕每行按照降序排列“ascend〞和“descend〞,分别表示升序和降序,默认为升序参考答案:〔1〕b=round(rand(3)*10)sort(b,'descend');〔2〕sort(b,2,'descend')3.令,,,进展幂运算,计算:〔1〕〔2〕〔3〕参考答案:〔1〕a=3;x=[2,1;3,2];y=[4,5;6,7];a.^x〔2〕x.^a〔3〕x.^y4.生成随机矩阵,判断其元素是否大于0.5参考答案:a=rand(3);a>0.55.有,,,,进展如下操作〔1〕~(aC&Bc&b>A=[1,5,3];>>B=[2,1,4];>>C=[9,-1,5];7.令,,,。求解以下问题:〔1〕〔2〕〔3〕〔4〕〔5〕〔6〕〔7〕8.求该矩阵的特征值和特征向量9.生成5阶魔术矩阵,记为,对其进展如下操作〔1〕求的逆〔2〕计算的行列式..word.zl-\n..-〔4〕求矩阵的秩a),对进展如下操作:(1)求的LU分解(2)求的正交分解(3)求的特征值分解(4)求的奇异值分解1.计算以下积分〔1〕〔2〕〔3〕〔4〕〔5〕答案如下:〔1〕f=(x)x+x.^3+x.^5q=quad(f,-1,1)(2)f=(x)sin(x)+cos(x)q=quad(f,1,10)(3)f=(x)exp(x/2)q=quad(f,2,6)(4)f=(x)x./((x.^4)+4)q=quad(f,1,10)(5)f=(x,y)sin(y)*(x+y)./(x.^2+4)q=dblquad(f,1,10,1,10)2.求以下函数的解,并绘制图形〔1〕,初始点为..word.zl-\n..-答案如下:f=(x)exp(x)-x.^5x=fzero(f,8)limits=[01015]fplot(f,limits)%绘图x围为0到10y围为1到5数学函数图象的绘制fplot(fun,limits),y=f(x);参数limits用于定绘制图象的围。limits是一个向量,用于指定x轴的围,格式为[xminxmax]。limits也可以同时指定y轴的围,格式为[xminxmaxyminymax]。fun可以为MATLAB函数的M文件名,可以是包含变量x的字符串,该字符串可以传递给函数eval,还可以是函数句柄。MATLAB使用函数fzero()来求一元函数的零点。寻找一元函数零点时,可以指定一个初始点,或者指定一个区间。当指定一个初始点时,此函数在初始点附近寻找一个使函数值变号的区间,如果没有找到这样的区间,那么函数返回NaN。该函数的调用格式为:x=fzero(fun,x0),x=fzero(fun,[x1,x2]):寻找x0附近或者区间[x1,x2]fun的零点,返回该点的x坐标;inv(A)来实现矩阵逆的求解。rank(A)可得到矩阵A的秩。矩阵的行列式用函数det求解。调用格式为det(A)。在MATLAB中多项式用一个行向量表示,向量中的元素为该多项式的系数,按照降序排列。如多项式可以表示为向量p=[9743]。Roots用于多项式求根,如roots〔p〕。MATLAB中直接创立函数,如语句:fh=(x)1./((x-0.3).^2+0.01)+1./((x-0.9).^2+0.04)-6。q=quad(fun,a,b),采用递归自适应方法计算函数fun在区间【a,b】上的积分。q=dblquad(fun,xmin,xmax,ymin,ymax),函数的参数分别为函数句柄、两个自变量的积分限,返回积分结果。c=plex(a,b),返回结果c为复数,其实部为a,虚部为b。..word.zl-\n..-1.编制一个脚本,查找给定字符串中指定字符出现的次数和位置%findthetimesandplacesofthespecifiedletterinthestringletter='a';%Thespecifiedlettertobesearchedforstring='China';%Thespecifiedtringtobesearchedplaces=findstr(S,A);%Theplacesoftheletterntimes=length(places)2.编写一个脚本,判断输入字符串中每个单词的首字母是否为大写,假设不是那么将其修改为大写,其他字母为小写str='thisisthestringtobeconverted';nlength=length(str);fork=1:nlengthif(k==1||isspace(str(k-1)))&&(str(k)<='z'&&str(k)>='a')str(k)=char(double(str(k))-32);endenddisp(str);3.创立一个构造体,用于统计学生的情况,包括学生的、学号、各科成绩等。然后使用该构造体对一个班级的学生成绩进展管理,如计算总分、平均分、排列名次等。structtest=struct('name',{},'number',{},'scores',{})1.创立符号表达式答案如下:..word.zl-\n..-f=sym('sin(x)+x')2.计算习题1中表达式在、、处的值答案如下:subs(0)subs(pi/4)subs(2*pi)3.设为符号变量,,,试进展如下运算〔1〕〔2〕〔3〕对进展因式分解〔4〕求以为自变量的复合函数答案如下:f=sym('x^4+x^2+1');g=sym('x^3+4*x^2+5*x+8')(1)f+g(2)f*g(3)factor(f)(4)pose(g,f)4.合并同类项〔1〕答案如下:S=sym('3*x-2*x^2+5+3*x^2-2*x-5')collect(S)5.因式分解〔1〕将7798666进展因数分解,分解为素数乘积的形式〔2〕〔3〕答案如下:(1)factor(7798666)(2)factor(sym('-2*m^8+512'))(3)factor(sym('3*a^2*(x-y)^3-4*b^2*(y-x)^2'))6.绘制以下函数的图像〔1〕,〔2〕,答案如下:(1)f=sym('sin(x)+x^2');ezplot(f,[0,2*pi])(2)f=sym('x^3+2*x^2+1');ezplot(f,[-22])7.计算以下各式〔1〕〔2〕,求..word.zl-\n..-〔3〕,求,,〔4〕,答案如下:(1)limit(sym('(tan(x)-sin(x))/(1-cos(2*x))'))(2)y=sym('x^3-2*x^2+sin(x)');diff(y)(3)symsxyf=log(x+y^2);fx=diff(f,x)fy=diff(f,y)f2xy=diff(fx,y)(4)symsxf=cos(4*x+3);int(f)int(f,0,pi/6)8.计算以下各式〔1〕〔2〕在0附近的Taylor展开答案如下:(1)symsum(sym('(3/n)^n'),1,inf)(2)taylor(sym('sin(x)'))9.求解线性方程组答案如下:[x,y]=solve(sym('2*x+3*y=1'),sym('3*x+2*y=-1'))10.对符号表达式,进展如下变换〔1〕关于的傅立叶变换〔2〕关于的拉普拉斯变换〔3〕分别关于和的Z变换答案如下:(1)symsxyz=x*exp(-(x^2+y^2));symsuvfourier(z,x,u)(2)laplace(z,y,v)(3)ztrans(z,x,u)ztrans(z,y,v)ezplot函数可以绘制显函数的图形,可以绘制隐函数的图形,也可以绘制参数方程的图形。对于显函数,其调用格式有:ezplot(f),绘制函数f在区间的图形。..word.zl-\n..-ezplot(f,[min,max]),绘制函数f在指定区间[min,max]的图形符号表达式求极限在MATLAB中函数limit用于求表达式的极限。该函数的调用格式为:limit(F,x,a),当x趋近于a时表达式F的极限;limit(F,a),当F中的自变量趋近于a时F的极限,自变量由findsym函数确定diff(S),实现表达式S的求导,自变量由函数findsym确定;diff(S,'v'),实现表达式对指定变量v的求导,该语句还可以写为diff(S,sym('v'));diff(S,n),求S的n阶导;diff(S,'v',n),求S对v的n阶导,该表达式还可以写为diff(S,n,'v')。R=int(S),求表达式S的不定积分,自变量由findsym函数确定;R=int(S,v),求表达式S对自变量v的不定积分;R=int(S,a,b),求表达式S在区间上的定积分,自变量由findsym函数确定;R=int(S,v,a,b),求表达式S在区间上的定积分,自变量为v。R=collect(S),合并同类项。其中S可以是数组,数组的每个元素为符号表达式。该命令将S中的每个元素进展合并同类项。R=collect(S,v),对指定的变量v进展合并,如果不指定,那么默认为对x进展合并,或者由findsym函数返回的结果进展合并。findsym函数通常由系统自动调用,在进展符号运算时,系统调用该函数确定表达式中的符号变量,执行相应的操作。..word.zl-\n..-x≥0编写程序计算f(x)=的值,其中x的值为-10到10之间,以0.5x<0为步长,通过循环语句实现。答案如下:xth=0;forx=-10:0.5:10;xth=xth+1;ifx<0y(xth)=-x^3+5;elsey(xth)=x^3+5endendy(xth)1.编写程序,该程序在同一窗口中绘制函数在之间的正弦曲线和余弦曲线,步长为,线宽为4个象素,正弦曲线设置为蓝色实线,余弦曲线颜色设置为红色虚线,两条曲线交点处,用红色星号标记答案如下:x=0:(pi/10):2*pi;sinx=sin(x);..word.zl-\n..-cosx=cos(x);figure,plot(x,sinx,'LineWidth',4)holdon,plot(x,cosx,'r:','LineWidth',4)holdon,plot(x(find(cosx==sinx)),cosx(find(cosx==sinx)),'r*','LineWidth',4)另解如下:x=0:(pi/10):2*pi;y1=sin(x);plot(x,y1,'linewidth',4);holdon;y2=cos(x);plot(x,y2,'r--','linewidth',4)holdon;a=solve('sin(x)=cos(x)');a=eval(a);x0=a+[0:1]*piy0=sin(x0);plot(x0,y0,'r*','linewidth',4)1.绘制以下图像〔1〕,〔2〕三维曲线:,,〔3〕双曲抛物面:,,〔4〕,其中和满足,可以任取答案如下:..word.zl-\n..-〔1〕x=0:pi/10:10*pi;plot(x,sin(x))〔2〕[X,Y]=meshgrid(-10:0.5:10);Z=X.^2+6*X*Y+Y.^2+6*X+2*Y-1;plot3(X,Y,Z)〔3〕[X,Y]=meshgrid(-16:0.4:16,-4:0.1:4);Z=X.^2/16-Y.^2/4;plot3(X,Y,Z)〔4〕a=0.1;b=0.8;x=0:0.1:1;y=zeros(size(x));ind=(x>=a&x<=b);y(ind)=(x(ind)-a)/(b-a);plot(x,y)1.绘制以下图像〔1〕生成100个从0到10之间的随机整数,绘制其直方图〔2〕生成10个从0到10之间的随机整数,绘制其阶跃图(1)hist(round(rand(100,1)*10))(2)X=round(rand(10,1)*10);stairs(X)..word.zl-\n..-1.通过界面交互方式在第2题生成的图形中添加注释,至少应包括:标题,文本注释,图例参考答案:title('正弦曲线和余弦曲线');>>gtext('sin(x)')>>gtext('cos(x)')>>legend('sin(x)','cos(x)')2.通过函数方式在第1题生成的图形中添加注释,至少应包括:标题,文本注释,图例title('正弦曲线和余弦曲线');gtext('sin(x)')gtext('cos(x)')legend('sin(x)','cos(x)')一、〔填空题〕1.去除命令窗口容的命令是〔clc〕。2.要在命令窗口中查看对函数log的帮助信息,所用命令是〔helplog〕。3.设置图例的Matlab库函数名是〔legend〕。4.绘制三维外表图的Matlab库函数名是〔surfmesh〕。5.将三维图形视角设置成方位角60度、仰角45度的语句是〔view(60,45)〕。6.在同一图形窗口中开多个子窗口的Matlab库函数名是〔subplot〕。7.表达式(5>2)*(6~=5)的值是〔1〕。..word.zl-\n..-8.设x是复数,取x的实部存入变量y的语句是〔y=real(x)〕。9.绘制三维曲线图的Matlab库函数名是〔plot3〕。10.将图题设置成“Fig.1示意图〞的语句是〔title('Fig.1示意图')〕。二、〔操作题〕1对于,如果,,求解X。2求解多项式x3-7x2+2x+40的根。(应用roots)3计算多项式的微分和积分。(应用polyder,polyint,poly2sym)4绘制曲线,x的取值围为[-5,5]。(应用plot)5有一组测量数据满足,t的变化围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,在图中添加标题,并用箭头线标识出各曲线a的取值,并添加标题和图例框。(应用plot,title,text,legend)答案如下:1.A=[492;764;357];B=[37;26;28];C=rank(A);x=C*B2.symsxsolve('x^3-7*x^2+2*x+40','x')另解:p=[1-7240]r=roots(p)3.symx;y=4*x^4-12*x^3-14*x^2+5*x+9 ;diff(y) ;int(y)4.f=sym('x^3+x+1');ezplot(f,[-5,5])..word.zl-\n..- symst;t=0:0.5:10;a=0.1;y=exp(-a*t);plot(t,y,'LineWidth',4);holdon;symst;t=0:0.5:10;a=0.2;y=exp(-a*t);plot(t,y,'r--','LineWidth',4);holdon;symst;t=0:0.5:10;a=0.5;y=exp(-a*t);plot(t,y,'go','LineWidth',2)title('y=exp(-a*t)')另解:t=0:0.5:10;y1=exp(-0.1*t);y2=exp(-0.2*t);y3=exp(-0.5*t);plot(t,y1,'-ob',t,y2,':*r',t,y3,'-.^g')title('\ity\rm=e^{-\itat}')title('\ity\rm=e^{-\itat}','FontSize',12)text(t(6),y1(6),'\leftarrow\ita\rm=0.1','FontSize',11)text(t(6),y2(6),'\leftarrow\ita\rm=0.2','FontSize',11)text(t(6),y3(6),'\leftarrow\ita\rm=0.5','FontSize',11)..word.zl-\n..-..word.zl-