MATLAB程序设计与应用.docx

上传人:b****6 文档编号:7110028 上传时间:2023-01-18 格式:DOCX 页数:59 大小:190.15KB
下载 相关 举报
MATLAB程序设计与应用.docx_第1页
第1页 / 共59页
MATLAB程序设计与应用.docx_第2页
第2页 / 共59页
MATLAB程序设计与应用.docx_第3页
第3页 / 共59页
MATLAB程序设计与应用.docx_第4页
第4页 / 共59页
MATLAB程序设计与应用.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

MATLAB程序设计与应用.docx

《MATLAB程序设计与应用.docx》由会员分享,可在线阅读,更多相关《MATLAB程序设计与应用.docx(59页珍藏版)》请在冰豆网上搜索。

MATLAB程序设计与应用.docx

MATLAB程序设计与应用程序设计与应用实验一MATLAB运算基础第二题:

已知A=B=求下列问题:

1)A+6*B和A-B+I2)A*B和A.*B3)A3A.34)A/BBA5)A,BA(1,3),:

B.2解:

A=1234-4;34787;3657;B=13-1;203;3-27;I=100;010;001;

(1)A+6*Bans=1852-10467105215349A-B+Ians=1231-3328840671

(2)A*Bans=684462309-72596154-5241A.*Bans=1210246802619-13049(3)A3ans=372262338244860424737014918860076678688454142118820A.3ans=172839304-643930434365850327274625343(4)A/Bans=16.4000-13.60007.600035.8000-76.200050.200067.0000-134.000068.0000BAans=109.4000-131.2000322.8000-53.000085.0000-171.0000-61.600089.8000-186.2000(5)A,Bans=1234-413-13478720336573-27A(1,3,:

);B2ans=1234-436574511101920-540第三题:

设有矩阵A和BA=B=1)求他们的乘积C2)将矩阵C的右下角3*2子矩阵赋给D3)查看matlab工作空间的使用情况解:

A=12345;678910;1112131415;1617181920;2122232425;B=3016;17-69;023-4;970;41311;

(1)C=A*BC=9315077258335237423520397588705557753890717

(2)D=C(3:

5,2:

3)D=520397705557890717第四题:

完成下列操作:

1)求【100,999】之间能被21的数的个数2)建立一个字符串向量,删除其中的大写字母解:

(1)A=100:

999;B=rem(A,21);C=length(find(B=0)C=43

(2)A=lsdhKSDLKklsdkl;k=find(A=A&AA(k)=A=Lsdhklsdkl实验二MATLAB矩阵分析与处理第三题:

建立一个55矩阵,求它的行列式的值,迹,秩,和范数。

解:

A=18947;458926170;958523136;7565705463;572619112;H=det(A)H=13739916Trace=trace(A)Trace=169Rank=rank(A)Rank=5Norm=norm(A)Norm=218.5530第四题:

已知A=求A的特征值及特征向量,并分析其数学意义。

解:

A=-29618;20512;-885;V,D=eig(A)V=0.71300.28030.2733-0.6084-0.78670.87250.34870.55010.4050D=-25.3169000-10.518200016.8351第五题:

下面是一个线性方程组:

(1)求方程的解。

(2)将方程右边向量元素改为0.53,再求解,并比较的变化和解的相对变化。

(3)计算系数矩阵A的条件数并分析结论。

解:

(1)A=1/21/31/4;1/31/41/5;1/41/51/6;b=0.95,0.67,0.52;x=inv(A)*bx=1.20000.60000.6000

(2)B=0.95,0.67,0.53;x=inv(A)*Bx=3.0000-6.60006.6000(3)cond(A)ans=1.3533e+003实验三选择程序结构设计第一题:

求分段函数的值Y=用if语句实现,分别输入x=-5.0,3.0,1.0,2.5,3.0,5.0时的y值解:

x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0;y=;forx0=xifx0=0&x0xx=-5.0000-3.00001.00002.00002.50003.00005.0000yy=14.000011.00002.00001.0000-0.25005.000019.0000第二题:

输入一个百分制的成绩,要求输出成绩等级ABCDE。

其中9080为A,8089为B,7079为C,6069为D60以下为E要求1)分别写入if语句和switch语句实现2)输入百分制成绩要判断该成绩的合理性,对不合理的成绩应输出出错的信息解:

x=input(请输入一个百分制成绩:

);请输入一个百分制成绩:

ifx100|x0disp(您输入的成绩不是百分制成绩,请重新输入。

);elseifx=90disp(A);elseifx=80disp(B);elseifx=70disp(C);elseifx60disp(D);elsedisp(E);endend第三题:

硅谷公司员工的工资计算方法为1)工作时间超过120小时者,超过的部分加15%2)工作时数低于60小时的,扣发700元3)其余按每小时84元解:

n=input(请输入员工工号:

);请输入员工工号:

h=input(该员工工作时数是:

);该员工工作时数是:

ifh120x=(h-120)*84*(1+0.15)+120*84;elseifha=fix(10+(99-10)*rand(1,2)x=a

(1);y=a

(2);t=input(请输入运算符号:

s);ift=+z=x+y;elseift=-z=x-y;elseift=*z=x*y;elseift=/z=x/y;enddisp(num2str(x),t,num2str(y),=,num2str(z)a=8122请输入运算符号:

第五题:

建立5*6矩阵,要求输出第n行元素。

当n超过矩阵的行数时,自动转入输出矩阵最后一行的元素,并给出出错信息。

解:

a=rand(5,6);n=input(请输入您要输出矩阵的第几行:

);请输入您要输出矩阵的第几行:

ifn5disp(超出了矩阵的行数,矩阵的最后一行为:

)a(5,:

)elsedisp(矩阵的第,num2str(n),行为:

)a(n,:

)end矩阵的第行为:

ans=Emptymatrix:

0-by-6实验四循环结构程序设计第一题:

根据公式,求的近似值。

当n分别取100,1000,10000时,结果是多少?

(要求是:

分别用循环结构和向量运算(使用sum函数)来实现。

)解:

s=0;n=100;fori=1:

ns=s+1/i/i;endPI=sqrt(6*s)piPI=3.1321s=0;n=1000;fori=1:

ns=s+1/i/i;endPI=sqrt(6*s)piPI=3.1406s=0;n=10000;fori=1:

ns=s+1/i/i;endPI=sqrt(6*s)piPI=3.1415第二题:

根据,求:

(1)yy=0;n=1;while(ya=input(a=?

);a=?

b=input(b=?

);b=?

Xn=1;Xn1=a/(b+Xn);n=0;whileabs(Xn1-Xn)1e-5Xn=Xn1;Xn1=a/(b+Xn);n=n+1;ifn=500break;endendnXn1r1=(-b+sqrt(b*b+4*a)/2r2=(-b-sqrt(b*b+4*a)/2n=0Xn1=r1=r2=第四题:

已知:

求-中:

(1)最大值,最小值,各数之和。

(2)正数,零,负数的个数。

解:

(1)fori=1:

100ifi=1f(i)=1;elseifi=2f(i)=0;elseifi=3f(i)=1;elsef(i)=f(i-1)-2*f(i-2)+f(i-3);endendmax(f)ans=4.3776e+011min(f)ans=-8.9941e+011sum(f)ans=-7.4275e+011

(2)length(find(f0)ans=49length(find(f=0)ans=2length(find(fs=0;n=0;fori=2:

49b=i*(i+1)-1;m=fix(sqrt(b);forj=2:

mifrem(b,j)=0breakendendifj=mn=n+1;s=s+b;endendnsn=28s=21066实验六高层绘图操作第二题:

已知y1=x2,y2=cos(2x),y3=y1*y2,完成下列操作1)在同一坐标系中的不同颜色和线型绘制三条曲线2)以子图像绘制三条曲线3)分别用条形图,阶梯图,杆图和填充图绘制三条曲线解:

(1)x=linspace(-2*pi,2*pi,100);y1=x.2;y2=cos(2*x);y3=y1.*y2;plot(x,y1,b-,x,y2,r:

x,y3,y-);text(4,16,leftarrowy1=x2);text(6*pi/4,-1,downarrowy2=cos(2*x);text(-1.5*pi,-2.25*pi*pi,uparrowy3=y1*y2);

(2):

x=linspace(-2*pi,2*pi,100);y1=x.2;y2=cos(2*x);y3=y1.*y2;subplot(1,3,1);plot(x,y1);title(y1=x2);subplot(1,3,2);plot(x,y2);title(y2=cos(2*x);subplot(1,3,3);plot(x,y3);title(y3=x2*cos(2*x);(3)x=linspace(-2*pi,2*pi,20);y1=x.2;subplot(2,2,1);bar(x,y1);title(y1=x2的条形图);subplot(2,2,2);stairs(x,y1);title(y1=x2的阶梯图);subplot(2,2,3);stem(x,y1);title(y1=x2的杆图);subplot(2,2,4);fill(x,y1,r);title(y1=x2的填充图);

(2)x=linspace(-2*pi,2*pi,20);y2=cos(2*x);subplot(2,2,1);bar(x,y2);title(y2=cos(2*x)的条形图);subplot(2,2,2);stairs(x,y2);title(y2=cos(2*x)的阶梯图);subplot(2,2,3);stem(x,y2);title(y2=cos(2*x)的杆图);subplot(2,2,4);fill(x,y2,r);title(y2=cos(2*x)的填充图);(3)x=linspace(-2*pi,2*pi,20);y1=x.2;y2=cos(2*x);y3=y1.*y2;subplot(2,2,1);%分区bar(x,y3);title(y3=y1.*y2;的条形图);%设置标题subplot(2,2,2);stairs(x,y3);title(y3=y1.*y2;的阶梯图);subplot(2,2,3);stem(x,y3);title(y3=y1.*y2;的杆图);subplot(2,2,4);fill(x,y3,r);%如果少了r则会出错title(y3=y1.*y2;的填充图);第三题:

已知Y=在-5x5区间绘制曲线。

解:

x=-5:

0.01:

5;y=;forx0=xifx0第五题:

绘制函数的曲面图形和等高线。

Z=cosxcosy其中x的21个值均匀分布在【-5,5】范围,y的31的值巨晕分布在【0,10】,要求用subplot(2,1,1)和subpolt(2,1,1)将曲面图画在一个窗口上。

解:

x=linspace(-5,5,21);y=linspace(0,10,31);x,y=meshgrid(x,y);z=cos(x).*cos(y).*exp(-sqrt(x.2+y.2)/4);subplot(2,1,1);surf(x,y,z);subplot(2,1,2);contour3(x,y,z,50);实验七低层绘图操作第一题:

建立一个图形窗口,使之背景颜色为红色,并在窗口上保留原有的菜单项,而且按下列鼠标器的左键之后显示出leftbottonpressed字样解:

h=figure(MenuBar,figure,color,r,WindowButtonDownFcn,disp(LeftButtonPressed)h=1LeftButtonPressed第二题:

先利用默认属性绘制曲线y=x2*e2x,然后通过图形句柄操作改变曲线的颜色,线性和线宽,并利用文字对象添加文字标注。

解:

x=-2:

0.01:

2;y=x.2.*exp(2*x);h=line(x,y);set(h,color,r,linestyle,:

linewidth,2)text(1,exp

(2),y=x2*exp(2*x)实验八数据处理与多项式运算第一题:

利用MATLAB提供的rand函数生成30000个符合均匀分布的随机数,然后检验随机数的性质:

(1)均值和标准方差。

(2)最大元素和最小元素。

(3)大于0.5的随机数个数占总数的百分比。

解:

(1)A=rand(1,30000);b=mean(A)b=0.4988std(A,0,2)ans=0.2890

(2)max(A)ans=1.0000min(A)ans=4.8345e-005(3)n=0;fori=1:

30000ifA(i)0.5n=n+1;endendp=n/30000p=0.5006第二题:

将100个学生的5门功课的成绩存入矩阵P中,进行如下处理:

(1)分别求每门课的最高分,最低分,以及相应学生序号。

(2)分别求每门课的平均分和标准方差。

(3)5门课总分的最高分,最低分,以及相应的学生序号。

(4)将5门课总分按照从大到小的顺序存入zcj中,相应的学生序号存入xsxh。

提示:

上机调试时,为避免学生输入成绩的麻烦,可用取值范围在45,95之间的随机矩阵来表示学生成绩。

解:

(1)A=45+51*rand(100,5);Y,U=max(A)Y=95.998595.965695.502095.703295.5696U=2966554769a,b=min(A)a=45.242345.882845.009245.253045.6793b=368526748

(2)m=mean(A)s=std(A)m=70.917169.785973.535072.828871.6800s=15.137814.129615.011615.162214.8254(3)sum(A,2)Y,U=max(ans)a,b=min(ans)ans=310.9073300.1903381.2853399.3692367.1891360.3795353.3803302.8869399.8438427.2878336.4110358.9261351.2553331.9469413.0334344.4165361.9468337.9836340.1552382.3467337.6998329.6321290.0841335.4717413.6694387.8507348.4086320.4340418.2465416.0586371.3836356.8309384.2258317.6676351.3684342.2732339.9799393.7629401.0900387.0595354.1276398.4044369.0955368.0804358.5997350.1610384.3793340.3847270.1099351.2449390.4362355.4126343.7438348.7042429.4294348.9054389.0234376.0627346.3973338.2912366.0568343.0276358.4005335.2967275.2407381.5512373.2066362.1673382.3756388.9117401.5248347.8608360.8734362.0857394.7853368.3532390.2871377.0796396.6192380.7487374.4978372.7407370.7008410.8179279.0636333.6823293.9671359.9178400.2025274.0383404.8475354.2595334.9726364.8144389.8509315.2819280.7866358.9722316.9236322.5536Y=429.4294U=55a=270.1099b=49(4)zcj,xsxh=sort(ans)zcj=270.1099274.0383275.2407279.0636280.7866290.0841293.9671300.1903302.8869310.9073315.2819316.9236317.6676320.4340322.5536329.6321331.9469333.6823334.9726335.2967335.4717336.4110337.6998337.9836338.2912339.9799340.1552340.3847342.2732343.0276343.7438344.4165346.3973347.8608348.4086348.7042348.9054350.1610351.2449351.2553351.3684353.3803354.1276354.2595355.4126356.8309358.4005358.5997358.9261358.9722359.9178360.3795360.8734361.9468362.0857362.1673364.8144366.0568367.1891368.0804368.3532369.0955370.7008371.3836372.7407373.2066374.4978376.0627377.0796380.7487381.2853381.5512382.3467382.3756384.2258384.3793387.0595387.8507388.9117389.0234389.8509390.2871390.4362393.7629394.7853396.6192398.4044399.3692399.8438400.2025401.0900401.5248404.8475410.8179413.0334413.6694416.0586418.2465427.2878429.4294xsxh=499065859723872819699342810022148693642411211860371948366253165972275456465013357419252326345129888673177468946154476438331826781587880366206933474026705795775138757942498939719184152530291055第五题:

有三个多项式试进行下列操作:

(1)求p(x)=p1(x)+p2(x)+p3(x);

(2)求p(x)的根。

(3)当x取矩阵A的每一元素时,求p(x)的值。

其中:

A=(4)当以矩阵A为自变量时,求P(x)的值。

其中A的值与第(3)题相同。

解:

(1)p1=1,2,4,0,5;p2=1,2;p3=1,2,3;p=p1+0,conv(p2,p3)p=138711

(2)A=roots(p)A=-1.3840+1.8317i-1.3840-1.8317i-0.1160+1.4400i-0.1160-1.4400i(3)A=-11.2-1.4;0.7523.5;052.5;polyval(p,A)ans=1.0e+003*0.01000.03820.01250.02230.09700.41220.01101.24600.1644(4)polyvalm(p,A)ans=1.0e+003*0.0076-0.1281-0.07750.13281.39001.16440.18241.73641.5198实验九数值微积分与方程数值求解第一题:

求函数在指定点的数值导数。

f(x)=,x=1,2,3.解:

a=xx.2x.3;12*x3*x.2;026*x;f=det(a)f=2*x3g=diff(f,x)g=6*x2fori=1:

3g=6*i2endg=6g=24g=54第二题:

用数值方法求定积分1)的近似值。

2)。

解:

(1)g=inline(sqrt(cos(t.2)+4*sin(4*t.2)+1);I=quadl(g,0,2*pi)I=6.7992+3.1526i

(2)f=inline(log(1.+x)./(1.+x.*x)f=Inlinefunction:

f(x)=(log(1.+x)./(1.+x.*x)I=quadl(f,0,1)I=0.2722第三题:

分别用三种方法解线性方程组解:

方法一:

直接法A=65-25;9-14-1;342-2;3-902;b=-413111;x=Abx=0.6667-1.00001.5000-0.0000方法二:

LU分解A=65-25;9-14-1;342-2;3-902;b=-413111;L,U=lu(A);x=U(Lb)x=0.6667-1.00001.5000-0.0000第五题:

求代数方程的数值解1)3x+sinx-ex=0在x0=1.5附近的根。

2)在给定的初值x0=1,y0=1,z0=1下,求方程组的数值解解:

(1)首先建立myfun2.m文件functionG=myfun2(Y)y=Y

(1)G

(1)=3*y+sin(y)-exp(y);接着计算:

Y=fsolve(myfun2,1.5,optimset(Display,off)y=1.5000y=1.5000y=2.2199

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1