一、计算题:1.设2u,3v,计算:(1)4loguvv;(2)22euvvu;(3)3uvuv参考答案:u=2;v=3;(1)4*u*v/log(v)ans=21.8457(2)(exp(u)+v)^2/(v^2-u)ans=15.4189(3)sqrt(u-3*v)/(u*v)ans=0+0.4410i2.计算cos60°-392cos(pi/3)-(9-2^(1/2))^(1/3)ans=-1.46493.计算下列积分。(1)1351dxxxx(2)1010211sindd4xyyxyx(3)dxxx)]6cos()3(2[sin20参考答案:(1)f=@(x)x+x.^3+x.^5;q=quad(f,-1,1)q=2.2204e-016(2)f5=@(x,y)sin(y).*(x+y)./(x.^2+4);q=dblquad(f5,1,10,1,10)q=5.5254(3)f=inline('sin(2*(x+pi/3))+cos(x+pi/6)','x');Q=quad(f,0,2*pi)Q=6.7851e-0094.创建一个含10000个元素的数组,其值依次为1到10000之间的整数。用逻辑数组计算大于5000的元素的平方根。a=1:10000;%Declarearrayab=a5000;%Createmaska(b)=sqrt(a(b));%Takesquareroot5.对23223a(x-y)-4b(y-x)进行因式分解参考答案:factor(sym('3*a^2*(x-y)^3-4*b^2*(y-x)^2'))ans=(x-y)^2*(3*a^2*x-4*b^2-3*a^2*y)6.求解线性方程组81025695832475412743wzyxwzxwzyxwzyxA=[34-7-12;5-742;108-5;-65-210]A=34-7-125-742108-5-65-210B=[4;-3;9;-8]B=4-39-8x=A\Bx=-1.4841-0.68160.5337-1.24297.计算下列各式(1)0tansinlim1cos2xxxx(2)322sinyxxx,求y(3)lnyxyxy,求/fx,/fy,2/fxy(4)ln(1)ytdx,270ln(1)ytdx参考答案:(1)limit(sym('(tan(x)-sin(x))/(1-cos(2*x))'))ans=0(2)y=sym('x^3-2*x^2+sin(x)');diff(y)ans=3*x^2-4*x+cos(x)(3)f=x*y*log(x+y);fx=diff(f,x)fx=y*log(x+y)+x*y/(x+y)fy=diff(f,y)fy=x*log(x+y)+x*y/(x+y)f2xy=diff(fx,y)f2xy=log(x+y)+y/(x+y)+x/(x+y)-x*y/(x+y)^2(4)symsty=log(1+t);int(y)ans=log(1+t)*(1+t)-t-1int(y,0,27)ans=56*log(2)+28*log(7)-278.已知变量:A='ilovematlab';B='matlab',请找出:(1)B在A中的位置;(2)把B放在A后面。解:Lb=strfind(A,B)Lb=6Le=Lb+length(B)-1Le=119.炼钢基本上是一个氧化脱碳的过程,钢液中原含碳量多少直接影响到冶炼时间的长短,下表是某平炉的熔钢完毕碳(x)与精炼时间(y)的生产记录:X(0.01%)134150180104190163200Y(min)135168200100215175220现希望从上表的数据中找出x与y变化规律的经验公式,用多项式进行曲线拟合,并给出相应的曲线。x=[104134150163180190200];y=[100135168175200215220];f=polyfit(x,y,2)f=-0.00161.7666-68.3091plot(x,y,'o',x,polyval(f,x))10012014016018020080100120140160180200220240x与y的关系式为:y=-0.0016*x^2+1.7666*x-68.309110.有如下数据:X11.11.21.31.4y1.000001.233681.552711.993722.61170利用本章介绍的几种插值方法对其进行插值,得到每隔0.05的结果。编写脚本文件,文件内容为:%Interpolationusingthefourmethodsx=[11.11.21.31.4];y=[1.000001.233681.552711.993722.61170];length_of_x=length(x);scalar_x=x(1):0.05:x(length_of_x);length_of_sx=length(scalar_x);y_nearest=zeros(length(scalar_x),1);y_linear=zeros(length(scalar_x),1);y_spline=zeros(length(scalar_x),1);y_cubic=zeros(length(scalar_x),1);fori=1:length_of_sxy_nearest(i)=interp1(x,y,scalar_x(i),'nearest');y_linear(i)=interp1(x,y,scalar_x(i),'linear');y_spline(i)=interp1(x,y,scalar_x(i),'spline');y_cubic(i)=interp1(x,y,scalar_x(i),'cubic');endsubplot(2,2,1),plot(x,y,'*'),holdon,plot(scalar_x,y_nearest),title('method=nearest');subplot(2,2,2),plot(x,y,'*'),holdon,plot(scalar_x,y_linear),title('method=linear');subplot(2,2,3),plot(x,y,'*'),holdon,plot(scalar_x,y_spline),title('method=spline');subplot(2,2,4),plot(x,y,'*'),holdon,plot(scalar_x,y_cubic),title('method=cubic');得到结果为:二、绘图题:1.绘制双曲抛物面:22164xyz,1616x,44y参考答案:[X,Y]=meshgrid(-16:0.4:16,-4:0.1:4);Z=X.^2/16-Y.^2/4;surf(X,Y,Z)-20-1001020-4-2024-5051015202.绘制函数221exp2fxxy在33x,33y上的表面图参考答案:symsxyz=1/(2*pi)*exp(-(x^2+y^2));ezsurf(x,y,z,[-3,3,-3,3]);-4-2024-4-202400.050.10.150.2xx=x,y=y,z=(5734161139222659exp(-x2-y2))/36028797018963968yz3.求函数cos(x)的5次拟合多项式p(x),并绘制出cos(x)和p(x)在[0,2pi]区间的函数曲线。4.编写MATALAB程序,完成下列任务:(1)在区间[0,4*pi]上均匀地取100个点构成向量;(2)分别计算函数y1=sin(t)与y2=2cos(2t)在向量t处于区间[0,4*pi]上的函数值;(3)在同一图形窗口绘制曲线y1=sin(t)与y2=2cos(2t),要求y1曲线为黑色点画线,y2曲线为红色虚线圆圈;并在图中恰当位置标注两条曲线的图例;给图形加上标题“y1andy2”。参考答案:(1)t=linspace(0,4*pi,100);(2)y1=sin(t);y2=2*cos(2*t);(3)plot(t,y1,'k-.');text(1.2,sin(1.2)-0.1,'y1\rightarrow','Fontsize',12);holdon;plot(t,y2,'r--o');text(4.8,1.5,'y2\rightarrow','Fontsize',12);title('y1andy2');02468101214-2-1.5-1-0.500.511.52y1y2y1andy25.编写程序,实现功能为:创建图形窗口,并且设置其默认背景为黄色,默认线宽为4个像素,在该窗口中绘制椭圆22221xyab的图像,其中的a和b任选。参考答案:figure('Color','y');set(gca,'DefaultLineLineWidth',4);a=4;b=3;x=linspace(-a,a,100);y1=sqrt((1-x.^2/(a^2))*b^2);y2=-sqrt((1-x.^2/(a^2))*b^2);h1=line(x,y1);holdon;h2=line(x,y2);set(h1,'LineWidth','default');set(h2,'LineWidth','default');三、编程题:1.编写一个脚本,判断输入字符串中每个单词的首字母是否为大写,若不是则将其修改为大写,其他字母为小写。参考答案:脚本文件内容为: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);2.在MATLAB中使用一个循环确定:如果用户最初在一个银行帐户中存储$10000,并且在每年的年终再存储$10000(银行每年支付6%的利息),那么账户上要积累$1000000要需要多长时间。参考答案:33年。n=0;z=10000;y=1+0.01*6;whilez=1000000z=z*y+10000;n=n+1;enddisp(n)3.编写matlab语句,计算)(ty的值053053)(22ttttty已知t从-9到9每隔0.5取一次值。运用循环和选择语句进行计算。4.编制程序,从键盘输入一系列的测量数,计算它们的平均值NiixNx11以及标准差)1()(1212NNxxNNiNiii。这些数可以是正数,负数或0。要求给出输入值的个数,然后用for循环读取所有数值。%Initializesumssum_x=0;sum_x2=0;%Getthenumberofpointstoinput.n=input('Enternumberofpoints:');%Checktoseeifwehaveenoughinputdata.ifn2%Insufficientdatadisp('Atleast2valuesmustbeentered.');else%wewillhaveenoughdata,solet'sgetit.%Looptoreadinputvalues.forii=1:n%Readinnextvaluex=input('Entervalue:');%Accumulatesums.sum_x=sum_x+x;sum_x2=sum_x2