精选-MATLAB上机作业

合集下载

MATLAB上机内容及作业

MATLAB上机内容及作业

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 上机作业1,中国石油大学

matlab 上机作业1,中国石油大学

第一次上机实习1.编写一个程序ex1_1.m,对输入的方阵计算其伴随矩阵。

a)要求第一行帮助行注明这个函数的用途,能在matlab命令窗口可以用help或lookfor查到该帮助;b)对输入的变量进行检测,如果输入的不是方阵或者矩阵元素不是数,则报错,退出程序。

function A=ex1_1(X)% 建立函数A=ex1_1(X),求矩阵X的伴随矩阵[a,b]=size(X);if a~=b||~isnumeric(X) || ~ismatrix(X)error('输入的不是方阵或者矩阵元素不是数!');endfor i=1:afor j=1:bA(i,j)=(-1)^(i+j)*X(i,j)*det(X([1:i-1,i+1:end],[1:j-1,j+1:end]));endendA=A';2.已知表达式y=6*x^5+4*x^3+2*x^2-7x+10,x的范围是[0,100],使用三阶拟合和五阶的方法得出多项式的表达式,并编程在图中绘制出原曲线、三阶拟合和五段拟合的曲线。

clcclear allx=linspace(0,100,2000);p1=[6 0 4 2 -7 0];y=polyval(p1,x);p3=polyfit(x,y,3);p5=polyfit(x,y,5);y1=polyval(p3,x);y2=polyval(p5,x);plot(x,y,'r-o')hold ongrid onplot(x,y1,'b-.',x,y2,'y--*');grid on三条曲线放大图(原曲线与五阶拟合完全重合):3.读如图像5.tif(450*450),做fourier变换,a)将变换之后所得到的矩阵只保留前10行10列,后10行10列的数据,其他位置都设置为0,然后再作反fourier变换,观察结果;原图:运行程序:clcclear allI=imread('5.tif');figure(1);imshow(I);B=fft2(I);C=ones(size(B));C(11:end-10,11:end-10)=0;B1=B.*C;B1=B1./256;I1=ifft2(B1);figure(2);imshow(I1);图像:b)将变换之后所得到的矩阵将前10行10列,后10行10列的数据置为0,然后再作反fourier变换,观察结果;clcclear allI=imread('5.tif');figure(1);imshow(I);B=fft2(I);C=zeros(size(B));C(11:end-10,11:end-10)=1;B1=B.*C;B1=B1./256;I1=ifft2(B1);figure(2);imshow(I1);c) 从观察的结果你有什么体会。

MATLAB上机练习题(一)

MATLAB上机练习题(一)

MATLAB 上机练习题(一)
1. 计算下式
7
2009/42008/41949222?+-⨯-⨯=
2. 试计算d
3461.1,30,5b d a b c
a b c +=-+===其中
要求只输出d 的值,其他变量的值不输出。

**************************************************************
3. 计算下式:
181(2)sin()cos()6,3
y
x x y π-+-==(,其中 0.1104
2log 805(3)2009
6(4)1,5;
2e
e x x x -⨯+-=其中
4. 完成以上题目后清除工作空间中的所有变量。

**************************************************************
5. 求下列方程的根:
(1)325x x -=
(2)32340x x x -+=
6. 根据课本任意找出4个矩阵在MA TLAB 中输入和输出。

附1:增加的一些常用函数pi:常数
round(x):四舍五入至最近整数
fix(x) :无论正负,舍去小数至最近整数min(x): 向量x的元素的最小值
max(x): 向量x的元素的最大值
diff(x): 向量x的相邻元素的差
length(x): 向量x的元素个数
sin(x):正弦函数
cos(x):余弦函数
tan(x):正切函数
asin(x):反正弦函数
acos(x):反余弦函数
atan(x):反正切函数。

MATLAB上机作业

MATLAB上机作业

MA TLAB上机作业学院名称:专业班级:学生姓名:学生学号:年月作业11.用MATLAB可以识别的格式输入下面两个矩阵12342357135732391894A ⎛⎫⎪⎪ ⎪= ⎪⎪ ⎪⎝⎭,144367723355422675342189543i iB i +⎛⎫⎪+⎪= ⎪+ ⎪ ⎪⎝⎭再求出它们的乘积矩阵C ,并将C 矩阵的右下角23⨯子矩阵赋给D 矩阵。

赋值完成后,调用相应的命令查看MATLAB 工作空间的占有情况。

解:A=[1 2 3 4;2 3 5 7;1 3 5 7 ;3 2 3 9 ;1 8 9 4;]B=[1+4i 4 3 6 7 7;2 3 3 5 5 4+2i;2 6+7i 5 3 4 2;1 8 9 5 4 3;] B=[1+4i 4 3 6 7 7;2 3 3 5 5 4+2i;2 6+7i 5 3 4 2;1 8 9 5 4 3;] C=A*B D=C(4:5,4:6); whos; 2.设矩阵16231351110897612414152⎛⎫ ⎪⎪ ⎪ ⎪⎝⎭,求A ,1A -,3A ,12A A -+,1'3A A --,并求矩阵A 的特征值和特征向量。

解:A=[16 2 3 13;5 11 10 8;9 7 6 12;4 14 15 2;] det(A) inv(A) A.^3 2*A+inv(A) 3*A-A' [V,D]=eig(A)abs (A)3.解下列矩阵方程: 01010014310001201001010120X -⎛⎫⎛⎫⎛⎫⎪ ⎪ ⎪=-⎪ ⎪⎪⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭ 解:A=[0 1 0;1 0 0;0 0 1;]; B=[1 0 0;0 0 1;0 1 0;]; C=[1 -4 3; 2 0 -1;1 -2 0;]; X=inv(A)*C*inv(B)4.一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。

matlab上机练习及答案

matlab上机练习及答案

第二、三次上机练习:目的:运行课本第四章及课堂上讲过的例子,掌握Matlab 的流程控制语句、函数及脚本文件的编程、调试方法。

作业:1、 完成下列操作:1) 求[100,999]之间能被21整除的个数。

2) 建立一个字符串向量(要求字符串向量中必须包含自己的姓名首字母,大小写均可),删除其中的大写字母2. 编写脚本文件,实现用magic(6)产生一矩阵,用for 循环指令求解其所有元素的和。

3. 定义一个函数文件,求∑=ni m i 1,要求在函数文件中包含能够通过help 查询到的说明;然后调用该函数文件求∑∑∑===++101501210011k k k k k k 的值。

4. 已知)7.1cos(12ln )7.1sin(++++=x xx y π,当x 取-3.0,-2.9,-2.8,…,2.8,2.9,3.0时, 1) 求各点的函数值;2) 求这些数据的平均值;5、求分段函数的值。

222603565231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩, 且, 0且及, 其它用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5时的值。

6、输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。

其中90分~100分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。

要求:分别用if 语句和switch 语句实现。

7、根据222221111...,6123n ππ=++++求的近似值。

当n 分别取100、1000、10000时,结果是多少?(要求:分别用循环结构和向量运算来实现)8、已知n=1时,f 1=1;n=2时,f 2=0;n=3时,f 3=1;n>3时,f n =f n-1 -2f n-2+ f n —3; 求f 1~ f 100中,最大值、最小值以及各数之和。

matlab上机习题答案

matlab上机习题答案

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上机作业

第一章 matlab 入门1熟悉MATLAB 的基本使用方法,各菜单及各窗口的功能。

2 会使用matlab 的帮助系统:1 联机帮助系统;2 命令窗口查询帮助系统;3 联机演示系统(demos ),重点练习demos 。

3.最简单的计算器用法:计算4.复数运算:已知 ,试计算z ,并给出z 的模和相角,其中相角用度数表示。

5.字符串操作:统计一段文本:MATLAB is a good thing for everybody.中字符i 出现的次数。

6. 7符号运算:求函数sin(x)(1+x 2)关于x 的一阶导数。

8.绘制函数y=sinc(x)在区间[-4,6]上的图形。

9.数据图示:设有一批数据点(t,y ),其中t 在区间[0,2π]上以π/30等间隔分布,y 在每个t 上由函数y=sin(t 2)计算得到,试绘出这些数据点的图形。

10.几何应用:已知空间三点A(1,1,-1)、B(3,3,0)、C(5,4,4),求⊿ABC 的面积。

11.输出声音:用计算机声卡放出标准音阶的7个单频正弦音符。

12.练习常用标点及常用命令的使用,熟悉matlab 的特殊变量。

exit/quit :退出;ctrl+c/break :终止正在运行的程序;clc :命令窗清屏;clear :清除内存变量;clf :清除当前图形窗中的图形对象;↑↓:命令行快速编辑命令;format :定义数据显示格式;save/load :保存和加载工作区变量;date , clock :显示日期和时间;tic / toc :启动和终止秒表;hold 图形保持size :返回变量每一维的大小;length :length(A)=max(size(A))第二章 矩阵及数组运算1创建变量:a =10b = 2.5*1023c = 2 + 3id =e j 2π /3aVec = [3.14 15 9 26]1.3(12cos(/5))π+⨯12812344312, 34, 56, 7, i z z z i z i z i z e z z z π=+=+=+==+1223 A , B , A B 3445⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦==⨯矩阵运算:已知求。

MATLAB上机练习及作业

MATLAB上机练习及作业

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上机操作作业(4)参考答案

Matlab上机操作作业(4)参考答案

上机操作(4)内容: M 文件编程一、结合教材第6章内容以及实验指导书内容掌握一般M 脚本和函数文件的编写。

二、 完成以下习题,并按照要求将作业提交。

(1) 将调试通过的程序序列复制到作业题目下方,并将文件保存为word 文档,文件名为:姓名+班级学号末两位数 (如:王丹妮9301)(2) 作业提交方式:A 现场网上提交(鼠标右点击电脑右下方的人头或燕子标记,按照菜单操作即可。

B 若不能提交,发送至我的邮箱363586609@ .发送时邮件标题为:文件名作业4(如:王丹妮9301作业4)1. 编写M 脚本文件,画出下列分段函数所表示的曲面。

(30分)⎪⎪⎩⎪⎪⎨⎧-≤+≤+<->+=+-------15457.0117575.015457.0),(215.175.375.0216215.175.375.02112122212212122x x e x x e x x e x x p x x x x x x x x %参考答案a=2;b=2;x=-a:0.1:a;y=-b:0.1:b;for i=1:length(y)for j=1:length(x)if x(j)+y(i)>1z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2-1.5*x(j));elseif x(j)+y(i)<=-1z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j));else z(i,j)=0.7575*exp(-y(i)^2-6.*x(j)^2);endendendaxis([-a,a,-b,b,min(min(z)),max(max(z))]);surf(x,y,z);xlabel('x1');ylabel('x2');zlabel('p(x1,x2)');2.编写一个M 函数文件,该文件应有函数声明行、帮助说明和程序编写人姓名。

Matlab上机练习题及答案

Matlab上机练习题及答案

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上机考试题及答案

matlab上机考试题及答案1. 题目:编写一个MATLAB函数,计算并返回一个向量中所有元素的平方和。

答案:函数定义如下:```matlabfunction sumOfSquares = calculateSumOfSquares(vector)sumOfSquares = sum(vector.^2);end```2. 题目:使用MATLAB的内置函数,找出一个矩阵中的最大元素及其位置。

答案:可以使用`max`函数来找出矩阵中的最大元素,同时使用`find`函数来获取其位置。

示例代码如下:```matlabA = [1, 2, 3; 4, 5, 6; 7, 8, 9];[maxValue, linearIndex] = max(A(:));[row, col] = ind2sub(size(A), linearIndex);```3. 题目:给定一个向量,使用MATLAB编写代码,实现向量元素的逆序排列。

答案:可以使用`flip`函数来实现向量的逆序排列。

示例代码如下:```matlabvector = [1, 2, 3, 4, 5];reversedVector = flip(vector);```4. 题目:编写一个MATLAB脚本,计算并绘制一个正弦波的图像。

答案:可以使用`sin`函数生成正弦波数据,并使用`plot`函数绘制图像。

示例代码如下:```matlabx = linspace(0, 2*pi, 100);y = sin(x);plot(x, y);xlabel('x');ylabel('sin(x)');title('Sine Wave');```5. 题目:给定一个3x3的矩阵,使用MATLAB编写代码,计算其行列式。

答案:可以使用`det`函数来计算矩阵的行列式。

示例代码如下:```matlabmatrix = [1, 2, 3; 4, 5, 6; 7, 8, 9];determinant = det(matrix);```结束语:以上是MATLAB上机考试的题目及答案,希望能够帮助大家更好地掌握MATLAB的编程技巧和函数使用。

matlab上机题汇总(必做)

matlab上机题汇总(必做)

上机题汇总1设置matlab 的工作环境,将工作目录设置为d:\work ,添加搜索目录d:\example2在matlab 的命令窗口里完成如下计算,其中t 的值分别取-1,0,1,表达式如下:4/3)2t y e π-=3自行产生一个5行5列的数组,得到最中间的三行三行矩阵。

4用magic 产生一个5*5的矩阵,将这个矩阵的第二行与第三行互换位置5求方程组的根 x 1+4x 2-3x 3=22x 1+5x 2-x 3=11x 1+6x 2+x 3=126已知:一个多项式的系数向量是p=[1 -6-72 -27],求这个多项式的根。

7已经两个多项式的系数分别是:[1 2 3 4]和[1 4 9 16],请求这两个多项式的乘积,及商和余数。

8给定一个多项式的根是[-5 -3+4i -3-4i],求原来的多项式9 A=[2 3 4;1 5 7;6 2 5]用什么函数,保证第一列排序的时候,其他列跟着变化。

最后的结果是:[1 5 7;2 3 4;6 2 5]10补充题:电路分析电路分析常常涉及到对方程组的求解,这些方程常常是利用描述电流进入和离开节点的电流方程,或者描述电路中网络回路上的电压的电压方程得出的。

下图描述了3个回路电压的方程方程式如下:11121222132423432532()0()()0()0V R I R I I R I I R I R I I R I I R I V -++-=⎧⎪-++-=⎨⎪-++=⎩假设5个电阻值为已知,2个电压值也为已知,求3个电流值。

11自行产生一个5行5列的数组,用两种方法得到最中间的三行三行矩阵。

12根据a=reshape(-4:4,3,3)做一个矩阵,然后(1)取出所有大于0的元素构成一个向量(可推广到从一个矩阵里筛选出符合条件的元素组成一个向量)(2)将原矩阵中大于0的元素正常显示,而小于等于0的元素全部用0来表示(可推广到将原矩阵中不符合条件的全用0来表示,符合条件的值不变)。

(完整版)matlab上机练习题答案

(完整版)matlab上机练习题答案

6 9 3 2 4 11.计算a 与b 的数组乘积2 7 5 4 6 8>> a=[6 9 3;2 7 5];>> b=[2 4 1;4 6 8];>> a.*bans =12 36 38 42 404 9 2 372.对于AX B,如果A 7 6 4 ,B 26,求解X o3 5 7 287 16 185计算多项式除法(3乂3+13*+6乂+8)/0+4)>> d=deconv([3 13 6 8],[1 4])6求欠定方程组298的最小范数解5>> a=[2 4 7 4;9 3 5 6];>> b=[8 5]';>> x=pinv(a)*b-0.2151>> A=[4 9 2;7 6 4;3 5 7]; >> B=[37 26 28]';>> X=A\BX =-0.51184.04271.33180.44590.79490.27077用符号函数法求解方程at2+b*t+c=0 >> r=solve('a*t A2+b*t+c=0','t')1 2 5 8 7 43.a ,b ,观察a与b之间的3 64 3 6 2六种关系运算的结果[1/2/a*(-b+(bA2-4*a*c)A(1/2))] [1/2/a*(-b-(bA2-4*a*c)A(1/2))]>> a=[1 2 3;4 5 6]; >> b=[8 - 4;3 6 2]; >> a>bans =0 11 0 >> a>=bans =0 11 0 >> a<bans =1 00 1 >> a<=bans =1 00 1 >> a==bans =0 00 0 >> a~=bans =1 11 1 4计算多项式乘法111111(X2+2X+2)(X2+5X+4)8求矩阵A a11 a12的行列式值、逆和特征根a 21 a22>> syms a11 a12 a21 a22;>> A=[a11,a12;a21,a22]>> AD=det(A) % 行列式>> AI=inv(A) % 逆>> AE=eig(A) % 特征值A =[a11, a12][a21, a22]AD =a11*a22-a12*a21AI =[-a22/(-a11*a22+a12*a21), a12/(-a11*a22+a12*a21)][a21/(-a11*a22+a12*a21), -a11/(-a11*a22+a12*a21)]AE =>> c=conv([1 2 2],[1 5 4]) [1/2*a11+1/2*a22+1/2*(a11A2-2*a11*a22+a22A2+4*a12*a21)A(1/2)][1/2*a11+1/2*a22-1/2*(a11A2-2*a11*a22+a22A2+4*a12*a21)A(1/2)] 9 因式分解:X45X35X25X 6>> syms X;>> f=xA4-5*xA3+5*xA2+5*x-6;>> factor(f)ans =(X-1)*(X-2)*(X-3)*(X+1)x ,用符号微分求df/dx。

Matlab上机题库及详细答案

Matlab上机题库及详细答案
rate=8/100;
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上机作业部分参考答案

上机练习二 参考答案
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上机作业

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中文上机作业

MATLAB中文上机作业

1、给定c 如下,计算运算结果。

1.12.23.34.44321c 0.10.50.30.212233045⎡⎤⎢⎥−−−−⎢⎥=⎢⎥−−⎢⎥⎣⎦(a) c (2:end, 2:3:end) (b) b= c ([2 2], [3 3]) (c) e=c(2:3,3:end)(d) d (: , : , 1)=e d (:, : , 2) = e*e2、给定a 如下,计算运算结果。

(a) a =eye(3)-2; (b) b = [ a(2) 6 4; a ]; (c)a ([1 2], :) = a ([2 2], :);3、给定以下a, b, c 和d ,计算下列等式的值,若认为运行结果出错,请给出理由。

2112a −⎡⎤=⎢⎥⎣⎦⎥⎦⎤⎢⎣⎡−=1310b[1,2]c =(a) result = a .* c’; (b) result = a * [c c]; (c) result = a .* [c’ c’]; (d) result = a + b * c’;(e) result = a + b .* c4、一小球从空中下落的位移公式为20021at t v x x ++=,用MATLAB 计算小球在t =5s 时的位置,已知x 0 =10m ,v 0 =15m/s , a=-9.84m/s 2。

5、用MATLAB 语句画出函数xex y 2.02)(−=在[0,10]的值。

6、(温度转换)设计一个MATLAB 程序,读取一个华氏温度的输入,输出开尔文温度。

华氏温度和开尔文温度的转换关系式可在物理学课本中找到。

其关系式为:()5()()32.0273.159T T =−+开尔文华氏温度 要求能提示用户输入华氏温度,读取用户键盘输入数据,并最终显示出温度。

7、一个内阻R s =50Ω,电动势V =120V 的电源驱动一个负载R L 。

当R L 为多少时,R L 的功率最大?在这种情况下,功率为多少?画出以R L 为自变量的R L 功率图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB 上机作业1对以下问题,编写M 文件:(1) 用起泡法对10个数由小到大排序。

即将相邻两个数比较,将小的调到前头。

function f=qipaofa(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;endendendf=xx=round(10*rand(1,10))qipaofa(x);(2) 有一个4×5矩阵,编程求出其最大值及其所处的位置。

function f=zuidazhi(x)a=1;b=1;c=x(1,1);for i=1:4for j=1:5if x(i,j)>ca=i;b=j;c=x(i,j);endendendf=[c,a,b]x=rand(4,5)zuidazhi(x)(3) 编程求∑=201!n n 。

function f=qiuhe(x)b=0;for i=1:xa=prod(1:i);b=b+a;endf=bqiuhe(20)(4)一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。

求它在第10次落地时,共经过多少米?第10次反弹有多高?function f=gao(x)b=x;for i=2:10x=x/2;a=x*2;b=b+a;endf=[b x/2]gao(100)(5)有一函数y xy x y x f 2sin ),(2++=,写一程序,输入自变量的值,输出函数值。

Function f=fun(x)f=x(1)^2+sin(x(1)*x(2))+2*x(2)MATLAB 上机作业21. 求和 4024441++++=ΛY 。

syms ks=4^k;S=symsum(s,k,0,40)2. 求函数71862)(23+--=x x x x f 的极值,并作图。

y='2*x^3-6*x^2-18*x+7';y_='-2*x^3+6*x^2+18*x-7';[x_min,y_min]=fminbnd(y,-7,7)[x_max,y_max]=fminbnd(y_,-7,7)ezplot(y)3. 设25cos 7sin x x x e y x +-=,求??,22==dx y d dx dy y=exp(x)*sin(x)-7*cos(x)+5*x^2;dy=diff(y)d2y=diff(y,2)4. 求积分 dx x I ⎰-=2/012sin 21π。

syms xy=sqrt(1-2*sin(2*x));F=int(y,0,pi/2)5. 求积分 ⎰⎰=D dxdy y x I 222,其中D 为直线x y x y x y -===12,2/,2围成的区域。

syms x yf=x^2/y^2;int(int(f,y,x/2,x*2),x,0,4)+int(int(f,y,x/2,12-x),x,4,8)6. 分别随机产生一个6×6的整数矩阵(元素可在]20,20[-之间),求该随机阵的行最简形,秩,行列式,逆矩阵,列向量组的一个极大线性无关组,特征值和特征向量。

a=round(-20+40*rand(6))rref(a)rank(a)det(a)inv(a)[V,D]=eig(a)7. 求解方程组的通解 ⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧=-++-+-=+++--=+++-=-+++=-++-+=+-+++246635554254843219526335544242364265432165432642165321654321654321x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x xA=[1 2 4 6 -3 2;2 4 -4 5 1 -5;3 6 2 0 5 -9;2 3 0 4 0 1;0 -4 -5 2 1 4 ;5 5 -3 6 6 -4 ];b=[4 3 -1 8 -5 2]';B=[A b];C=rref(B)A=[1 2 4 6 -3 2;2 4 -4 5 1 -5;3 6 2 0 5 -9;2 3 0 4 0 1;0 -4 -5 2 1 4 ;5 5 -3 6 6 -4 ];b=[4 3 -1 8 -5 2]';B=[A b];n=6;R_A=rank(A)R_B=rank(B)format ratif R_A==R_B&R_A==nX=A\belseif R_A==R_B&R_A<nX=A\bC=null(A,'r')else X='equation has no solves'endsyms k1 k2X=k1*C+Xpretty(X)8. 求符号微分方程 x x y dxdy cos tan =+的通解和当y (0)=2的特解。

eq='Dy+y*tan(x)=cos(x)';y1=dsolve(eq,'x')y2=dsolve(eq,'y(0)=2','x')MATLAB 上机作业31、某校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 551)计算均值、标准差、极差、偏度、峰度,画出直方图;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)2、据说某地汽油的价格是每加仑115美分,为了验证这种说法,一位学者开车随机选择了一些加油站,得到某年一月和二月的数据如下:一月:119 117 115 116 112 121 115 122 116 118 109 112 119 112 117 113 114 109 109 118二月:118 119 115 122 118 121 120 122 128 116 120 123 121 119 117 119 128 126 118 1251)分别用两个月的数据验证这种说法的可靠性;2)分别给出1月和2月汽油价格的置信区间;3)给出1月和2月汽油价格差的置信区间。

x=[119 117 115 116 112 121 115 122 116 118 109 112 119 112 117 113 114 109 109 118]; y=[118 119 115 122 118 121 120 122 128 116 120 123 121 119 117 119 128 126 118 125];[H,sig,ci]=ttest(x,115)[H,sig,ci]=ttest(y,115)[h,sig,ci]=ttest2(x,y)1、在同一平面中的两个窗口分别画出心形线和马鞍面。

要求:1、在图形上加格栅、图例和标注2、定制坐标3、以不同角度观察马鞍面a=3;b=1;theta=linspace(-2*pi,2*pi);rho=a*(1-cos(theta));subplot(1,2,1);polar(theta,rho)gtext('rho');gtext('theta');title('心形线');axis([-10 10 -10 10]);grid on;x=-a:0.1:a;y=-b:0.1:b;[x,y]=meshgrid(x,y);z=x.^2/(a^2*2)-y.^2/(b^2*2);subplot(1,2,2);surf(z)xlabel('x轴');ylabel('y轴');zlabel('z轴');title('马鞍面');axis([0 100 0 30 -1 1]);grid on2、以不同的视角观察球面 x2+y2+z2=r2和圆柱面 x2+y2=rx所围区域。

[x,y,z]=sphere(200);i=find(x.^2+y.^2-x>=0);z(i)=NaN;mesh(x,y,z)hold onezplot('x^2+y^2=x')(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。

可复制、编制,期待你的好评与关注)。

相关文档
最新文档