2024年MATLAB程序设计基础平时作业_第1页
2024年MATLAB程序设计基础平时作业_第2页
2024年MATLAB程序设计基础平时作业_第3页
2024年MATLAB程序设计基础平时作业_第4页
2024年MATLAB程序设计基础平时作业_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB程序设计基础平時作业专业班级電科1401學号姓名謝言琴《MATLAB程序设计基础》平時作业阐明:1-17題為必做題,须分别提交紙质文档及与紙质文档對应的電子文档.doc版。對于每输入的壹种百分制成绩,规定输出對应的成绩等级A、B、C、D、E。其中A的分值在区间[90,100)内;B的分值在区间[80,90)内;C的分值在区间[70,80)内;D的分值在区间[60,70)内;E的分值在区间[0,60)内;规定:1)要有對输入成绩与否合理的判断:①输入成绩假如具有小数,只能是“x.5”②成绩必须在百分制范围内。③假如输入的成绩不合理,应向命令窗口输出报錯信息“输入的成绩不合理”2)用if語句实現題目规定MATLAB程序代码如下:x=input('pleaseimportresults:');%输入分数ifx<0|x>100disp('Error:wrongdata')%显示数据錯误elseifx<=100&x>=90bank='A'%输出等级為Aelseifx<=89&x>=80bank='B'%输出等级為Belseifx<=79&x>70bank='C'%输出等级為Celseifx<=69&x>60bank='D'%输出等级為Delsebank='E'%输出等级為Eend运行成果如下:>>Untitledpleaseimportresults:123Error:wrongdata>>Untitledpleaseimportresults:96bank=A>>Untitledpleaseimportresults:85bank=B>>Untitledpleaseimportresults:72bank=C>>Untitledpleaseimportresults:63bank=C>>Untitledpleaseimportresults:6bank=E(3)用switch語句实現題目规定MATLAB程序代码如下:c=input('pleaseimportresults:');%输入分数switchfloor(c/10)%用switch語句实現對分数的求商case{9}bank='A';case{8}bank='B';case{7}bank='C';case{6}bank='D';casenum2cell(0:5)%表达取整後是0到5bank='E';otherwisebank='输入出錯';enddisp(bank);运行成果如下:pleaseimportresults:123输入出錯>>Untitledpleaseimportresults:95A>>Untitledpleaseimportresults:86B>>Untitledpleaseimportresults:75C>>Untitledpleaseimportresults:65D>>Untitledpleaseimportresults:3E>>Untitledpleaseimportresults:-1输入出錯2.设计程序,完毕[10,99]之间两位整数的加、減、乘、除四则运算。规定:1)随机产生区间[10,99]之内的两位随机整数2)在产生符合规定的随机数後,输入壹种运算符号,做對应的运算3)运算成果显示在命令窗口,其显示类似于“a=x+y=68”的形式MATLAB程序代码如下:y=10+(99-10)*rand%产生10到99之间的随机数a=round(rand*90)+10;disp(a)%产生10到99之间的随机数ab=round(rand*90+10);disp(b)%产生10到99之间的随机数bc=input('請输入壹种四则运算符号,用單引号括起来');switchccase'+'d=a+b;%做加法运算case'-'d=a-b;%做減法运算case'*'d=a*b;%做乘法运算case'/';d=a/b;%做除法运算endd运行成果如下:>>Untitledy=91.29056719請输入壹种四则运算符号,用單引号括起来'+'d=86>>Untitledy=34.78635996請输入壹种四则运算符号,用單引号括起来'-'d=-37>>Untitledy=95.87512497請输入壹种四则运算符号,用單引号括起来'*'d=2328>>Untitledy=95.18795482請输入壹种四则运算符号,用單引号括起来'/'d=0.65853.求下列分段函数的值并绘制函数曲线。规定: 1)x的值以向量的形式從键盘输入。2)用if語句实現,分别输出x=﹣5.0,﹣3.0,1.0,2.0,2.5,3.0,5.0時的y值。3)自行确定自变量的取值,绘制该分段函数的二维曲线。MATLAB程序代码如下:functiony=myfun(x)%间;建立功能函数myfun,,以便下面调用该函数ifx==2||abs(x)==3||x>=5y=x.^2-x-1;elseifx<0y=x.^2+x-6;elsey=x.^2-5*x+6;endx=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];l=length(x);y=zeros(1,1);fork=1:1y(k)=myfun(x(k));调用功能函数myfunend[x;y]plot(x,y;运行成果如下:ans=-0.5000-3.00001.00002.00002.50003.00005.0000-6.250011.00002.00001.0000-0.25005.00006.0000成果截图如下:图14.分别使用for循环語句和while循环語句找出最小的n值,使得n!>10100,并求出n!。MATLAB程序代码如下:s=1;forn=1:100ifs>10100;n=n-1;break;elses=s*n;endendfprintf('n=%d\n',n,s)运行成果如下:>>Untitledn=8n=40320MATLAB程序代码如下:s=1;n=1;whiles<=10100;n=n+1;s=s*n;endfprintf('n=%d\n',n,s)运行成果如下:>>Untitledn=8n=403205.已知f1=1,n=1f2=0,n=2f3=1,n=3fn=fn-1-2fn-2+fn-3,n>3求f1~f50中:1)最大值和最小值及它們的位置、各数之和(最大值給变量MAX,其位置給变量x,最小值給变量MIN,其位置給变量y,各数之和給变量SUM)。2)正数、零、负数的個数(依次赋值給变量N_positive,N_zero,N_negative)。MATLAB程序代码如下:f(1)=1;f(2)=0;f(3)=1;forn=4:50f(n)=f(n-1)-2*f(n-2)+f(n-3)end[MAX,X]=max(f)%将最大值赋值給MAX,位置給x[MIN,Y]=min(f)%将最大值赋值給MIN,位置給ySUM=sum(f)%和赋值給SUMN_positive=length(find(f>0))%找到正数的個数和位置,赋值給N_positiveN_zero=length(find(f==0))%找到零的個数和位置赋值給N_zeroN_negative=length(find(f<0))%找到负数的個数和位置赋值給N_negative运行成果如下:MAX=406631X=49MIN=-403795Y=50SUM=76861N_positive=25N_zero=2N_negative=236.Fibonacci数组的元素满足Fibonacci规则:ak+2=ak+ak+1,(k=1,2,3,…);且a1=a2=1。請设计壹段程序,求出该数组中第壹种不小于10000的元素對应的k值以及该元素值。MATLAB程序代码如下:a1=1;a2=1;i=3;a3=a1+a2;whilea3<10000;%实現循环求出数组中不小于10000的k值和對应的该值a1=a2;a2=a3;a3=a1+a2;i=i+1;endfprintf('i=%d\na(i)=%d\n',i,a3)fprintf('a(%d)=%d\n',i,a3)%输出i和a3运行成果如下:>>Untitledi=21a(i)=10946a(21)=109467.定义自变量x的取值区间為[﹣5,5],编写壹种函数文献,实現绘制函数y=ax3+bx2+cx+d的曲线,其中給定各系数值分别為①a=﹣1,b=2,c=﹣5,d=3;②a=3,b=﹣7,c=1,d=4;③a=0,b=4,c=0,d=﹣5要此外编写调用该函数文献的m文献,实現调用。MATLAB程序代码如下:functionmydraw(a,b,c,d)%建立函数mydrawx=-5:0.1:5;y=a*x.^3+b*x.^2+c*x+d;plot(x,y);mydraw(-1,2,-5,3)mydraw(3,-7,1,4)mydraw(0,4,0,-5)成果截图如下:图2系数取第①组的曲图3系数取第②组的曲线图4系数取第③组的曲线8.设计程序,在壹种图形窗体中画出函数y=ex和y=logx的特性曲线。其中y=ex中x取值区间為(﹣2,2),y=logx中x取值区间為(0.1,5)。规定:1)要有图例、標題('二维图')、坐標轴標签('x轴数据'和'y轴数据');2)每条曲线的属性自已设置,但不能全用默认值。MATLAB程序代码如下:x1=-2:0.1:2;y1=exp(x1);x2=0.1:0.1:5;y2=log(x2);plot(x1,y1,'r--',x2,y2,'k-d');title('二维图');xlabel('x轴数据');ylabel('y轴数据');legend('e^x曲线','log(x)曲线');%设置图例成果截图如下:图5函数y=ex和y=logx的特性曲线9.采用2行2列子图的方式進行二维图形绘制,规定:1)自变量x的取值区间為[0,2π]2)三個函数分别為:y1=sin(x),y2=cos(x),y3=sin(x)+cos(x)3)在第1幅子图绘制y1的曲线;在第2幅子图绘制y2的曲线;在第3幅子图绘制y3的曲线;在第4幅子图中绘制所有3条曲线4)對每壹幅子图,都要有图例、坐標轴標签;曲线的属性自已设置,不能全用默认值。MATLAB程序代码如下:x=0:0.1:2.*pi;y1=sin(x);y2=cos(x);y3=sin(x)+cos(x);subplot(221);plot(x,y1,'r-p');legend('sin(x)');xlabel('横坐標1');ylabel('纵坐標1');subplot(222);plot(x,y2,'go--');legend('cos(x)');xlabel('横坐標2');ylabel('纵坐標2');subplot(223);plot(x,y3,'k-d');legend('sin+cos');xlabel('横坐標3');ylabel('纵坐標3');subplot(224);plot(x,y1,x,y2,x,y3,'ro-');legend('所有');xlabel('横坐標4');ylabel('纵坐標4');成果截图如下:图6四种二维图10.采用1行2列子图的方式進行二维图形绘制,规定:1)在第1幅子图绘制三维曲线:x∈[0,20]y=sin(x)z=cos(x)2)在第2幅子图绘制三维曲面:x∈[﹣20,20]y∈[﹣10,10]3)對每壹幅子图,都要有標題、坐標轴標签;曲线的属性自已设置,不能全用默认值。MATLAB程序代码如下:x1=0:0.1:20;y1=sin(x1);z1=cos(x1);x2=(-20:0.1:20);y2=(-10:0.1:10);[X,Y]=meshgrid(x2,y2);%建立网格线Z=(X.^2)/9-(Y.^2)/4;subplot(121);plot3(x1,y1,z1,'r');title('三维曲线');xlabel('横坐標');ylabel('纵坐標');subplot(122);surf(X,Y,Z);shadinginterp;%不使用网格线title('三维曲面');xlabel('横坐標');ylabel('纵坐標');成果截图如下:图7二维图形和三维图11.已知函数,其中x的取值区间為[﹣2,2],试编程绘制该二维曲线,规定:要有標題、坐標轴標签,曲线颜色用紅色。MATLAB程序代码如下:eleven=ezplot('(x^2+y^2-1).^3-x^2.*y^3',[-2,2]);title('函数(x^2+y^2-1).^3-x^2.*y^3的图形');set(eleven,'color','r');%设置eleven颜色xlabel('x轴');ylabel('y轴');成果截图如下:图8心形图12.已知原始数据,,插值點為,试用4种不壹样的插值措施進行插值,并在壹幅图的4個子图中分别绘出4种插值曲线,并各自注明所使用的插值措施。MATLAB程序代码如下:x=0:1:4*pi;y=sin(x).*exp(-x/5);plot(x,y,'o');title('样本點所在位置');成果截图如下:图9样本點所在的位置MATLAB程序代码如下:xi=0:0.3:4*pi;figure;%新開图形窗口subplot(221)y1=interp1(x,y,xi,'nearest');plot(xi,y1);title('近来點插值');subplot(222)y1=interp1(x,y,xi);plot(xi,y1);title('线性插值');subplot(223)y1=interp1(x,y,xi,'cubic');plot(xi,y1);title('三次立方插值');subplot(224)y1=interp1(x,y,xi,'spline');plot(xi,y1);title('三次样条插值');axistight%根据数据范围自動设置坐標轴取值范围成果截图如下:图10四种插值方式13.考虑表1中的数据:表1壹周气温温度数据周壹周二周三周四周五周六周曰上午15151813131516中午20212519202225夜晚16171214161819完毕如下功能:1)将壹周的气温温度数据,使用壹种矩阵A進行保留。2)取出周二中午、周四上午、周曰中午和夜晚的温度值,构成新的温度值向量。3)取出矩阵A中的前六個数值,构成新的温度值向量。4)取出周二、周三、周四及周六的数据,构成新的温度值矩阵。5)求每天温度的平均值6)求壹周的上午、中午和夜晚温度的平均值7)求壹周的温度平均值及最高温度及最低温度MATLAB程序代码如下:A=[15151813131516;20212519202225;16171214161819];B1=[A(2,2)A(1,4)A(2,7)A(3,7)];B2=[A(1:6)];B3=[A(:,2)A(:,3)A(:,4)A(:,6)];B4=mean(A);%對列求平均值B5=mean(A,2);%對行求平均值B6=mean(B4,2);B7=max(A(:));B8=min(A(:));disp('周壹周二周三周四周五周六周曰');disp(A)disp('周二中午、周四上午、周曰中午和夜晚的温度值');disp(B1)disp('A中的前六個数值');disp(B2)disp('周二周三周四周六');disp(B3);disp('每天温度的平均值');disp('周壹周二周三周四周五周六周曰');disp(B4)disp('壹周的上午、中午和夜晚温度的平均值');disp(B5)disp('壹周的温度平均值');disp(B6)disp('壹周的温度最大值');disp(B7)disp('壹周的温度最小值');disp(B8)运行成果如下:周壹周二周三周四周五周六周曰151518131315162021251920222516171214161819周二中午、周四上午、周曰中午和夜晚的温度值21132519A中的前六個数值152016152117周二周三周四周六151813152125192217121418每天温度的平均值周壹周二周三周四周五周六周曰17.000017.666718.333315.333316.333318.333320.0000壹周的上午、中午和夜晚温度的平均值15.000021.714316.0000壹周的温度平均值17.5714壹周的温度最大值25壹周的温度最小值1214.考虑表2中的数据,這是壹位举重教练搜集的不壹样性别的举重動员每個年龄的最大举重磅数,据信這三者之间存在著某种函数关系,請估算目前队伍中队员(规定13~20岁每壹岁均有)的最大举重磅数。表2不壹样性别的举重動员每個年龄的最大举重磅数性别年龄重举大最性别年龄重举大最1315171920男270290330350380女250270310330360MATLAB程序代码如下:A=[1315171920];B=[1314151617181920];M=[270290330350380];W=[250270310330360];p1=polyfit(A,M,6);%拟合曲线p2=polyfit(A,W,6);y1=polyval(p1,B);%计算B处p1的值y2=polyval(p2,B);disp('年龄1314151617181920');disp('男最大举重');disp(y1)disp('年龄1314151617181920');disp('女最大举重');disp(y2)运行成果如下:年龄1314151617181920男最大举重Columns1through7270.0000272.8572290.0000311.9077330.0000340.6300350.0000Column8380.0000年龄1314151617181920女最大举重Columns1through7250.0000252.8497270.0000291.9110310.0000320.6269330.0000Column8360.000015.某乡镇企业-的生产利润如表3所示。表3過去7年生产利润年份利润(萬元)70122144152174196202规定用多项式拟合法预测出该企业和的利润,并绘出拟合图。MATLAB程序代码如下:A=[];B=[70122144152174196202];C=[];p=polyfit(A,B,10);y=polyval(p,C);m=y(8);n=y(9);disp('利润(萬元)');disp(m)disp('利润(萬元)');disp(n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论