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 语言及应用上机作业11. 在matlab 中建立一个矩阵135792468101234501234A ⎡⎤⎢⎥⎢⎥=⎢⎥-----⎢⎥⎣⎦答案:A = [1,3,5,7,9;2,4,6,8,10;-1,-2,-3,-4,-5;0,1,2,3,4]2. 试着利用matlab 求解出下列方程的解(线性代数22页例14)123412423412342583692254760x x x x x x x x x x x x x x +-+=⎧⎪--=⎪⎨-+=-⎪⎪+-+=⎩ 答案:A=[2 ,1,-5,1;1,-3,0,-6;0,2,-1,2;1,4,-7,6]; B=[8;9;-5;0]; X=A\B 或A=[2,1,-5,1;1,-3,0,-6;0,2,-1,2;1,4,-7,6] b=[8,9,-5,0]' X=inv(A)*b3. 生成一个5阶服从标准正态分布的随机方阵,并计算出其行列式的值,逆矩阵以及转置矩阵。
答案:A=randn(5) det(A) inv(A) A'4. 利用matlab 求解出110430002A -⎡⎤⎢⎥=-⎢⎥⎢⎥⎣⎦的特征值和特征向量。
答案:A=[-1,1,0;-4,3,0;0,0,2] [V,D]=eig(A)5.画出衰减振荡曲线3sin3t y et -=在[0,4]π上的图像。
要求,画线颜色调整为黑色,画布底面为白色。
(在实际中,很多打印机时黑白的,因此大多数作图要考虑黑白打印机的效果。
) 给出恰当的x ,y 坐标轴标题,图像x 轴的最大值为4π。
6. 生成一个0-1分布的具有10个元素的随机向量,试着编写程序挑选出向量中大于0.5的元素。
数学建模和Matlab 上机作业2(2016-9-20)跟老师做(不用整合进作业中):上机演示讲解:函数,递归的两个例子的写法。
附:1. Fibonacci Sequence (斐波那契数列)在数学上,费波那西数列是以递归的方法来定义: F1= 1;F2= 1;F (n )=F (n-1)+F (n-2) 2. 阶乘举例:数学描述:n!=1×2×……×n ;计算机描述:n!=n*(n-1)!自己做(需要整合进作业中,提交到系统中):1. 写一个m 文件完成分值百分制到5分制的转换(即输入一个百分制,转换后输出一个5级对应的得分,联系条件控制语句)。
MATLAB期末上机试题带答案
MATLAB 期末上机考试试题带答案版姓名:学号:成绩:1.请实现下图:50100150200250x y 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=[321;1-13;24-4];b=[7;6;-2];x=a\b4.请实现下图:x y x=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 (-x 2-y 2)绘制网格图[x,y]=meshgrid(-2:0.1:2);z=x.*exp (-x.^2-y.^2);mesh(x,y,z)6.请实现peaks 函数:-33x Peaksy [x,y]=meshgrid(-3:1/8:3);z=peaks(x,y);mesh(x,y,z)surf(x,y,z)shading flataxis([-33-33-88])xlabel('x');ylabel('y');title('Peaks')7.请在x=[0,2],y=[-0.5*pi,7.5*pi],绘制光栅的振幅为0.4的三维正弦光栅。
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上机练习及作业第一章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上机实验1答案
实验1 Matlab 初步一、问题已知矩阵A 、B 、b 如下:⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-------------=031948118763812654286174116470561091143A ⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡------=503642237253619129113281510551201187851697236421B []1187531=b应用Matlab 软件进行矩阵输入及各种基本运算。
二、实验目的学会使用Matlab 软件构作已知矩阵对应的行(列)向量组、子矩阵及扩展矩阵,实施矩阵的初等变换及线性无关向量组的正交规范化,确定线性相关相关向量组的一个极大线性无关向量组,且将其余向量用极大线性无关向量组线性表示,并能编辑M 文件来完成所有的实验目的。
三、预备知识1、 线性代数中的矩阵及其初等变换、向量组的线性相关性等知识。
2、 Matlab 软件的相关命令提示如下;(1) 选择A 的第i 行做一个行向量:ai=A(i,:);(2) 选择A 的第j 行做一个列向量:ai=A(j,:);(3) 选择A 的某几行、某几列上的交叉元素做A 的子矩阵:A([行号],[列号]);(4) n 阶单位阵:eye(n);n 阶零矩阵:zeros(n);(5) 做一个n 维以0或1为元素的索引向量L ,然后取A(:,L),L 中值为1的对应的列将被取到。
(6) 将非奇异矩阵A 正交规范化,orth(A) ;验证矩阵A 是否为正交阵,只需做A*A'看是否得到单位阵E 。
(7) 两个行向量a1和a2的内积:a1*a2'。
(8) 让A 的第i 行与第j 列互换可用赋值语句:A([i,j],:)=A([j,i],:);(9)让K乘以A的第i行可用赋值语句:A(i,:)=K*A(i,:);(10)让A的第i行加上第j行的K倍可用赋值语句:A(i,:)=A(i,:)+K*A(j,:);(11)求列向量组的A的一个极大线性无关向量组可用命令:rref(A)将A化成阶梯形行的最简形式,其中单位向量对应的列向量即为极大线性无关向量组所含的向量,其它列向量的坐标即为其对应向量用极大线性无关组线性表示的系数。
Matlab上机实验答案
0.2000 0.1667 0.1429 0.1250 0.1111
1 1 1 1 1
1 2 3 4 5
1 3 6 10 15
1 4 10 20 35
1 5 15 35 70
>> Hh=det(H) Hh =
3.7493e-12 >> Hp=det(P) Hp =
1
>> Th=cond(H) Th =
0 0 1.0000 0 0
0.8147 0.9058 0.1270 1.0000 0
0.9134 0.6324 0.0975 0 2.0000
>> A^2
ans =
1.0000 0 0 0 0 >> [E,R+R*S;O,S^2]
0 1.0000 0 0 0
0 0 1.0000 0 0
1.6294 1.8116 0.2540 1.0000 0
阵和对角阵,试通过数值计算验证 A >> E=eye(3); >> R=rand(3,2); >> O=zeros(2,3); >> S=diag(1:2); >> A=[E,R;O,S]
E O
R RS 。 S2
A=
1.0000 0 0 0 0
0 1.0000 0 0 0
3. 建立一个 5×5 矩阵,求它的行列式值、迹、秩和范数。 >> A=rand(5) A= 0.2785 0.5469 0.9575 0.9649 0.1576 >> det(A) ans = -0.1322 >> trace(A) ans = 3.4127 >> rank(A) ans = 0.9706 0.9572 0.4854 0.8003 0.1419 0.4218 0.9157 0.7922 0.9595 0.6557 0.0357 0.8491 0.9340 0.6787 0.7577 0.7431 0.3922 0.6555 0.1712 0.7060
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上机作业部分参考答案
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上机题汇总(必做)
上机题汇总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上机作业部分参考答案
3. 有一组学生的考试成绩如下表,根据规定,成绩在100分时 为满分,成绩在90~99之间时为优秀,成绩在80~89分之间时 为良好,成绩在60~79分之间为及格,成绩在60分以下时为不 及格,编制一个根据成绩划分等级的程序。
学生 姓名 王 张 刘 李 陈 杨 于 黄 郭 赵成 绩Βιβλιοθήκη 728356
94
100
z1 x2 2y 2 , 2. 列出求下列空间曲面
(提示find 命令)
z2 2 x 3 y 交线的程序
clc clear x=[-5:0.5:5]; [X,Y]=meshgrid(x); z1=X.^2-2*Y.^2; z2=X.*2-Y.*3; xlabel('x') ylabel('y') zlabel('z')
surf(X,Y,z1) hold on surf(X,Y,z2) k=find(abs(z1-z2)<0.5); x1=X(k) y1=Y(k) z3=x1.^2-2*y1.^2 hold on
88
96
68
54
65
4. 编制写一个函数实现,输入一个3x4矩阵,求其中最大元素 和最小元素(禁止直接用Matlab命令) 5. 编程,可输入有10个实数的数组,调用函数f求他们的平均值 V,然后输出其中与V之差的绝对值为最小的那个数组元素。 6. 编制写一个函数实现,一个给定二维(3x3)数组转置。 (禁止直接用Matlab命令)
7.
编制写一个函数实现,输入16进制,输出10进制。(禁止直 接用Matlab命令)
8. 编程序实现功能:在一个元素值按升序存放的整型数组中插 入一个数,使得插入后的数组元素仍然有序。 9. 编制写一个函数实现,用“冒泡法” 排列输入的10个数字。
matlab秋季上机作业
matlab秋季上机作业秋季是一个美丽而多彩的季节,天空湛蓝,阳光明媚,正是适合户外活动和学习的好时光。
而在大学里,秋季也意味着新学期开始,课程开始渐渐进入正轨。
对于学习MATLAB这门课程的同学们来说,秋季上机作业是一个重要的环节。
MATLAB是一种高级技术计算语言和环境,广泛应用于各个学科的科学计算、数据分析和可视化等领域。
秋季上机作业就是要求同学们运用MATLAB进行一系列的计算和实验,以增加对该语言的熟悉和应用能力。
在MATLAB秋季上机作业中,同学们通常会遇到各种各样的问题和挑战。
比如,如何使用MATLAB进行矩阵运算、如何画出漂亮的图形、如何编写函数等等。
这些问题都需要同学们充分理解课程内容,灵活运用MATLAB的各种功能和工具。
在完成秋季上机作业时,同学们可以按照以下步骤进行操作。
首先,要仔细阅读作业要求,明确任务的要求和目标。
然后,根据要求编写MATLAB代码,实现相应的功能。
在编写代码的过程中,同学们要注意代码的规范和可读性,命名要具有描述性,注释要清晰明了。
接着,运行代码并进行调试,确保程序的正确性。
最后,根据作业要求整理实验报告,详细记录实验过程和结果,并对实验结果进行分析和总结。
在MATLAB秋季上机作业中,同学们可以学到很多有用的知识和技能。
首先,通过编写代码和运行程序,同学们可以加深对MATLAB语言和环境的理解和掌握。
其次,通过解决问题和完成作业任务,同学们可以提高自己的逻辑思维和问题解决能力。
此外,通过实验报告的撰写和总结,同学们还可以提高自己的表达和写作能力。
当然,在完成秋季上机作业时,同学们也会遇到一些困难和挫折。
比如,代码运行出错、结果不符合预期等等。
这时,同学们要保持耐心和冷静,仔细检查代码和参数设置,找出问题所在,并进行适当的修改和调试。
如果遇到无法解决的问题,可以向同学、助教或老师寻求帮助,共同探讨和解决。
总的来说,MATLAB秋季上机作业是一个很好的学习机会,通过实践和实验,同学们可以更好地理解和掌握MATLAB语言和工具,提高自己的计算和分析能力。
完整版本matlab上机练习试题含答案
1.计算 a6 9 3 2 4 1 的数组乘积1 71618 82 7 与 b6 8 5 计算多项式除法 (3x 3+13 x 2+6x+8)/( x+4)54>> a=[6 9 3;2 7 5]; >> d=deconv([3 13 6 8],[1 4])>> b=[2 4 1;4 6 8]; d =>> a.*b 31 2ans =6 求欠定方程组2 4 7 4x 8 的最小范数解12 3639 35 6 584240>> a=[2 4 7 4;9 3 5 6];4 9 2 37>> b=[8 5]';>> x=pinv(a)*b2.对于 AXB ,假如 A7 6 4 ,B 26,求解 X 。
3 5 728x =-0.2151>> A=[4 9 2;7 6 4;3 5 7]; 0.4459 >> B=[37 26 28] ’;0.7949 >> X=A\B 0.2707X =7 用符号函数法求解方程 at 2+b* t+c=0-0.5118 >> r=solve('a*t^2+b*t+c=0','t') 4.0427 r =1.3318[ 1/2/a*(-b+(b^2-4*a*c)^(1/2))] 1 2 5 , b8 7 4 [ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]3. a64 362 ,察看 a 与 b 之间的3a 11 a 12六种关系运算的结果8求矩阵 A的队列式值、逆和特点根a 21 a 22 >> a=[1 2 3;4 5 6];>> b=[8 –7 4;3 6 2]; >> syms a11 a12 a21 a22; >> a>b >> A=[a11,a12;a21,a22]ans =>> AD=det(A) % 队列式 0 1 0 >> AI=inv(A) % 逆 11>> AE=eig(A) % 特点值>> a>=b A =ans =[ a11, a12] 0 1 0 [ a21, a22] 11AD =>> a<b a11*a22-a12*a21 ans =AI =1 0 1 [ -a22/(-a11*a22+a12*a21), a12/(-a11*a22+a12*a21)]1[ a21/(-a11*a22+a12*a21), -a11/(-a11*a22+a12*a21)] >> a<=b AE =ans =1 0 1 [ 1/2*a11+1/2*a22+1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]1>> a==b [ 1/2*a11+1/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]ans =9 因式分解: x 45x 3 5 x 2 5x 60 0 0 >> syms x;>> f=x^4-5*x^3+5*x^2+5*x-6; >> a~=b >> factor(f) ans =ans =1 1 1 (x-1)*(x-2)*(x-3)*(x+1) 111ax 214 计算多项式乘法 (x 2+2x+2)(x 2+5x+4),用符号微分求 df/dx 。
(完整版)matlab上机题目一
上机一1、(1(2) 查询所有人的成绩。
2、已知:A=[27,24,0,-1;23,35,1,14;e 4,-8,13,20;10,12,19,21;11,18,ln2,0], 求:(1)求A 中第4、5、2行与第2、4、1列组成的C 阵,并将C 中第2行元素全改成8,得到D 阵;(2) 创建与A 同维的G 阵,使C 阵左右翻转后位于G 中第2行至第4行、第2列至第4列位置,且G 中第1行第1列元素为1,其余元素为0。
(3) 求A 阵除以3的余数阵H 。
3、已知:A=[5,17,-2,3;-1,0,21,11;14,9,-10,8],B=[2,5,8,-1;12,-2,7,8;11,13,16,4] 求:(1)将A 除以B 阵的对应元素,并将结果朝负无穷大方向取整。
(2)求A./B , B.\A ,A.*B 和A*B ’的值。
(3)求2*ones(3,4)-eye(3,4)|A-B>B&B-8的值.4、要求在闭区间[0,2π ]上产生50个等距采样的一维数组。
试用两种不同的指令实现。
5、对矩阵,⎥⎦⎤⎢⎣⎡=4321A 问如下MATLAB 指令:)(),(),5.0(^),5.0(.^A sqrtm A sqrt A A 所得的结果相同吗?他们中的哪个结果为复数矩阵? 6、说出MATLAB 指令A (3,1,2,: )=1:4所产生数组的维数、大小和长度;然后对A 进行降维处理;最后指出所有非零元素的“全下标”位置。
7、现有五个数组: (2×3)的实数数组A ; (2×3)的复数数组B ; (2×3)的字符串数组C ; (2×3)的异质(元胞)数组D ; (2×3)的结构(构架)数组E 。
问,它们各占多少字节?8、写出使以下这段文字成为字符串的MATLAB 程序。
注意保持这段文字的格式。
在英式用法中,引号通常是单引号,如‘Fire!’。
《MATLAB及其应用》上机作业.doc(修订于2009.11.19)
《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”。
MATLAB上机作业
MATLAB上机作业MATLAB 上机作业1对以下问题,编写M 文件:(1) 用起泡法对10个数由小到大排序。
即将相邻两个数比较,将小的调到前头。
function f=qipaofa(x) for j=9:-1:1 for i=1:j if(x(i)>x(i+1))t=x(i);x(i)=x(i+1);x(i+1)=t; end end end f=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:4 for j=1:5 if x(i,j)>ca=i;b=j;c=x(i,j); end end endf=[c,a,b]x=rand(4,5) zuidazhi(x)(3) 编程求∑=201!n n 。
function f=qiuhe(x) b=0; for i=1:x a=prod(1:i); b=b+a; end f=bqiuhe(20)(4)一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。
求它在第10次落地时,共经过多少米?第10次反弹有多高? function f=gao(x)b=x; for i=2:10 x=x/2; a=x*2; b=b+a; end f=[b x/2]gao(100)(5)有一函数y xy xy 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 k s=4^k;S=symsum(s,k,0,40)2. 求函数71862)(23+--=x xx x f 的极值,并作图。
matlab上机习题详解 试题答案
第一次实验答案1. 设要求以0.01秒为间隔,求出y 的151个点,并求出其导数的值和曲线。
clc clearx=0:0.01:1.5;y=sqrt(3)/2*exp(-4*x).*sin(4*sqrt(3)*x+pi/3)y1=diff(y) subplot(2,1,1) plot(x,y)subplot(2,1,2) plot(x(1:150),y1)2绘制极坐标系下曲线(a,b,n 自定数据)clc clear a=10; b=pi/2; n=5;theta=0:pi/100:2*pi; rho=a*cos(b+n*theta); polar(theta,rho)3. 列出求下列空间曲面交线的程序clc clearx=[-5:0.5:5];[X,Y]=meshgrid(x); z1=X.^2-2*Y.^2;z2=X.*2-Y.*3; xlabel('x') ylabel('y') zlabel('z') surf(X,Y,z1) hold onsurf(X,Y,z2)k=find(abs(z1-z2)<0.5); x1=X(k) y1=Y(k)z3=x1.^2-2*y1.^2 hold onplot3(x1,y1,z3,'*')4、设 ⎥⎦⎤⎢⎣⎡++=)1(sin 35.0cos 2x x x y 把x=0~2π间分为101点,画出以x 为横坐标,y为纵坐标的曲线,要求有图形标注。
clc clearx=-2*pi:0.1: 2*pi;y=cos(x).*(0.5+sin(x)*3./(1+x.^2)); plot(x,y,'b*-'); title('绘图'); xlabel('x 坐标'); ylabel('y 坐标'); legend('原函数')gtext('y=cos(x)(0.5+3*sin(x)/(1+x^2))')5、求下列联立方程的解 81025695832475412743-=+-+-=-+-=++-=--+w z y x w z x w z y x w z y xclc cleara=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10];b=[4,-3,9,-8]; c=b/a; x=c(1,1) y=c(1,2) z=c(1,3) w=c(1,4)6. 假设一曲线数据点为x = 0:2:4*pi;y = sin(x).*exp(-x/5);试将x 的间距调成 0.1,采用不同插值方法进行插值,并通过子图的形式将不同插值结果和原始数据点绘制在同一图形窗口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四次 上机作业
1、 从键盘输入一个4位整数,按照如下规则加密后输出。
加密规则:每位数字
都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。
Clear X=ones(1,4);
X (1)=input(’输入第一位:‘); X (2)=input(’输入第二位:‘); X (3)=input(’输入第三位:‘); X (4)=input(’输入第四位:‘); X=rem(7+x,10);
Y=1000.*x(3)+100.*x(4)+10.*x(1)+x(2)
2、 分别用if 和switch 语句实现以下计算,其中a 、b 、c 的值从键盘输入。
⎪⎪⎩
⎪
⎪⎨⎧
<≤+<≤+<≤++=5
.55.3,
ln 5.35.1,
sin 5.15.0,2x x c b x x b a x c bx ax y c a=input(‘请输入a :’); b=input(‘请输入b :’); c=input(‘请输入c :’); If(x>=0.5&&x<=1.5) y=a.*x^2+b.*x+c Elseif(x>=1.5&&x<=3.5) y=a.*(sin(b))^c+x
Elseif(x>=3.5&&x<=5.5)
y=log(abs(b+c./x))
end
a=input(‘请输入a:’);
b=input(‘请输入b:’);
c=input(‘请输入c:’);
Switch x
case(x>=0.5&&x<=1.5)
y=a.*x^2+b.*x+c
case(x>=1.5&&x<=3.5)
y=a.*(sin(b))^c+x
case(x>=3.5&&x<=5.5)
y=log(abs(b+c./x))
end
3、产生20个两位随机整数,输出其中小于平均值的偶数。
Clear al ;close all ;clc;
X=fix(rand(1,20)*89)+10;
Disp([‘20个随机数是:’,num2str(x)]);
X1=mean(x);
Disp([‘平均值为:’,num2str(x1)]);
N=find(rem(x,2)==0&x<x1);
Disp([‘小于平均值的偶数是:’,num2str(x(n))]);
4、 输入20个数,求其中最大数和最小数。
要求分别用循环结构和调用Matlab
的max 函数、min 函数来实现。
Clear all ;close all ;clc;
A=input(‘请输入20个数的一个行向量:’); a=A(1); b=A(1); For m=A Ifa>=m a=m; Else if b<=m b=m; End End
Disp([‘最小的数是:’,num2str(a)]) Disp([‘最大的数是:’,num2str(a)])
5、 已知:633222221+++++= s 分别用循环结构和调用Matlab 的sum 函数
求s 的值。
Clear all ;close all ;clc; S=0; For a=0:63 C=2^a S=s+c; End
Disp([‘2的0次方到63次方的和是:’,num2str(s)])
6、 当n 分别取100、1000、10000时,求下列各式的值。
(1) )2ln (1)1(41312111=+-++-+-
+ n n (2) )4(7151311π=+-+-
(3) )31(4
164116141=+++++ n
要求分别用循环结构和向量运算(使用sum 或prod 函数)来实现。
Clear all ;close all ;clc; Sum1=0;%当n 取100时 For n= 1:100 X=(-1)^(n+1)*(1/n); Sum1=sum1+x; End
Disp([‘当n 取1000时:sum=’,num2str(sum2)] Sum2=0;%当n 取1000时 For n= 1:1000 X=(-1)^(n+1)*(1/n); Sum2=sum2+x; End
Disp([‘当n 取10000时:sum=’,num3str(sum3)] Sum2=0;%当n 取10000时 For n= 1:10000 X=(-1)^(n+1)*(1/n); Sum3=sum3+x; End
7、 编写一个函数文件,求小于任意自然数n 的Fibnacci 数列各项。
Fibnacci 数
列定义如下:
⎪⎩⎪
⎨⎧>+=====--2
,
2,
11,12121n f f f n f n f n n n
Function f=func_fibnacci(n)
%FIBNACCI 斐波那契(Finacci )数列 %f=func_fibnacci(n),
%Written by wangchngyou@shandongUniversity at wcihai,2011 If n==1 n==2 F=1; Else
F=func_fibnacci(n-1)+func_fibnacci(n-2); end
8、 编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在命令文件中调用
该函数。
Clear all ;close all ;clc; A=input(‘请输入一个矩阵:’) B=input(‘请输入一个矩阵:’) [f1,f2]=func_Matrixprod(a,b); Disp(‘两矩阵乘积运算结果为:’) Disp(fi)
Disp(‘两矩阵点积运算结果为:’) Disp(f2)
9、 先用函数的递归调用定义一个函数文件求∑=n
i m i 1,然后调用该函数求
∑
∑∑===++10
150
1
2
1001
1k k k k
k
k 。
Function sum=func_Sigmasum(n,m) %SIGAMASUM 西格玛求和 %sum=func_SigmaSuum(n,m)
%written by wangchenyou@shangdong University at weihai 2011 Ifn<=1 Sum=0; Else
Sum=n^m+func_sigmasum(n-1,m); end
10、 写出下列程序的输出结果。
(1) s=0;
a=[12,13,14;15,16,17;18,19,20;21,22,23]; for k=a for j=1:4 if rem(k(j),2)~=0 s=s+k(j); end end end s
(2)命令文件exe.m: global x x=1:2:5;y=2:2:6;
exsub(y);
x
y
函数文件sub.m: function fun=sub(z) global x
z=3*x;
x=x+z;
答: 1.s=108
2. X= 4 12 20
Y=2 4 6。