matlab上机作业
MATLAB上机答案
![MATLAB上机答案](https://img.taocdn.com/s3/m/af97324f376baf1ffc4fadd6.png)
X
1
2
3
4
5
6
7
8
9
10
Y
16
32
70
142 260 436 682 1010 1432 1960
>> x=1:10;y=[16 32 70 142 260 436 682 1010 1432 1960];
>> p1=polyfit(x,y,1)
>>
p1 =
p2=polyfit(x,y,2),y2=polyval(p2,9.5)
0.01
0.005
0
-0.005
-0.01
-0.015
0
1
2
3
4
5
6
7
(3)大气压强 p 随高度 x 变化的理论公式为
,为验证这一公式,
测得某地大气压强随高度变化的一组数据如表所示。试用插值法和拟合法进行计算并绘图,
看那种方法较为合理,且总误差最小。
高度/m
0
300
600
1000
1500
2000
压强/Pa
equally spaced points between X1 and X2. 以 X1 为首元素,X2 为末元素平均生成 100 个元素的行向量。
LINSPACE(X1, X2, N) generates N points between X1 and X2. For N < 2, LINSPACE returns X2.
ans =
pi =
ans =
5
0
3.1416
答:3 次执行的结果不一样。exist()函数是返回变量搜索顺序的一个函数。在第一次
数值分析上机作业(MATLAB)
![数值分析上机作业(MATLAB)](https://img.taocdn.com/s3/m/b59546553c1ec5da50e270a7.png)
将系数矩阵 A 分解为:A=L+U+D
Ax=b
⇔ (D + L +U)x = b ⇔ Dx = −(L + U )x + b ⇔ x = −D −1(L + U )x + D −1b x(k +1) = −D −1 (L + U ) x(k ) + D −1b
输入 A,b 和初始向量 x
迭代矩阵 BJ , BG
否
ρ(B) < 1?
按雅各比方法进行迭代
否
|| x (k+1) − x(k) ||< ε ?
按高斯-塞德尔法进行迭代
否
|| x(k+1) − x (k ) ||< ε ?
输出迭代结果
图 1 雅各布和高斯-赛德尔算法程序流程图
1.2 问题求解
按图 1 所示的程序流程,用 MATLAB 编写程序代码,具体见附录 1。解上述三个问题 如下
16
-0.72723528355328
0.80813484897616
0.25249261987171
17
-0.72729617968010
0.80805513082418
0.25253982509100
18
-0.72726173942623
0.80809395746552
0.25251408253388
0.80756312717373
8
-0.72715363032573
0.80789064377799
9
-0.72718652854079
MATLAB上机内容及作业
![MATLAB上机内容及作业](https://img.taocdn.com/s3/m/bb98361ceffdc8d376eeaeaad1f34693daef10b7.png)
MATLAB上机内容及作业无约束优化求解函数fminsearch和fminunc求解无约束非线性优化问题的函数有fminsearch 函数、fminunc 函数。
函数fminsearch和fminunc功能相同,但fminunc函数可以得到目标函数在最优解处的梯度和Hessian矩阵值。
无约束优化数学模型为:min f(X) X∈R n求解无约束非线性优化问题的步骤为:第一步:先编写目标函数的M文件;第二步:再在命令窗口中调用相应的优化函数。
1、fminsearch函数调用格式为[x, fval]=fminsearch(@myfun, x0)输出参数的含义:x:返回最优解的设计变量的值;fval:在最优设计变量值时,目标函数的最小值;exitflag:返回算法终止的标志,有以下几种情况,>0 表示算法收敛于最优解处;=0 表示算法已经达到迭代的最大次数;<0 表示算法不收敛。
output:返回优化算法信息的一个数据结构,有以下信息:output.iteration 表示迭代次数output.algorithm 表示所采用的算法output.funcCount 表示函数评价次数输入参数的含义:@myfun:目标函数的M文件,在其前要加“@”,或表示为'myfun' ,myfun自己可以任意命名;x0:在调用该优化函数时,需要先对设计变量赋一个初始值;2、fminunc函数的调用格式[x, fval]=fminunc (@myfun, x0)grad:返回目标函数在最优解处的梯度信息;hessian:返回目标函数在最优解处的hessian矩阵信息。
其余含义同上。
3、实例已知某一优化问题的数学模型为:min f(X)=3x12+2x1x2+x22X∈R n用MA TLAB程序编写的代码为:第一步:首先编写目标函数的.m文件,并保存为examplefsearch.m文件(先单击file菜单,后点击New 命令中的M—file,即可打开M文件编辑窗口进行代码的编辑,在英文状态下输入程序代码),代码为:function f=examplefsearch(x)f=3*x(1)^ 2+2*x(1)*x(2)+x(2)^2;第二步:在Command窗口中调用fminsearch函数,代码为:x0=[1;1]; %赋初值[x,fval]=fminsearch(@examplefsearch,x0) %回车即可调用fminsearch函数,得到结果输出最优解结果为:x=1.0e-0.08* -0.7914 0.2260 %分别为x1和x2的最优点的值(近似为0)fval=1.5722e-016 %对应最优点的最优目标函数值(近似为0)4、作业已知几个优化问题的数学模型分别为:(1)min f(X)=0.1935x1 x22 x32(4+6x4) X∈R4(2)min f(X)= (x13+cos x2+log x3)/ e x1 X∈R3(3)min f(X)=2x13+4x1x23 -10x1x2+x33X∈R3试用MATLAB编程分别求解上述优化问题的最优解。
MATLAB期末上机试题带答案
![MATLAB期末上机试题带答案](https://img.taocdn.com/s3/m/e5a1f8d9376baf1ffd4fad4b.png)
MATLAB 期末上机考试试题带答案版姓名: 学号: 成绩:1.请实现下图:xyy=sin(x)x=linspace(0,8*pi,250); y=sin(x); plot(x,y) area(y,-1) xlabel('x') ylabel('y') title('y=sin(x)') 2.请实现下图:x=linspace(0,2*pi,100); y1=sin(x);subplot(2,2,1)plot(x,y1,'k--')grid onxlabel('x')ylabel('y')title('sin(x)')legend('y=sin(x)')y2=cos(x);subplot(2,2,2)plot(x,y2,'r--')grid onxlabel('x')ylabel('y')title('cos(x)')legend('y=cos(x)')y3=tan(x);subplot(2,2,3)plot(x,y3,'k-')grid onxlabel('x')ylabel('y')title('tan(x)')legend('y=tan(x)')y4=cot(x);subplot(2,2,4)plot(x,y4)grid onxlabel('x')ylabel('y')title('cot(x)')legend('y=cot(x)')3.解方程组:a=[3 2 1;1 -1 3;2 4 -4];b=[7;6;-2] ;x=a\b4.请实现下图:yxx=linspace(0,4*pi,1000);y1=sin(x);y2=sin(2*x);plot(x,y1,'--',x,y2,'b*')grid onxlabel('x');ylabel('y');title('耿蒙蒙')legend('sin(x)','sin(2*x)')5.请在x,y在(-2,2)内的z=xexp (-x2-y2) 绘制网格图[x,y]=meshgrid(-2:0.1:2);z=x.*exp (-x.^2-y.^2);mesh(x,y,z)6.请实现peaks函数:-55xPeaksy[x,y]=meshgrid(-3:1/8:3); z=peaks(x,y); mesh(x,y,z) surf(x,y,z) shading flataxis([-3 3 -3 3 -8 8])xlabel('x');ylabel('y');title('Peaks')7.请在x=[0,2],y=[-0.5*pi,7.5*pi],绘制光栅的振幅为0.4的三维正弦光栅。
数值分析作业-matlab上机作业
![数值分析作业-matlab上机作业](https://img.taocdn.com/s3/m/13860268a45177232f60a2ab.png)
数值分析———Matlab上机作业学院:班级:老师:姓名:学号:第二章解线性方程组的直接解法第14题【解】1、编写一个追赶法的函数输入a,b,c,d输出结果x,均为数组形式function x=Zhuiganfa(a,b,c,d)%首先说明:追赶法是适用于三对角矩阵的线性方程组求解的方法,并不适用于其他类型矩阵。
%定义三对角矩阵A的各组成单元。
方程为Ax=d%b为A的对角线元素(1~n),a为-1对角线元素(2~n),c为+1对角线元素(1~n-1)。
% A=[2 -1 0 0% -1 3 -2 0% 0 -2 4 -3% 0 0 -3 5]% a=[-1 -2 -3];c=[-1 -2 -3];b=[2 3 4 5];d=[6 1 -2 1];n=length(b);u(1)=b(1);y(1)=d(1);for i=2:nl(i)=a(i-1)/u(i-1);%先求l(i)u(i)=b(i)-c(i-1)*l(i);%再求u(i)%A=LU,Ax=LUx=d,y=Ux,%Ly=d,由于L是下三角矩阵,对角线均为1,所以可求y(i)y(i)=d(i)-l(i)*y(i-1);endx(n)=y(n)/u(n);for i=(n-1):-1:1%Ux=y,由于U是上三角矩阵,所以可求x(i)x(i)=(y(i)-c(i)*x(i+1))/u(i);end2、输入已知参数>>a=[2 2 2 2 2 2 2];>>b=[2 5 5 5 5 5 5 5];>>c=[2 2 2 2 2 2 2];>>d=[220/27 0 0 0 0 0 0 0];3、按定义格式调用函数>>x=zhuiganfa(a,b,c,d)4、输出结果x=[8.147775166909105 -4.073701092835030 2.036477565178471 -1.017492820111148 0.507254485099400 -0.250643392637350 0.119353996493976 -0.047741598597591]第15题【解】1、编写一个程序生成题目条件生成线性方程组A x=b 的系数矩阵A 和右端项量b ,分别定义矩阵A 、B 、a 、b 分别表示系数矩阵,其中1(10.1;,1,2,...,)j ij i i a x x i i j n -==+=或1(,1,2,...,)1ij a i j n i j ==+-分别构成A 、B 对应右端项量分别a 、b 。
matlab上机练习(附答案)
![matlab上机练习(附答案)](https://img.taocdn.com/s3/m/229985d8a0c7aa00b52acfc789eb172ded6399af.png)
1.以下两种说法对吗?(1)MATLAB进行数值的表达精度与其指令窗中的数据显示精度相同。
(2)MATLAB指令窗中显示的数据有效位数不超过七位。
2.历史指令窗所记录的内容与diary指令所产生的“日志”内容有什么不同?DIARY filename causes a copy of all subsequent command window inputand most of the resulting command window output to be appended to thenamed file. If no file is specified, the file 'diary' is used.DIARY OFF suspends it.DIARY ON turns it back on.DIARY, by itself, toggles the diary state.Use the functional form of DIARY, such as DIARY('file'),when the file name is stored in a string.3.如何把用户自己的“工作目录”永久地设置在MATLAB的搜索路径上?“位于搜索路径上的目录”与“当前目录”在MATLAB中的功用相同吗?4.如何向MATLAB工作空间输入一个含有100个左右元素的一维或二维数值数组?用直接键入法?用数组编辑器?用M文件编辑器?5.运用数组算术运算符去掉下面程序里的for/end循环:x=11:15for k=1:length(x)z(k)=x(k)^2+2.3*x(k)^0.5;endx=11:15 z1=x.^2+2.3*x.^0.56.不使用数组算术运算符,重写下面的程序代码:x=[2 1 4]z=1./(1+x.^2)x=2;k=1;while i<=4,z2(k)=1/(1+i^2);i=i+1;x=x+1;end7.某公司销售电脑打印机的价格方案如下:()如果顾客只买一台打印机,则一台的基本价格为$150。
Matlab基础及应用第一章上机作业
![Matlab基础及应用第一章上机作业](https://img.taocdn.com/s3/m/f92bb9b9690203d8ce2f0066f5335a8102d266ad.png)
1、新建一个文件夹(自己的名字命名)
答:
2、启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
保存,关闭对话框。
使用path命令查看MATLAB搜索路径。
3、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye。
4、使用clc、clear,观察command window、command history和workspace等窗口的变化结果。
5、编写一段简短的脚本文件,保存并显示运行结果。
6、创建两个double型变量a=32、b=5,并计算a+b、a-b、a*b、a/b、a\b;
创建两个int8型变量a、b,取同样数值,并计算a+b、a-b、a*b、a/b、a\b,对于计算结果与前次计算结果不同的情形请给出解释。
7、查看int16数据类型的取值范围(intmin,intmax);查看单精度数据类型的取值范围和精度(realmin,realmax,eps)。
8、求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量:
(1)sin(60o) (2) e3 (3) cos(3/4π)
9、用两种定义复数的方法计算(直接定义,complex(a,b))
(1)(3-5i)(4+2i) (2) sin(2-8i)。
matlab上机习题答案
![matlab上机习题答案](https://img.taocdn.com/s3/m/3803a32549d7c1c708a1284ac850ad02de8007fb.png)
matlab上机习题答案Matlab上机习题答案在现代科学和工程领域中,计算机编程和数值计算已经成为必不可少的技能。
而Matlab作为一种强大的数值计算软件,被广泛应用于各种领域。
为了帮助学习者更好地掌握Matlab的基本操作和数值计算方法,老师们经常会布置一些上机习题,让学生通过实际操作来加深对Matlab的理解。
下面我们来看一些常见的Matlab上机习题答案:1. 编写一个Matlab程序,计算并输出1到100之间所有奇数的和。
答案:```matlabsum = 0;for i = 1:2:100sum = sum + i;enddisp(sum);```2. 编写一个Matlab程序,计算并输出斐波那契数列的前20个数字。
答案:```matlabfib = zeros(1,20);fib(1) = 1;fib(2) = 1;for i = 3:20fib(i) = fib(i-1) + fib(i-2);enddisp(fib);```3. 编写一个Matlab程序,求解一元二次方程ax^2 + bx + c = 0的根。
答案:```matlaba = 1;b = -3;c = 2;delta = b^2 - 4*a*c;if delta < 0disp('无实根');elseif delta == 0x = -b / (2*a);disp(x);elsex1 = (-b + sqrt(delta)) / (2*a);x2 = (-b - sqrt(delta)) / (2*a);disp(x1);disp(x2);end```通过以上几个例子,我们可以看到,Matlab的语法简洁明了,功能强大。
通过编写程序来解决实际问题,不仅加深了对Matlab的理解,也提高了计算机编程和数值计算的能力。
希望大家在学习Matlab的过程中能够多多练习,不断提高自己的编程水平。
(完整版)matlab上机练习题答案
![(完整版)matlab上机练习题答案](https://img.taocdn.com/s3/m/ebfecea93b3567ec112d8aac.png)
(完整版)matlab 上机练习题答案1.计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积>〉 a=[6 9 3;2 7 5]; 〉〉 b=[2 4 1;4 6 8]; 〉〉 a 。
*b ans =12 36 3 8 42 402。
对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
〉〉 A=[4 9 2;7 6 4;3 5 7]; 〉> B=[37 26 28]’; >〉 X=A\B X = -0.5118 4.0427 1.33183。
⎥⎦⎤⎢⎣⎡-=463521a ,⎥⎦⎤⎢⎣⎡-=263478b ,观察a 与b 之间的六种关系运算的结果 >〉 a=[1 2 3;4 5 6]; 〉> b=[8 –7 4;3 6 2]; >〉 a 〉b ans =0 1 0 1 0 1 〉> a 〉=b ans =0 1 0 1 0 1 >> a 〈b ans =1 0 1 0 1 0 〉> a<=b ans =1 0 1 0 1 0 >〉 a==b ans =0 0 0 0 0 0 〉〉 a~=b ans =1 1 1 1 1 14计算多项式乘法(x 2+2x +2)(x 2+5x +4)>> c=conv ([1 2 2],[1 5 4]) c =1 7 16 18 8 5计算多项式除法(3x 3+13x 2+6x +8)/(x +4) 〉〉 d=deconv ([3 13 6 8],[1 4]) d =3 1 26求欠定方程组⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡5865394742x 的最小范数解〉〉 a=[2 4 7 4;9 3 5 6]; 〉> b=[8 5]’; 〉> x=pinv (a )*b x =—0.2151 0.4459 0。
MATLAB上机练习及作业
![MATLAB上机练习及作业](https://img.taocdn.com/s3/m/7000a4cdaff8941ea76e58fafab069dc5022476b.png)
MATLAB上机练习及作业第一章1. 熟悉MATLAB环境,练习第一章的命令;2. 练习显示格式(P13)1利用Help命令,搞清楚MATLAB的所有主题,利用help signal和help control 搞清楚这两个工具箱2练习whos,who,disp,clear,which,ver等命令第二章3练习矩阵操作,书上P34~404练习逻辑和关系运算,书上P40~435练习随机数产生,书上P506练习时间和日期函数,P56~577矩阵操作diag,reshape,rot90,fliplr,flipud,tril,triu等8练习MATLAB基本函数P669上交:第二章习题中的No.3, No.6第3章1. 练习产生图3.1~3.5, 3.9~3.12, 3.14, 3.18,3.21,3.22, 3.24~3.312. 第3章习题: (P122) 2, 5--93. 交程序:5;74. 并练习图形旋转、标注、复制等功能5. 交结果:与习题7类似,只是画出你自己上个月的消费饼图第4章1. 上机前好好复习这章内容,练习P137页的两段程序,并将终值扩大到500,体会两者的速度差异。
2. 熟悉MATLAB的调试技术。
3. 第4章习题: (P158)4. 1,3,5,8,95. 交结果:3;5,8(分别求出当I=54,I=105时的结果);9第5章习题(p.222)1, 2, 3, 7, 8, 9, 13, 15, 16, 20交结果: 1, 2, 8, 9, 13, 16第6章P.251 看懂综合设计示例, 设计程序计算每个班的平均成绩, 计算教师的实际学时数。
(交结果)P.269 2, 3第7章1. 在[-1,1]区间上绘制出y=-2x^2+4的曲线, 并在图中标注出最大值点的坐标.2. 任意给定一句英文句子, 请提取其每个单词, 并设计一结构, 其域有Name、No、Length、Value,分别用于存储每个单词的名称、句中序号、单词长度、单词各个字符的ASCII 码。
Matlab上机题及答案
![Matlab上机题及答案](https://img.taocdn.com/s3/m/9774b068a36925c52cc58bd63186bceb19e8edb0.png)
1 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。
输出全部水仙花数。
for m=100:999m1=fix(m/100); %求m的百位数字m2=rem(fix(m/10),10); %求m的十位数字m3=rem(m,10); %求m的个位数字if m==m1*m1*m1+m2*m2*m2+m3*m3*m3disp(m)endend2.从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。
sum=0;n=0;val=input('Enter a number (end in 0):');while (val~=0)sum=sum+val;n=n+1;val=input('Enter a number (end in 0):');endif (n > 0)summean=sum/nend3. 若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。
求[1,500]之间的全部完数。
for m=1:500s=0;for k=1:m/2if rem(m,k)==0s=s+k;endendif m==sdisp(m);endend4. 从键盘上输入数字星期,在屏幕上显示对应英文星期的单词。
function weekn=input('input the number:');if isempty(n)errror('please input !!')endif n>7|n<1error('n between 1 and 7')endswitch ncase 1disp('Monday')case 2disp('Tuesday')case 3disp('Wednesday')case 4disp('Thursday')case 5disp('Friday')case 6disp('Saturday')case 7disp('Sunday')end5. 某公司销售电脑打印机的价格方案如下:()如果顾客只买一台打印机,则一台的基本价格为$150。
Matlab上机练习题及答案
![Matlab上机练习题及答案](https://img.taocdn.com/s3/m/82e6e5704b73f242336c5ff1.png)
Matlab 上机练习题及答案---------------------------------------------------------------------1、 矩阵Y= ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡3472123100451150425,给出元素1的全下标和单下标,并用函数练习全下标和单下标的转换,求出元素100的存储位置。
取出子矩阵⎥⎦⎤⎢⎣⎡21301,并求该矩阵的维数。
解:命令为:Y=[5,2,4;0,15,1;45,100,23;21,47,3] Y(2,3) Y(10)sub2ind([4 3],2,3)[i,j]=ind2sub([4 3],10)find(Y==100) sub2ind([4 3],3,2)B=Y(2:2:4,3:-2:1) 或 B=Y([2 4],[3 1]) [m n]=size(Y)---------------------------------------------------------------------2、已知矩阵A=[1 0 -1 ;2 4 1; -2 0 5],B=[0 -1 0;2 1 3;1 1 2] 求2A+B 、A 2-3B 、A*B 、B*A 、A .*B ,A/B 、A\B解:命令为:A=[1 0 -1 ;2 4 1; -2 0 5] B=[0 -1 0;2 1 3;1 1 2] E=2*A+B F=A^2-3*B G=A*B H=B*A I=A.*B J=A/B K=A\B---------------------------------------------------------------------3、利用函数产生3*4阶单位矩阵和全部元素都为8的4*4阶矩阵,并计算两者的乘积。
解:命令为: A=eye(3,4) B=8*ones(4)C=A*B---------------------------------------------------------------------4、创建矩阵a=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡------7023021.5003.120498601,取出其前两列构成的矩阵b ,取出前两行构成矩阵c ,转置矩阵b 构成矩阵d ,计算a*b 、c<d ,c&d, c|d ,~c|~d解:命令为:a=[-1,0,-6,8;-9,4,0,;0,0,,-2;0,-23,0,-7] b=a(:,[1 2]) c=a([1 2],:) d=b ’ e=a*b f=c<d g=c&d h=c|d i=~c|~d---------------------------------------------------------------------5、求!201∑=n n解:命令文件为 sum=0; s=1;for n=1:20 s=n*s; sum=sum+s; end sum---------------------------------------------------------------------6、求a aa aaa aa a S n ++++=得值,其中a 是一个数字,由键盘输入,表达式中位数最多项a 的个数,也由键盘输入。
Matlab上机作业部分参考答案
![Matlab上机作业部分参考答案](https://img.taocdn.com/s3/m/7b41ce452b160b4e767fcf22.png)
3. 设A为 数组,B为一个行数大于3的数组,请给出 (1)删除A的第4、8、12三列的命令; (2)删除B的倒数第3行的命令; (3)求符号极限 (4)求 的3阶导数
lim tan( mx ) 的命令集; x 0 nx x3 y arctan ln(1 e 2 x ) 的命令集; x2
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8
0
2
4
6
8
10
12
14
某校60名学生的一次考试成绩如下: 93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96 81 79 97 78 75 67 69 68 84 83 81 75 66 85 70 94 84 83 82 80 78 74 73 76 70 86 76 90 89 71 66 86 73 80 94 79 78 77 63 53 55 1)计算均值、标准差、极差、偏度、峰度,画出直方图; 2)检验分布的正态性; 3)若检验符合正态分布,估计正态分布的参数并检验参数。 解答: x=[93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96 81 79 97 78 75 67 69 68 84 83 81 75 66 85 70 94 84 83 82 80 78 74 73 76 70 86 76 90 89 71 66 86 73 80 94 79 78 77 63 53 55]; mean(x) std(x) range(x) skewness(x) kurtosis(x) hist(x) h=normplot(x) [muhat,sigmahat,muci,sigmaci]=normfit(x) [H,sig,ci]=ttest(x,80.1)
Matlab上机题库及详细答案
![Matlab上机题库及详细答案](https://img.taocdn.com/s3/m/4a5dc0d91eb91a37f1115cd0.png)
case num2cell(25:49) %价格大于等于2500但小于5000
Байду номын сангаасrate=10/100;
otherwise %价格大于等于5000
rate=14/100;
end
price=price*(1-rate) %输出商品实际销售价格
例19已知,当n=100时,求的值。
解:程序如下:
y=0;n=100;for i=1:n;y=y+1/(2*i-1);End
例20:一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数
解:for m=100:999
m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);
if m==m1*m1*m1+m2*m2*m2+m3*m3*m3;disp(m);end
D=diag(1:5);D*A %用D左乘A,对A的每行乘以一个指定常数
例15:输入x,y的值,并将它们的值互换后输出。
程序如下:
x=input('Input x please.');y=input('Input y please.');z=x;x=y;y=z;
disp(x);disp(y);
例16::求一元二次方程ax2 +bx+c=0的根。
switch fix(price/100)
case {0,1} %价格小于200
rate=0;
case {2,3,4} %价格大于等于200但小于500
rate=3/100;
case num2cell(5:9) %价格大于等于500但小于1000
Matlab上机作业部分参考答案
![Matlab上机作业部分参考答案](https://img.taocdn.com/s3/m/c36bba6d27d3240c8447ef22.png)
上机练习二 参考答案
1. 产生一个1x10的随机矩阵,大小位于(-5 5),并 且按照从大到小的顺序排列好! 【求解】 a=10*rand(1,10)-5; b=sort(a,'descend')
上机练习二 参考答案
2、用MATLAB 语句输入矩阵A 和B
前面给出的是4 ×4 矩阵,如果给出A(5,6) = 5 命令,矩阵A将得出什么 结果?
Matlab 上机课作业
吴梅红 2012.10.15
上机练习一
上机练习一 参考答案
上机练习一 参考答案
上机练习一 参考答案
上机练习二
1. 产生一个1x10的随机矩阵,大小位于(-5 5),并且按 照从大到小的顺序排列好! 2、用MATLAB 语句输入矩阵A 和B
前面给出的是4 ×4 矩阵,如果给出A(5,6) = 5 命令,矩阵 A将得出什么结果? 3、假设已知矩阵A ,试给出相应的MATLAB 命令,将其全 部偶数行提取出来,赋给B 矩阵,用A =magic(8) 命令生成A 矩阵,用上述的命令检验一下结果是不是正确。
【求解】用课程介绍的方法可以直接输入这两个矩阵 >> A=[1 2 3 4; 4 3 2 1; 2 3 4 1; 3 2 4 1] A= 1234 4321 2341 3241 若给出A(5,6)=5 命令,虽然这时的行和列数均大于A矩阵当前的维数, 但仍然可以执行该语句,得出 >> A(5,6)=5 A= 123400 432100 234100 324100 000005 复数矩阵也可以用直观的语句输入 3+2i 4+1i; 4+1i 3+2i 2+3i 1+4i; 2+3i 3+2i 4+1i 1+4i; 3+2i 2+3i 4+1i 1+4i]; B= 1.0000 + 4.0000i 2.0000 + 3.0000i 3.0000 + 2.0000i 4.0000 + 1.0000i 4.0000 + 1.0000i 3.0000 + 2.0000i 2.0000 + 3.0000i 1.0000 + 4.0000i 2.0000 + 3.0000i 3.0000 + 2.0000i 4.0000 + 1.0000i 1.0000 + 4.0000i 3.0000 + 2.0000i 2.0000 + 3.0000i 4.0000 + 1.0000i 1.0000 + 4.0000i
完整word版MATLAB上机作业
![完整word版MATLAB上机作业](https://img.taocdn.com/s3/m/e4764a5e84868762caaed5e3.png)
MATLAB 上机作业1对以下问题编写M文件:(1)用起泡法对10个数由小到大排序。
即将相邻两个数比较,将小的调到前头。
fun cti on f=qip aofa(x)for j=9:-1:1for i=1:jif(x(i)>x(i+1))t=x(i);x(i)=x(i+1);x(i+1)=t;end end end f=xx=rou nd(10*ra nd(1,10))qip aofa(x);(2)有一个4X 5矩阵,编程求出其最大值及其所处的位置。
fun cti on f=zuidazhi(x)a=1;b=1;c=x(1,1);for i=1:4for j=1:5 if x(i,j)>c a=i;b=j;c=x(i,j);endend end f=[c,a,b] x=ra nd(4,5) zuidazhi(x)20(3)编程求送n! ond:fun cti on f=qiuhe(x) b=0;for i=1:xa=p rod(1:i); b=b+a;end f=bqiuhe(20)(4)一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。
求它在第10次落地时,共经过多少米?第10次反弹有多高?fun cti on f=gao(x)b=x;for i=2:10x=x/2;a=x*2; b=b+a;end f=[b x/2]gao(100)⑸有一函数f(x,y)=x2 +sin xy+2y,写一程序,输入自变量的值,输出函数值。
Function f=fun(x)f=x(1)A2+si n(x(1)*x(2))+2*x (2)MATLAB 上机作业21. 求和 Y =1 +4+42+440。
syms k s=4^k;S=symsum(s,k,0,40) 2. 求函数f (X )=2x ' -6x 2-18x + 7的极值,并作图。
y='2*x^3-6*x^2-18*x+7'; y_='-2*xA3+6*xA2+18*x-7';[x_mi n, y_mi n]=fmi nbn d(y,-7,7) [x_max,y_max]=fmi nbn d(y_,-7,7) ezpl ot(y) 3. 设 y =e x sinx-7cosx+5x 2,求 业=?,3^ = dx dxy=ex p(x)*si n(x)-7*cos(x)+5*xA2; dy=diff(y)d2y=diff(y,2) 兀/2 ■ ------------4.求积分 h =J 0 J1-2si n2xdx 。
Matlab上机题代码及结果4题
![Matlab上机题代码及结果4题](https://img.taocdn.com/s3/m/fe2288dbd5bbfd0a795673f9.png)
例1下图描述了六个城市之间的航空航线图,其中1、2、......、6表示六个城市,带箭头线段表示两个城市之间的航线。
用MATLAB软件完成以下操作:(1)构造该图的邻接矩阵A;(2)若某人连续乘坐五次航班,那么他从哪一个城市出发到达哪一个城市的方法最多?(3)若某人可以乘坐一次、二次、三次或四次航班,那么他从哪一个城市出发总是不能达到哪一个城市?航空航线图(六城市)解:(1)构造邻接矩阵;(2)计算矩阵可达矩阵,找出该矩阵的最大元素,并确定它所在的位置;(3)计算可达矩阵,找出该矩阵中零元素的位置。
在MATLAB软件的M编辑器中编写m文件:% 图与矩阵clearA=[0,1,0,0,0,1;0,0,1,1,0,0;0,0,0,1,1,0;0,1,0,0,0,0;1,0,1,0,0,0;0,1,0,0,1,0]; % 构造邻接矩阵B=A^5;C=A+A^2+A^3+A^4;disp('邻接矩阵A为:');disp(A);disp('矩阵A^5为:');disp(B);m=max(max(B)); % 计算矩阵B的最大值[m_i,m_j]=find(B==m); % 寻找矩阵B中元素等于m的位置fprintf('矩阵A^5最大值%d的位置在:\n',m);disp([m_i,m_j]);disp('矩阵A+A^2+A^3+A^4为:');disp(C);[z_i,z_j]=find(C==0); % 寻找矩阵C中零元素的位置disp('矩阵A+A^2+A^3+A^4零元素的位置在:');disp([z_i,z_j]);在MATLAB命令窗口中输入m文件名称,计算结果为:邻接矩阵A为:0 1 0 0 0 10 0 1 1 0 00 0 0 1 1 00 1 0 0 0 01 0 1 0 0 00 1 0 0 1 0矩阵A^5为:2 5 5 53 12 4 43 2 02 3 5 5 2 10 2 1 3 2 12 6 4 5 4 11 4 4 7 4 2矩阵A^5最大值7的位置在:6 4矩阵A+A^2+A^3+A^4为:2 6 5 6 4 21 4 4 6 3 12 5 4 5 4 11 3 3 3 1 03 5 6 64 23 6 6 54 1矩阵A+A^2+A^3+A^4零元素的位置在:4 6从计算结果中可以看出,矩阵A^5最大值出现在矩阵的第六行第四列,说明:这个人如果从城市6出发连续乘坐五次航班后到达城市4,他可以选择的乘机路线最多,共有7种不同的方法。
《MATLAB及其应用》上机作业.doc(修订于2009.11.19)
![《MATLAB及其应用》上机作业.doc(修订于2009.11.19)](https://img.taocdn.com/s3/m/71f85f8da0116c175f0e4826.png)
《MATLAB及其应用》上机作业学院名称:(四号宋体)专业班级:(四号宋体)学生姓名:(四号宋体)学生学号:(四号宋体)年月作业11.用MATLAB 可以识别的格式输入下面两个矩阵12342357135732391894A ⎛⎫⎪ ⎪ ⎪= ⎪ ⎪ ⎪⎝⎭,144367723355422675342189543i i B i +⎛⎫ ⎪+⎪= ⎪+ ⎪⎪⎝⎭再求出它们的乘积矩阵C ,并将C 矩阵的右下角23⨯子矩阵赋给D 矩阵。
赋值完成后,调用相应的命令查看MATLAB 工作空间的占有情况。
2.设矩阵16231351110897612414152⎛⎫⎪⎪ ⎪ ⎪⎝⎭,求A ,1A -,3A ,12A A -+,1'3A A --,并求矩阵A 的特征值和特征向量。
3.解下列矩阵方程:010100143100001201001010120X -⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪=- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭4.一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。
求它在第10次落地时,共经过多少米?第10次反弹有多高?5.用MATLAB 语言实现下面的分段函数5,1(),25,y f x x ⎧⎪⎪==⎨⎪-⎪⎩101010x x x >≤<-6.分别用for 和while 循环编写程序,求出6323626312122222i i K ===++++++∑并考虑一种避免循环的简洁方法来进行求和,并比较各种算法的运行时间。
7.应用MA TLAB 语言及二分法编写求解一元方程32()1459700f x x x x =-+-=在区间[3,6]的实数解的算法,要求绝对误差不超过0.001。
8.二阶系统的单位阶跃响应为1cos )t y a ζζ-=+,在同一平面绘制ζ分别为0,0.3,0.5,0.707的单位阶跃响应曲线。
要求:(1)四条曲线的颜色分别为蓝、绿、红、黄,线型分别为“——”、“……”、“oooooo”、“++++++”; (2)添加横坐标轴和纵坐标轴名分别为“时间t”和“响应y”,并在平面图上添加标题“二阶系统曲线”和网格;(3)在右上角添加图例(即用对应的字符串区分图形上的线),并分别在对应的响应曲线的第一个峰值处标示“zeta =0”、“zeta =0.3”、“zeta =0.5”、“zeta =0.707”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一次 上机作业
1.写出完成下列操作的命令:
1) 将矩阵A 的第2~5行中的第1,3,5列元素赋给矩阵B
B=A(:,1:3:5)
2) 删除矩阵A 的第7号元素
A(7)=[]
3) 将矩阵A 的每个元素值加30
A=A+30
4) 求矩阵A 的大小和维数
Whos size(A)
5) 将含有12个元素的向量x 转换成3×4矩阵
Y=reshape(x,3,4)
2.下列命令执行后,L1、L2、L3、L4的值分别是多少?
A=1:9; B=10-A;
L1=A= =B;
L2=A< =5;
L3=A>3&A<7;
L4=find(A>3&A<7);
L1= 0 0 0 0 1 0 0
L2=1 1 1 1 1 0 0
L3=0 0 0 1 1 1 0
L4=4 5 6
3.已知:
A=⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡---14.35454.9632053256545410778.01023
完成下列操作:
(1)取出A的前3行构成矩阵B,前两列构成矩阵C,右下角3×2子矩阵构成矩
阵D,B与C的乘积构成矩阵E
B=A(1:3,:) C=A(:,1:2) D=A(2:4,3:4) E=B*C
(2)分别求E<D、E&D、E|D、~E|~D和find(A>=10&A<25)。
1.E<D
0 1
0 0
0 1
2.E&D
1 1
0 1
1 1
3.E|D
1 1
1 1
1 1
4.~E|~D
0 0
1 0
0 0
5.find(A>=10&A<25)
1
5
4.用结构体矩阵来储存5名学生的基本情况数据,每名学生的数据包括学号、姓名、专业和6门课程的成绩。
例如
a(1).x1=1;a(1).x2=’name’;a(1).x3=’grade’;a(1).x4=’number’;a(1).x5=[XX,XX,X];
5.建立单元矩阵B并回答有关问题。
B{1,1}=1;
B{1,2}=`Brenden`;
B{2,1}=reshape(1:9,3,3);
B{2,2}={12,34,2; 54,21,3; 4,23,67};
(1)size(B)和ndims(B)的值分别是多少?
(2)B(2)和B(4)的值分别是多少?
(3)B(3)=[]和B{3}=[]执行后,B的值分别是多少?
1.size(B)
ans=
4 3
ndlims(B)
ans=
2
2.>>B(2)
ans=
7
B(4)
ans=
1
3.B(3)=[]
B=
1 7 1 11 8 5
2 12 9 6 3
6.在[0,3π]区间,求y=sin(x)的值。
要求:
(1)消去负半波,即(π,2π)区间内的函数值置0。
(2) (π/3, 2π/3 )和(7π/3, 8π/3 )区间内取值均为sin π/3 。
提示:
先根据自变量向量x产生函数值向量y,然后按要求对y进行处理。
处理的
思路有两个:一是从自变量着手进行处理,二是从函数值着手进行处理。
(1) x=0:pi/100:3*pi
y=sin(x)
y1=(x<pi|x>2*pi).*y
(2)q=(x>pi/3&x<2*pi/3)|(x<7*pi/3&x<8*pi/3)
qn=-q
y2=q*sin(pi/3)+qn.*y1
7.写出完成下列操作的命令:
1)建立3阶单位矩阵。
a=eye(3)
a=
1 0 0
0 1 0
0 0 1
2)建立5×6随机矩阵A,其元素为[100,200]范围内的随机整数。
A=100+(200-100)*rank(5,6)
3)产生均值为1,方差为0.2的500个正态分布的随机数。
y=1+sqrt(0.2)*randn(50,10)
4)产生和A同样大小的幺矩阵。
ones(size(A))
5)将矩阵A对角线的元素加30。
B=diag(A)+30
6)从矩阵A提取主对角线元素,并以这些元素构成对角阵B.
B=diag(A)
8.使用函数,实现方阵左旋900或右旋900的功能。
例如,原矩阵为A, A左旋后得到B, 右旋后得到C。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=129631185210741A ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=321654987121110B ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=1011
12789456123C A=[1,3,4,10;2,5,8,11;3,6,9,12] >>B=rot90(A)
B=[10,11,12;7,8,9;4,5,6;1,2,3;] >>C=rot90(A,3)
9.求下面线性方程组的解 ⎪⎩
⎪⎨⎧=+=+-=-+83121023224y x z y x z y x
A=[4,2,-1;3,-1,2;12,3,0] B=[2,10,8]’;
x=inv(A)*B
x=
-6.0000
26.6667
27.3333。