MATLAB 编程题作业
matlab练习题作业

Matlab 练习题0.1窗口操作建立更大的魔方矩阵,对矩阵的各行和各列进行求和等操作。
源代码:format compactA=magic(12)sum(A)sum(A,2)trace(A)trace(rot90(A))0.2削顶全波整流正弦波为siny x,画一削顶全波整流曲线,顶部的值为3/4。
源代码:clearx=0:5:720;xx=x*pi/180;y=sin(xx);figurey(y<0)=-y(y<0);y(y>=3/4)=3/4;plot(xx,y,xx,sin(xx),'--')title('削顶的全波整流曲线','FontSize',16)grid on0.3 无穷级数的渐近线下面无穷级数右边需要取多少项才与左边值的误差小于310-?画出级数的渐近线。
2222111...6123π=+++ clearn=1;x=0;xx=[];while 1y=1/n^2;x=x+y;xx=[xx,x];if n>2000,return,endif abs(x-pi^2/6)<1e-3,break,endn=n+1;endn %显示nfigureplot(xx,'x-')text(length(xx),x,num2str(x),'FontSize',16)title('级数的渐近线','FontSize',16)grid onhold onplot([0,1000],[pi^2/6,pi^2/6],'r')0.4方格中的魔方根据魔方的阶数画方格,将魔方填入方格中。
clearn=input('请输入魔方的阶数:');a=0:90:360;aa=a*pi/180;aa=aa+pi/4;x=sqrt(2)/2*cos(aa);y=sqrt(2)/2*sin(aa);M=magic(n);figuretitle('方格中的魔方','FontSize',16)axis equalhold onfor i=1:nfor j=1:nplot(x+j,y-i)text(j,-i,num2str(M(i,j)));endend问题:转成.jpg格式后,最上面的直线没有了。
Matlab编程题(一)

Matlab经典试题 1、编写程序实现猜数字游戏 游戏说明:计算机随机生成一个4位数(4个数字互不相同),然后玩家输入一个4位数, 计算机提示(?A?B),
A 的含义是数字位置正确的有多少个, B 的意思是仅数字正确的 有多少个,如计算机随机产生的为1234, 玩家输入1325,则返回1A2B (数字1位置正确, 而2和3仅数字正确,位置不对), 程序在4A或玩家猜测10次时结束。
2、钻井布局问题 现有15 口旧井,位置如下表给出。 试编写程序计算经过怎样的坐标平移旋转,可以使得这些点横纵坐标小数部分都小于0.05 的数目达到最大。
i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
xi 0.50 1.41 3.00 3.37 3.40 4.72 4.72 5.43 7.57 8.38 8.98 9.50 9.57 9.58 9.58
yi 2.00 3.50 1.50 3.51 5.50 2.00 6.24 4.10 2.01 4.50 3.41 0.80 1.20 1.58 8.05
3、利用BP神经网络预测上海市2009年6月的入境旅游人数。 说明:以2008年1月到2009年4 月的数据为输入, 2008年2 月到2009年5月的数据为输出, 训练模型,最终依靠训练出的模型预测2009年6月的旅游人数。 2008年以来上海市入境旅游人数为: 年月 2008-1 2008-2 2008-3 2008-4 2008-5 2008-6 2008-7 2008-8 2008-9 08-10 08-11 08-12 09-1 09-2 09-3 09-4 09-5
人数 517640 528780 576064 575336 556293 503906 510391 483831 504473 627675 599271 419753 414747 468685 510617 549291 490005
鸡兔同笼编程题matlab

鸡兔同笼编程题matlab鸡兔同笼问题是一个经典的数学问题,常用于初中数学教育中。
这个问题的主要思路是通过已知条件来求解未知量,进而推导出问题的答案。
在编程领域中,我们可以通过编写程序来解决这个问题。
本文将介绍如何使用MATLAB编写鸡兔同笼的程序。
一、问题描述鸡兔同笼是一个古老的谜题,其描述如下:在一个笼子里有若干只鸡和若干只兔子,它们的脚加起来一共有n只。
问笼中分别有多少只鸡和兔子?二、解题思路对于这个问题,我们可以采用以下步骤来解决:1. 设鸡的数量为x,兔子的数量为y。
2. 根据题目条件可得:2x+4y=n(因为每只鸡有2只脚,每只兔子有4只脚)。
3. 将式子化简得到:y=(n-2x)/2。
4. 因为题目要求x和y都是整数,所以n-2x必须是偶数。
5. 枚举所有可能的x值(从0到n/2),计算对应的y值,并判断是否符合条件。
6. 输出符合条件的x和y值。
三、MATLAB代码实现使用MATLAB编写鸡兔同笼的程序,可以采用以下代码:```matlabn = input('请输入脚的总数:');for x = 0:n/2y = (n-2*x)/2;if y == fix(y) % 判断y是否为整数fprintf('鸡:%d只,兔:%d只\n', x, y);endend```解释一下上述代码:1. 首先,我们通过input函数获取用户输入的脚的总数n。
2. 然后,我们使用for循环枚举所有可能的x值(从0到n/2)。
3. 在每次循环中,我们计算对应的y值,并判断是否为整数。
如果是整数,则输出符合条件的x和y值。
4. 最后,我们使用fprintf函数输出结果。
四、测试与分析为了测试上述程序的正确性,我们可以输入不同的脚的总数n进行测试。
例如,当输入8时,程序会输出如下结果:```鸡:0只,兔:2只鸡:1只,兔:1只```这个结果符合题目要求。
因为当笼子里有8只脚时,有可能是两只兔子或者没有兔子和四只鸡。
Matlab作业习题与答案详解(附程序)

Matlab作业习题与答案详解(附程序)clear all;clc;close all;x=-10:0.01:20;y=4*sin(x)./x;ymin=min(y)二、蒙特卡罗算法的数值计算当前的油位高度是2.3米,见图1。
模拟油流进储油罐的过程(图维数任选),请计算罐内油量。
三维的效果图参见图2。
储油罐由两部分组成,中间是圆柱体,两端是球罐体。
(本题简化自2011年UCMCM A题《储油罐的变位识别与罐容表标定》,细节参见原题原题附件2 cumcm2010A.doc。
)图1图2主程序:clc;clear all;close all;center1=[-3.375,0,1.5]; %左球罐中心center2=[3.375,0,1.5]; %右球罐中心n=10000; %每次的撒点数delta=0.02; %层高h=3;en=h/delta;Show; %画出油罐for i=0:en-1x=(rand(1,n)-0.5)*10; %随机生成n个点y=(rand(1,n)-0.5)*h;z=(rand(1,n)*delta+i*delta);Z=[x;y;z];[dis1dis2]=juli(center1,center2,Z); %算出各点对应的距离index=find(((x>-4&x<4)&dis2<1.5)|(x<-4|x>4)&dis1<1.625); %找出在罐内的点plot3(x(index),y(index),z(index),'.k'); %画出在罐内的点drawnowend子程序1:function [dis1 dis2]=juli(a,b,q)d11=q(1,:)-a(1);d12=q(2,:)-a(2);d13=q(3,:)-a(3);d1=sqrt(d11.^2+d12.^2+d13.^2);d21=q(1,:)-b(1);d22=q(2,:)-b(2);d23=q(3,:)-b(3);d2=sqrt(d21.^2+d22.^2+d23.^2);d1(d1>d2)=d2(d1>d2);dis1=d1;dis2=sqrt(d12.^2+d13.^2);子程序2:function tu=Show%===圆柱部分==figure('color','w')h=3;y='3/2*cos(s)';z='3/2*sin(s)+1.5';x='t';ezmesh(x,y,z,[0 pi*2 -4 4]);axis equalhidden offhold on%===左罐部分==z='cos(s)*(2.6406-t.^2).^(1/2)+1.5'; y='sin(s)*(2.6406-t.^2).^(1/2)';x='t-3.375';ezmesh(x,y,z,[0 pi*2 -1.625 -0.625]);axis equalhidden offhold on%===右罐部分===z='cos(s)*(2.6406-t.^2).^(1/2)+1.5';y='sin(s)*(2.6406-t.^2).^(1/2)';x='t+3.375';ezmesh(x,y,z,[0 pi*2 0.625 1.625]);colormap(gray)axis equalhold onaxis offhidden off三、元胞自动机的简单应用1.简单交通流模拟请模拟一个4车道的交通流,车辆密度为0.3,其余规则自行定义。
北航5系—MATLAB编程部分练习大作业

MATLAB编程部分练习大作业班级_xxxx_ 姓名:_xxx_ 学号:_xxxxx_一、判断题:1)由矩阵a、b组成的方程组x*b=a的解,可以利用x=a/b进行求解。
(对)2)@符号作为子函数数柄,记录了子函数的详细信息,可作为主函数的输出参数。
(对)3)num2str函数表示将字符串或字符数组转换为数字或矩阵。
(错)4)n=nargin(‘fun’)用于返回函数fun定义的输入参数的个数。
(对)5)某m函数文件定义行语句为:Function varargout=myfun(x,varargin),如果调用方式为myfun(a,b,c)则varargin是长度为2的单元数组。
(对)6)Roots用于求多项式等于0的根,根用行向量表示。
(错)7)最小二乘法拟合函数ployfit(x,y,n)中输入参数n为样本数据个数。
(错)8)RTW(Real-Time Workshop)是MatLab提供的实时仿真工具,只要硬件性能允许,所有SimuLink建立的模型都可以通过RTW实现实时运行。
(错)9)在MATLAB中函数tf2zp()可以用来求传递函数的零极点和增益。
(对)10)MATLAB语言是由C语言开发的,执行效率高,一般能够快速实时运行。
(错)二、选择题:1)下列()函数可以创建一个m行、m列单位矩阵(对角线上为数值1,其它均为0):A)eye(m); B) zeros(m); C)ones(m); D)rand(m);2)下列变量名中()是合法的:A) Char_1; B) x*y; C) x\y; D) end2)定义a=['abc';'cde'] ,运行reshape(a,[3,2])语句产生矩阵为()A) ['ab','cd','de']; B) ['ab';'cd';'de']; C) ['ad';'cc';'be']; D) ['ab';'cc';'de'] 3)定义A=[1,2,3;4,5,6;7,8,9]; 运行A(1,:)*A(:,3)语句计算结果为():A) [ 30,36,42]; B) 36; C) 30; D) 424)下列计算表达式中()是错误的A)y=eval(‘sin(t)’); B) y=feval(‘sin(t)’,t); C) y=feval(@sin,t); D) y=feval(‘sin’,t);5)如果n阶方阵A可逆,则求A逆矩阵的命令是():A) inv(A); B) det(A); C) rank(A); D)以上都不对6)多项式x4-12x3+25x+116的系数向量为():A) [1,-12,25,116]; B) [116,25,-12,1]; C) [1,-12,0,25,116]; D) [116,25,0,-12,1];7)Varagin作为函数声明语句中最后一个输入参数,用于传送不定数目的参数,其数据类型为:A) 数值数组;B)单元数组;C)结构数组;D)函数数柄8)令y=[-1,6,15,-7,31,2,-4,-5],运行[ynew,indx]=sort(y),请问所得indx(2)的具体数值为:A) 1;B) 4;C) 7;D) 89)下列函数中,()用于绘制x,y,z三维空间曲线:A) plot;B) plot3;C) mesh;D) peak三、编程计算题:1)利用结构数据类型定义变量A,用于储存某个学生以下三方面信息:姓名——Dafei、排名——第3以及三门课的成绩:88,99和98。
matlab switch 编程题

MATLAB是一种用于进行数学计算和数据分析的高级编程语言和环境。
在MATLAB中,switch语句是一种常用的条件语句,可以根据一个表达式的值选择性地执行一组语句。
在本文中,我们将探讨一些与MATLAB switch语句相关的编程题目,帮助读者更好地理解和掌握这一部分内容。
一、switch语句的基本用法在MATLAB中,switch语句的基本用法如下:```matlabswitch expressioncase caseCondition1statementscase caseCondition2statements...otherwisestatementsend```其中,expression是被检查的表达式,caseCondition1、caseCondition2等是不同的情况,每个case后面的语句表示在满足对应条件时执行的操作,otherwise部分是在没有任何case条件满足时执行的操作。
二、编程题目1:成绩等级划分题目描述:根据学生的成绩划分成绩等级,90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。
1.1 实现思路```matlabfunction grade = calculateGrade(score)switch floor(score/10)case 9grade = 'A';case 8grade = 'B';case 7grade = 'C';case 6grade = 'D';otherwisegrade = 'E';endend```1.2 测试用例```matlabscore1 = 95;grade1 = calculateGrade(score1); 结果为'A'score2 = 75;grade2 = calculateGrade(score2); 结果为'C'```三、编程题目2:季节判断题目描述:根据月份判断属于哪个季节,3-5月为春季,6-8月为夏季,9-11月为秋季,12-2月为冬季。
汽车理论 matlab编程 作业答案
4.3(1)利用附着系数空载时前轴的利用附着系数φf1:φf1=βz1L b+zh g=0.38z13.951.85+0.845z空载时后轴的利用附着系数φr1:φr1=(1−β)z1L a−zh g=(1−0.38)z13.952.1−0.845z满载时前轴的利用附着系数φf2:φf2=βz1L b+zh g=0.38z13.951.0+1.17z满载时后轴的利用附着系数φr2:φr2=(1−β)z1L a−zh g=(1−0.38)z13.952.95−1.17zMatlab程序:clcclearsyms z;f1=0.38*z/((1/3.95)*(1.85+0.845*z));r1=(1-0.38)*z/((1/3.95)*(2.1-0.845*z)); f2=0.38*z/((1/3.95)*(1.0+1.17*z));r2=(1-0.38)*z/((1/3.95)*(2.95-1.17*z)); f=z;ezplot(f1);hold on;ezplot(f2);ezplot(r1);ezplot(r2);ezplot(f);axis([0 1.0 0 1.0]);title('利用附着系数曲线');xlabel('制动强度z');ylabel('利用附着系数');text(0.38,0.8,'Ør(空载)');text(0.6,0.9,'Ør(满载)');text(0.8,0.45,'Øf(空载)');text(0.8,0.6,' Øf(满载)');text(0.85,0.9,'Ø=z')制动效率空载时前轴的制动效率E f1:E f1=bLβ−φf gL=1.85/3.95f空载时后轴的制动效率E r1:E r1=aL(1−β)−φr gL=2.1/3.95r满载时前轴的制动效率E f2:E f2=bLβ−φf gL=1.0/3.950.38−φf∙1.17/3.95满载时后轴的制动效率E r2:E r2=aL(1−β)−φr gL=2.95/3.95rMatlab程序:clearsyms x;Er1=2.1/3.95/(1-0.38+x*0.845/3.95); Ef2=1.0/3.95/(0.38-x*1.17/3.95);Er2=2.95/3.95/(1-0.38+x*1.17/3.95); ezplot(Ef2);hold on;ezplot(Er1);ezplot(Er2);axis([0 1.0 0 1.0]);title('前后轴制动效率曲线'); xlabel('附着系数'); ylabel('制动效率(%)'); text(0.35,0.9,'Ef'); text(0.8,0.9,'Er'); text(0.55,0.78,'Er'); text(0.65,0.94,'满载'); text(0.55,0.65,'空载');(2)①由图可得:空载时,在φ=0.8时的制动效率为0.7,则其制动减速度为0.8g*0.7=0.56g 。
[原创]实验3Matlab编程题
00
0
0
实验3 Matlab编程题
0000
1、用while循环求1~100间整数的和0000
2、编写y函数,0000
x (x<1)000
y= 2x-1 (1
计算出y(-3)、y(5)、y(∞)的值000
3、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用
price来表示): 000
price<200 没有折扣000
200≤price<500 3%折扣0000
500≤price<1000 5%折扣0000
1000≤price<2500 8%折扣0000
2500≤price<5000 10%折扣000
5000≤price 14%折扣0000
输入所售商品的价格,求其实际销售价格。0000
4、一个三位整数各位数字的立方和等于该数本身则称该数为水仙花
数。输出全部水仙花数。000
5、从键盘输入若干个数,当输入0时结束输入,求这些数的平均值
和它们之和。0000
6、创建内联函数
zx
xezxf
sin),(
,并计算x=0 pi/2 pi; z=3 8 11时
f的值。0000
7、如何建立正弦函数sin的函数句柄,并对其进行操作。体会使用
函数句柄比函数名的优越性。0000
8、建立
zx
xezxf
sin),(
的匿名函数,并对其进行操作。
0000
MATLAB编程作业
《Matlab编程训练》作业专业学生姓名班级学号指导教师完成日期实训一 MATLAB 语言介绍和数值计算1.先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存变量。
122sin 851z e =+.2. 已知 1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦,求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵) A+6*B:A-B+I:(2)A*B和A.*BA*B程序:A=[12 34 -4;34 7 87;3 65 7]B=[1 3 -1;2 0 3;3 -2 7]c=A*B结果:A.*B程序:A=[12 34 -4;34 7 87;3 65 7]B=[1 3 -1;2 0 3;3 -2 7]D=A.*B结果:(3)A^3和A.^3A^3程序:A=[12 34 -4;34 7 87;3 65 7]E=A^3结果:A.^3程序:A=[12 34 -4;34 7 87;3 65 7]C=A.^3(4)A/B及B\AA/B程序:A=[12 34 -4;34 7 87;3 65 7]B=[1 3 -1;2 0 3;3 -2 7]C=A/B结果:B\A程序:A=[12 34 -4;34 7 87;3 65 7]B=[1 3 -1;2 0 3;3 -2 7]D=B\A结果:(5)将矩阵C=B\A的右下角2*2子矩阵赋给D, 并(3)保存变量(mat文件)程序:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];C=B*inv(A);D=C(2:3,2:3)结果:3. 求得矩阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=34157864653434533145A 的每行最大元素所在的位置?(至少两种方法) 第一种:A=[5 14 33;45 43 3;65 4 6;78 15 34][RowMax Order]=max(A')结果:第二种:A=[5 14 33;45 43 3;65 4 6;78 15 34][Max_num,index]=max(A,[],2)结果:实训二 MATLAB 编程基础1. 求[25,1258]之间能被15整除的数的个数。
matlab编程经典例题
matlab编程经典例题
以下是一些经典的 MATLAB 编程例题:
1. 编写一个程序,计算一个数列的前 N 个斐波那契数(斐波那契数列是指前两个数为 1,后续每个数是前两个数之和)。
2. 编写一个程序,计算一个数的阶乘。
3. 编写一个程序,计算两个矩阵的乘积。
4. 编写一个程序,找到一个数组中的最大元素。
5. 编写一个程序,检查一个字符串是否是回文。
6. 编写一个程序,为给定的一组数据计算均值、中位数和标准差。
7. 编写一个程序,将一个字符串中的所有元音字母替换成大写字母。
8. 编写一个程序,计算一个数列的前 N 个素数(素数是指只能被 1 和自身整除的数)。
9. 编写一个程序,实现冒泡排序算法,对一个数组进行排序。
10. 编写一个程序,计算一个数的平方根。
以上是一些经典的 MATLAB 编程例题,你可以根据自己的实际需要选择其中的一个或几个进行练习和编程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 试采用冒泡法对随机生成的25个数按从大到小进行排列,写出m文件。
clear
a = rand(1,25);n=length(a);
i=1;j=1;
for j=1:n
for i=2:n
if a(i-1)b=a(i);
a(i)=a(i-1);
a(i-1)=b;
end
end
n=n-1;
end
a
2. 试采用搜索法编写程序求出2014以内的质数和。
clear
sum=2; %求和函数赋值
a=0; %用来标记是否为质数,0为不是
b=[2]; %b矩阵用来存放质数
for i=3:2014
for j=2:fix(i/2)
if mod(i,j)==0
a=0;
break;
else
a=1;
end
end
if a==1
b=[b,i];
sum=sum+i;
end
end
sum
3. 将表达式(x-4)(x+5)(x^2-6x+9)展开为多项式,并求其对应一元多次方程的
根。写出程序和结果。
p=conv([1 -4],conv([1 5],[1 -6 9])) ;
px=poly2str(p,'x');
x=roots(p);
x
4. 在0≤x≤2区间内,绘制曲线y1=2e-0.5x和y2=cos(4πx),并给图形添加图
形标注。
>> x=0:pi/100:2*pi;
y1=2*exp(-0.5*x);
y2=cos(4*pi*x);
plot(x,y1,x,y2)
title('x from 0 to 2{\pi}'); %加图形标题
xlabel('Variable X'); %加X轴说明
ylabel('Variable Y'); %加Y轴说明
text(1,1.5,'曲线y1=2e^{-0.5x}'); %在指定位置添加图形说明
text(2.5,1.2,'曲线y2=cos(4{\pi}x)');
legend('y1',' y2') %加图例
5. 分别以柱状图、阶梯图、实心图形式绘制曲线y=2sin(x)。
>> clear
x=0:pi/10:2*pi;
y=2*sin(x);
subplot(3,1,1);bar(x,y,'m'); %图形窗口的分割
title('bar(x,y,''m'')'); %标题
axis([0,2*pi,-2,2]); %设置坐标轴的最大最小值
subplot(3,1,2);stairs(x,y,'r');
title('stairs(x,y,''r'')');
axis([0,2*pi,-2,2]);
subplot(3,1,3);fill(x,y,'c');
title('fill(x,y,''c'')');
axis([0,2*pi,-2,2]);
6
已知函数:
3
11x<0()10x<11x<2xfxx
,计算(0.5)f,(0.5)f,(1.5)f,并画出函数
的曲线图,试编写出m文件程序。
clear
fun=@(x)(x+1).*(x>=-1&x<0)+(1).*(x>=0&x<1)+(x^3).*(x>=1&x<2);
fplot(fun,[-1,2]);
x=-0.5;
y1=fun(x)
x=0.5;
y2=fun(x)
x=1.5;
y3=fun(x)
title('x from -1 to 2'); %加图形标题
xlabel('Variable X'); %加X轴说明
ylabel('Variable Y'); %加Y轴说明
text(-0.8,1.2,'曲线y1=x+1'); %在指定位置添加图形说明
text(0,1.8,'曲线y2=1');
text(1,4,'曲线y3=x^3');