精选-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 码。

  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')(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。

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

相关文档
最新文档