Matlab作业 第5-7题

合集下载

MATLAB作业5参考答案

MATLAB作业5参考答案

MATLAB作业5参考答案1、 试求出下面线性微分方程的通解。

543225432()()()()()136415217680()[sin(2)cos(3)]3t d y t d y t d y t d y t dy t y t e t t dt dt dt dt dt π-+++++=++假设上述微分方程满足已知条件(0)1,(1)3,()2,(0)1,(1)2y y y y y π=====,试求出满足该条件的微分方程的解析解。

【求解】先定义t 为符号变量,求出等号右侧的函数,则可以由下面命令求出方程的解析 解,解的规模较大,经常能占数页。

>> syms texp(-2*t)*(sin(2*t+sym(pi)/3)+cos(3*t))ans =exp(-2*t)*(sin(2*t+1/3*pi)+cos(3*t))>> y=dsolve(['D5y+13*D4y+64*D3y+152*D2y+176*Dy+80*y=',...'exp(-2*t)*(sin(2*t+1/3*pi)+cos(3*t))'],'y(0)=1','y(1)=3','y(pi)=2',...'Dy(0)=1','Dy(1)=2')略:事实上,仔细阅读求出的解析解就会发现,其中大部分表达式是关于系数的,所以如果能对 系数进行近似则将大大减小解的复杂度。

>> vpa(y)ans =.20576131687242798353909465020576e-2*exp(-2.*t)*cos(3.*t)+.15538705805619602372728107411086e-1*exp(-2.*t)*sin(2.*t)+.76830587084294035590921611166287e-2*exp(-2.*t)*cos(2.*t)-106.24422608844727797303237726774*exp(-2.*t)*t^2+98.159206062620455331994871615083*exp(-2.*t)*t+59.405044899367325888329709780356*exp(-2.*t)*t^3-30.741892776456442808809983330755*exp(-2.*t)+.20576131687242798353909465020576e-2*exp(-2.*t)*sin(3.*t)+31.732152104579289125415500223136*exp(-5.*t)2、 试求解下面微分方程的通解以及满足(0)1,()2,(0)0x x y π===条件下的解析解。

Matlab优化设计作业答案

Matlab优化设计作业答案

长江大学机械工程学院机械优化设计大作业班级2012年5月31-361、⎩⎨⎧=+-=++⋅+-++=22422min 321321321232221x x x x x x t s x x x x x x f解: function f=fun1(x)f=x(1)^2+2*x(2)^2+x(3)^2-2*x(1)*x(2)+x(3)clearclcx0=[1;1;1];A=[];b=[];Aeq=[1 1 1;2 -1 1];beq=[4;2];lb=[];ub=[];[x,fval,exitflag]=fmincon('fun1',x0,A,b,Aeq,beq,lb,ub)x =1.90911.95450.1364fval =3.9773exitflag =12、221212min ()2130f x x x x s t x =+-+⋅-≤解: function f=fun2(x)f=x(1)^2+x(2)^2-2*x(1)+1clearclcx0=[1;1];A=[0 -1];b=-3;Aeq=[];beq=[];lb=[];ub=[];[x,fval,exitflag]=fmincon('fun2',x0,A,b,Aeq,beq,lb,ub)x =13fval =9exitflag =13、 2212min ()(2)f X x x =-+112222312..()0()0()10s t g X x g X x g X x x =-≤=-≤=-+-≤解:function f=fun3(x)f=(x(1)-2)^2+x(2)^2function [g,ceq]=mycon3(x)g=[-x(1);-x(2);-x(1)^2+x(2)^2-1];ceq=[];clearclcx0=[0;0];A=[];b=[];Aeq=[];beq=[];lb=[];ub=[];[x,fval]=fmincon('fun3',x0,A,b,Aeq,beq,lb,ub,'mycon3')x =2.0000fval =2.2204e-0164、⎩⎨⎧≤--≤+--⋅++++=01005.1)12424(min 21212122122211x x x x x x t s x x x x x e f x解: function f=fun4(x)f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);function [g,ceq]=mycon4(x)g(1)=1.5+x(1)*x(2)-x(1)-x(2);g(2)=-x(1)*x(2)-10;ceq=[];clearclcx0=[0;0];A=[];b=[];Aeq=[];beq=[];lb=[];ub=[];[x,fval]=fmincon('fun4',x0,A,b,Aeq,beq,lb,ub,'mycon4')x =1.1825-1.7398fval =3.06085 喜糖问题:需要购买甲乙两种喜糖,喜糖甲10元/斤,喜糖乙20元/斤。

MATLAB讲座5作业及答案(附程序)

MATLAB讲座5作业及答案(附程序)
7 4 12 9; 10 17 4 5]; B=eye(3); [m,n]=size(A); A1=max(A) A2=min(A')' A3=eye(m,n) C1=A'*B C2=B*A;
C2=C2.^4
20
3、求 n! n1
Matlab 程序: clear all;clc;close all; n=20; sum=0; temp=1; for i=1:n
end end 2、已知 A=[2 13 23 5;7 4 12 9 ;10 17 4 5] ,B=eye (3),求 (1) A 中行的最大元素; (2) A 中列的最小元素; (3) 生成一个与 A 大小相等的单位阵; (4) C1=A’*B; (5) C2=A*B,C24 (6) C3=2A—3B Matlab 程序: clear all;clc;close all; A=[2 13 23 5;
matlab讲座5作业及答案附程序1将101125等25个数填入一个5行5列的表格中使每行每列及对角线的值和均为5652已知a213235
MATLAB 讲座 5 作业及答案(附程序) 1、将 101-125 等 25 个数填入一个 5 行 5 列的表格中,使每 行每列及对角线的值和均为 565 Matlab 程序: clear all;clc;close all; n=10000; for i=1:n
temp=temp*i; sum=sum+temp; end sum
4、求以下数列极限:
(1) lim x0
x2 1 x sin x
c os x
1
1
(2Байду номын сангаас lim x 1-
1
,
lim

MATLAB作业

MATLAB作业

MATLAB作业⼀、必答题:1. MATLAB系统由那些部分组成?答:MATLAB系统主要由开发环境、MATLAB语⾔、MATLAB数学函数库、图形功能和应⽤程序接⼝五个部分组成。

2. 如何启动M⽂件编辑/调试器?答:在操作界⾯上选择“建⽴新⽂件”或“打开⽂件”操作时,M⽂件编辑/调试器将被启动。

在命令窗⼝中键⼊“edit”命令也可以启动M⽂件编辑/调试器。

3. 存储在⼯作空间中的数组能编辑吗?如何操作?答:存储在⼯作空间的数组可以通过数组编辑器进⾏编辑:在⼯作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输⼊修改内容即可。

4. 在MATLAB中有⼏种获得帮助的途径?答:在MATLAB中有多种获得帮助的途径:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器;(2)help命令:在命令窗⼝键⼊“help” 命令可以列出帮助主题,键⼊“help 函数名”可以得到指定函数的在线帮助信息;(3)lookfor命令:在命令窗⼝键⼊“lookfor 关键词”可以搜索出⼀系列与给定关键词相关的命令和函数(4)模糊查询:输⼊命令的前⼏个字母,然后按Tab键,就可以列出所有以这⼏个字母开始的命令和函数。

5. 有⼏种建⽴矩阵的⽅法?各有什么优点?答:(1)以直接列出元素的形式输⼊;(2)通过语句和函数产⽣;(3).在m⽂件中创建矩阵;(4)从外部的数据⽂件中装⼊。

6. 命令⽂件与函数⽂件的主要区别是什么?答:命令⽂件: M⽂件中最简单的⼀种,不需输出输⼊参数,⽤M ⽂件可以控制⼯作空间的所有数据。

运⾏过程中产⽣的变量都是全局变量。

运⾏⼀个命令⽂件等价于从命令窗⼝中顺序运⾏⽂件⾥的命令,程序不需要预先定义,只要依次将命令编辑在命令⽂件中即可。

函数⽂件:如果M⽂件的第⼀个可执⾏⾏以function开始,便是函数⽂件,每⼀个函数⽂件定义⼀个函数。

数学建模作业题+答案

数学建模作业题+答案

数学建模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-数学实验大作业答案

MATLAB实验练习题(计算机)-南邮-MATLAB-数学实验大作业答案

“MATLAB”练习题要求:抄题、写出操作命令、运行结果,并根据要求,贴上运行图。

1、求230x e x -=的所有根.(先画图后求解)(要求贴图)>> solve('exp(x)—3*x^2',0)ans =—2*lambertw (—1/6*3^(1/2))-2*lambertw(—1,—1/6*3^(1/2))—2*lambertw (1/6*3^(1/2))3、求解下列各题:1)30sin lim x x x x ->->> sym x ;〉> limit((x-sin (x))/x^3)ans =1/62) (10)cos ,x y e x y =求>> sym x;>> diff (exp(x )*cos(x),10)ans =(-32)*exp(x)*sin (x)3)21/20(17x e dx ⎰精确到位有效数字)〉〉 sym x;〉〉 vpa((int(exp(x^2),x,0,1/2)),17)ans =0.544987104183622224)42254x dx x+⎰〉> sym x ;>〉 int (x^4/(25+x^2),x)ans =125*atan (x/5) - 25*x + x^3/35)求由参数方程arctan x y t⎧⎪=⎨=⎪⎩dy dx 与二阶导数22d y dx 。

〉> sym t;>> x=log(sqrt (1+t^2));y=atan(t);〉> diff (y ,t )/diff (x ,t)ans =1/t6)设函数y =f (x )由方程xy +e y = e 所确定,求y ′(x ).>> syms x y ;f=x *y+exp(y )—exp (1);〉> -diff(f,x )/diff (f,y)ans =-y/(x + exp (y))7)0sin 2x e xdx +∞-⎰>〉 syms x ;>〉 y=exp(-x)*sin(2*x );〉> int(y ,0,inf )ans =2/58) 08x =展开(最高次幂为)〉> syms xf=sqrt(1+x);taylor(f,0,9)ans =— (429*x^8)/32768 + (33*x^7)/2048 — (21*x^6)/1024 +(7*x^5)/256 - (5*x^4)/128 + x^3/16 - x^2/8 + x/2 + 19) 1sin (3)(2)x y e y =求〉> syms x y ;>〉 y=exp(sin (1/x));>〉 dy=subs (diff(y,3),x ,2)dy =—0.582610)求变上限函数2x x ⎰对变量x 的导数.>> syms a t ;>〉 diff (int(sqrt(a+t),t,x ,x^2))Warning: Explicit integral could not be found 。

MATLAB与控制系统仿真大作业

MATLAB与控制系统仿真大作业

>> G1=tf(num,den);
>> G1=zpk(G1)
G1 =
5 (s+0.6) ----------------(s+3) (s+2) (s+1)
>> num=[2 1]; den=[1 2.9 1]; G2=tf(num,den); >> G2=zpk(G2)
G2 =
2 (s+0.5)
>> xlabel('x') ylabel('exp(-2.*x)')
三、simulink 建模(每题 10 分,共 20 分)
1、已知单位负反馈的开环传递函数为 G(s) =
2 s2 + 4s
,试利用
simulink
建立系在单位阶跃输入作用下的模型。
要求答案包括:(1)simulink 建模结构图;
(2)在同一个坐标中的阶跃信号和响应曲线图。
2、已知系统的开环传递函数为
G1(s)
=
2s2 + 5s + 6 s2 + 2s + 3
、G2 (s)
=
s2
s+6 + 7s +1
,H
(s)
=
5(s + 2) s +10
求:建立 Simulink 仿真模型,并求出其系统在单位阶跃响应;
要求答案包括:(1)simulink 建模结构图;
x=
-2.9709
0.5491
3.6000
0.0509
2. 已知下列矩阵
2 3 1
−1 3 5
A
=

matlab大作业

matlab大作业

Matlab语言及应用周一晚作业廖育州07010559%第一组程序%绘制选用潍柴发动机WD615.50时汽车行驶性能曲线图,Ft--Ua图clear,clc;%清除内存变量,清屏%n为发动机的转速n=[1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,2100,2200];%Te为发动机在对应以上转速n下的外特性输出转矩Te=[1100,1125,1140,1145,1150,1180,1140,1125,1090,1060,1010,975,940];%ig为变速器不同档下的速比ig=[11.40;7.94;5.63;4.06;2.81;1.96;1.39;1.00];%nt为传动效率,是变速器、辅助变速器、传动轴、万向节、主减速器等四者的效率的乘积nt=0.849;Rr=0.5145; %Rr是车轮实际滚动半径i0=4.625; %i0是所选用的主减速器的速比ig1=1./(i0.*ig); %ig1只是为计算方便而设立的中间值,无物理意义Ua=0.377*Rr.*ig1*n; %Ua是在不同档位下,发动机不同扭矩下的车速Ft=ig*Te*i0*nt/(Rr*1000); %Ft是在不同档位下,发动机不同扭矩下的驱动力for n=1:8 % 8个档位对应八条曲线,八次循环p1=polyfit(Ua(n,:),Ft(n,:),5); %把先前计算所得的同一档位下的速度和驱动力拟合成曲线x2=Ua(n,1):0.1:Ua(n,13); % 设定曲线的X轴的取值范围和精度y1=polyval(p1,x2); % 计算曲线的Y轴的取值plot(x2,y1,'r-'); % 用红线绘制曲线hold on; % 把持当前的曲线,准备绘制下一条曲线end % 循环到此结束set(gca,'ygrid','on'); % 绘制水平线title('选用潍柴发动机WD615.50时汽车行驶性能曲线,Ft--Ua图'); %设定图片的标题名ylabel('Ft/(kN)'),xlabel('Ua/(km/h)'); %设定图片的x、y轴名称%******************************************************************************* %第二组程序绘制一个900*900的黑白格图片,并输出clear,clc;%清除内存中的变量,清屏B=ones(150,150); %定义一个150*150的一矩阵,作为白格C=zeros(150,150); %定义一个150*150的零矩阵,作为黑格A=[B,C,B;C,B,C;B,C,B]; %定义黑白格位置关系imshow(A)%******************************************************************************* %第三组程序计算曲线拟合系数clear,clc; %清除内存中的变量,清屏%n是发动机转速n=[1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 2200];n1=n/(1000); %n1无物理意义,只是作为方便计算的中间变量%ge为与转速n对应的油耗ge=[202 200 195 194 192 194 196 199 202 207 212 217 223 ];p1=polyfit(n1,ge,5); %用5阶拟合n1和gep1 %输出p1,p1为比油耗特性拟合多项式的系数向量%Te为发动机在不同转速下的转矩Te=[1100 1125 1140 1145 1150 1180 1140 1125 1090 1060 1010 975 940];%转矩p2=polyfit(n1,Te,5); %用5阶拟合n1和Tep2 %输出p2,p2为转矩特性拟合多项式的系数向量%******************************************************************************* %第四组程序求符号表达式的和与差syms x fx gx %定义符号变量等于符号表达式fx=2*x^2+3*x-5; %定义fxgx=x^2+7; %定义gxfx+gx %求解fx+gx的符号表达式%******************************************************************************* %第五组程序绘制三维立体峰图[x,y]=meshgrid(-3:1/10:3,-3:1/10:3); %定义x,y的取值范围及网格划分精度z=peaks(x,y); %计算z值surfc(x,y,z); %绘图%******************************************************************************* %第六组程序计算导数clc,clear %清屏,清除内存中的变量syms a b t x y z; %定义a b t x y z等为变量符合f=sqrt(1+exp(x)); %定义原始式子fA=diff(f) %对f求一阶导数B=diff(f,x,3) %对f求三阶导数%****************************************************************************** %第七组程序求方程的所有解clear,clc;%清除内存中的变量,清屏p=[5,10,3,-71,9,13]; %定义方程x=roots(p) %求解方程的根%******************************************************************************* %第八组程序%找出一串奇数个数字串中的中间那个数字,或者偶数个数字串中的中间那两个数字的平均值clc , clear; %清屏,清除内存中的变量,A=input('请输入一串数据,并以回车键结束输入','s'); % 输入一串数字字符n=length(A); %计算字符串A的长度i=mod(n,2); %求余if i==1 %如果奇数个字符m=(n-1)/2+1; %找出中间那个数字middle=A(m) %输出中间那个数字else %如果是偶数个字符m=n/2;z=A(m)+A(m+1)-96; %把字符的ASCII码转换成数字s=z/2 %求出中间那两个数字的平均值end %程序到此结束。

MATLAB平时作业(图文版)

MATLAB平时作业(图文版)

MATLAB 平时作业第一章 习题16. 以下两种说法对吗?(1)“MATLAB 的数值表达精度与其指令窗中的数据显示精度相同。

”答:此种说法错误。

MATLAB 提供了控制数据显示格式的控制指format ,该指令并不改变MATLAB 内存中变量的精度,只是改变其显示精度。

(2)“MATLAB 指令窗中显示的数值有效位数不超过7位。

”答:此种说法错误。

当变量小于1000时,使用format 或format short 后,或者默认情况下,变量的显示精度最多不超过7位,但显示精度不等于变量的精度。

7. 想要在MATLAB 中产生二维数组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321S ,下面哪些指令能实现目的? S=[1,2,3;4,5,6;7,8;9]S=[1 2 3;4 5 6;7 8 9]S=[1,2,3;4,5,6;7,8,9] %整个指令在中文状态下输入 答:操作如图:第1、2条指令可以实现,第3条指令不可实现。

第三章 习题31.在MATLAB 中,先运行指令A=magic(3), B=[1,2,1;3,4,3;5,6,7], C=reshape(1:6,3,2)生成阵列33⨯A ,23⨯B ,23⨯C ,然后根据运行结果回答以下问题:运行结果如图:(1)计算A*B, B*A ,这两个乘积相同吗? 计算结果如图:答:不同。

(2)计算A\B, B/A ,左除、右除结果相同吗?计算结果如图:答:不同。

(3)计算B( : ,[1,2]).*C和C.*B( : , [1,2]),这两个乘积相同吗?计算结果如图答:相同。

(4)计算A\A和A.\A,这两个计算结果相同吗?计算结果如图:答:相同。

(5)计算A\eye(3)和inv(A),这两个计算结果相同吗?计算结果如图:答:不同。

(提示:根据对计算结果的目测回答问题)2.在MATLAB中,先运行A=[1, 2; 3, 4],b=0.5,C=[4, 2; 1, 0.5], 然后根据计算结果回答以下问题:创建数据步骤略(1)计算A^b和A.^b, 这两个计算结果相同吗?答:不同。

Matlab习题及答案

Matlab习题及答案

现代计算方法Matlab 作业答案1.绘出函数f(x)=sin x x ,在[0,4]上的图形解:在M 文件输入:x=0:pi/100:4;y=x.*sin(x);plot(y)运行2. 求3x +2x +5 = 0的根解:在命令窗口输入:>> solve('x^3+2*x+5=0')ans =((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3) - 2/(3*((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3))1/(3*((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)) - ((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)/2 -(3^(1/2)*i*(2/(3*((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)) + ((108^(1/2)*707^(1/2))/108 -5/2)^(1/3)))/21/(3*((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)) - ((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)/2 +(3^(1/2)*i*(2/(3*((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)) + ((108^(1/2)*707^(1/2))/108 -5/2)^(1/3)))/23.321436min x x x z ++=120..321=++x x x t s301≥x5002≤≤x203≥x解:运用单纯形法计算此题,首先把约束条件化成标准形式:,,,,,205030120654321635241321≥=-=+=-=++x x x x x x x x x x x x x x x(1)在M 文件输入SimpleMthd 函数:function [x,minf] = SimpleMthd(A,c,b,baseVector)sz = size(A);nVia = sz(2);n = sz(1);xx = 1:nVia;nobase = zeros(1,1);m = 1;for i=1:nViaif (isempty(find(baseVector == xx(i),1)))nobase(m) = i;m = m + 1;else;endendbCon = 1;M = 0;while bConnB = A(:,nobase);ncb = c(nobase);B = A(:,baseVector);cb = c(baseVector);xb = inv(B)*b;f = cb*xb;w = cb*inv(B);for i=1:length(nobase)sigma(i) = w*nB(:,i)-ncb(i);end[maxs,ind] = max(sigma);if maxs <= 0minf = cb*xb;vr = find(c~=0 ,1,'last');for l=1:vrele = find(baseVector == l,1);if (isempty(ele))x(l) = 0;elsex(l)=xb(ele);endendbCon = 0;elsey = inv(B)*A(:,nobase(ind));if y <= 0disp('不存在最优解!');x = NaN;minf = NaN;return;elseminb = inf;chagB = 0;for j=1:length(y)if y(j)>0bz = xb(j)/y(j);if bz<minbminb = bz;chagB = j;endendendtmp = baseVector(chagB);baseVector(chagB) = nobase(ind);nobase(ind) = tmp;endendM = M + 1;if (M == 1000000)disp('找不到最优解!');x = NaN;minf = NaN;return;endend(2)在命令窗口输入:clear allA=[1 1 1 0 0 0;1 0 0 -1 0 0;0 1 0 0 1 0;0 0 1 0 0 -1];c=[6 3 4 0 0 0];b=[120;30;50;20];[xm,mf]=SimpleMthd(A,c,b,[3 4 5 6])xm =0 50 70mf =4304.计算下面函数在区间(0,1)内的最小值。

matlab综合大作业(附详细答案)

matlab综合大作业(附详细答案)

m a t l a b综合大作业(附详细答案)-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII《MATLAB语言及应用》期末大作业报告1.数组的创建和访问(20分,每小题2分):1)利用randn函数生成均值为1,方差为4的5*5矩阵A;实验程序:A=1+sqrt(4)*randn(5)实验结果:A =0.1349 3.3818 0.6266 1.2279 1.5888-2.3312 3.3783 2.4516 3.1335 -1.67241.2507 0.9247 -0.1766 1.11862.42861.5754 1.6546 5.3664 0.8087 4.2471-1.2929 1.3493 0.7272 -0.6647 -0.38362)将矩阵A按列拉长得到矩阵B;实验程序:B=A(:)实验结果:B =0.1349-2.33121.25071.5754-1.29293.38183.37830.92471.65461.34930.62662.4516-0.17665.36640.72721.22793.13351.11860.8087-0.66471.5888-1.67242.42864.2471-0.38363)提取矩阵A的第2行、第3行、第2列和第4列元素组成2*2的矩阵C;实验程序:C=[A(2,2),A(2,4);A(3,2),A(3,4)]实验结果:C =3.3783 3.13350.9247 1.11864)寻找矩阵A中大于0的元素;]实验程序:G=A(find(A>0))实验结果:G =0.13491.25071.57543.38183.37830.92471.65461.34930.62662.45165.36640.72721.22793.13351.11860.80871.58882.42864.24715)求矩阵A的转置矩阵D;实验程序:D=A'实验结果:D =0.1349 -2.3312 1.2507 1.5754 -1.29293.3818 3.3783 0.9247 1.6546 1.34930.6266 2.4516 -0.1766 5.3664 0.72721.2279 3.1335 1.1186 0.8087 -0.66471.5888 -1.67242.4286 4.2471 -0.38366)对矩阵A进行上下对称交换后进行左右对称交换得到矩阵E;实验程序:E=flipud(fliplr(A))实验结果:E =-0.3836 -0.6647 0.7272 1.3493 -1.29294.2471 0.80875.3664 1.6546 1.57542.4286 1.1186 -0.1766 0.9247 1.2507-1.6724 3.1335 2.4516 3.3783 -2.33121.5888 1.2279 0.6266 3.3818 0.13497)删除矩阵A的第2列和第4列得到矩阵F;实验程序:F=A;F(:,[2,4])=[]实验结果:F =0.1349 0.6266 1.5888-2.3312 2.4516 -1.67241.2507 -0.17662.42861.5754 5.3664 4.2471-1.2929 0.7272 -0.38368)求矩阵A的特征值和特征向量;实验程序:[Av,Ad]=eig(A)实验结果:特征向量Av =-0.4777 0.1090 + 0.3829i 0.1090 - 0.3829i -0.7900 -0.2579 -0.5651 -0.5944 -0.5944 -0.3439 -0.1272-0.2862 0.2779 + 0.0196i 0.2779 - 0.0196i -0.0612 -0.5682 -0.6087 0.5042 - 0.2283i 0.5042 + 0.2283i 0.0343 0.6786 0.0080 -0.1028 + 0.3059i -0.1028 - 0.3059i 0.5026 0.3660 特征值Ad =6.0481 0 0 0 00 -0.2877 + 3.4850i 0 0 00 0 -0.2877 - 3.4850i 0 00 0 0 0.5915 00 0 0 0 -2.30249)求矩阵A的每一列的和值;实验程序:lieSUM=sum(A)实验结果:lieSUM =-0.6632 10.6888 8.9951 5.6240 6.208710)求矩阵A的每一列的平均值;实验程序:average=mean(A)实验结果:average =-0.1326 2.1378 1.7990 1.1248 1.24172.符号计算(10分,每小题5分):1)求方程组20,0++=++=关于,y z的解;uy vz w y z w实验程序:S = solve('u*y^2 + v*z+w=0', 'y+z+w=0','y,z');y= S. y, z=S. z实验结果:y =[ -1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))-w] [ -1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))-w] z =[ 1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))] [ 1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))]2)利用dsolve 求解偏微分方程,dx dyy x dt dt==-的解; 实验程序:[x,y]=dsolve('Dx=y','Dy=-x')实验结果:x =-C1*cos(t)+C2*sin(t)y = C1*sin(t)+C2*cos(t)3.数据和函数的可视化(20分,每小题5分):1)二维图形绘制:绘制方程2222125x y a a +=-表示的一组椭圆,其中0.5:0.5:4.5a =;实验程序:t=0:0.01*pi:2*pi; for a=0.5:0.5:4.5; x=a*cos(t); y=sqrt(25-a^2)*sin(t); plot(x,y) hold on end实验结果:2) 利用plotyy 指令在同一张图上绘制sin y x =和10x y =在[0,4]x ∈上的曲线;实验程序:x=0:0.1:4; y1=sin(x); y2=10.^x;[ax,h1,h2]=plotyy(x,y1,x,y2); set(h1,'LineStyle','.','color','r'); set(h2,'LineStyle','-','color','g'); legend([h1,h2],{'y=sinx';'y=10^x'});实验结果:3)用曲面图表示函数22z x y =+;实验程序:x=-3:0.1:3; y=-3:0.1:3; [X,Y]=meshgrid(x,y); Z=X.^2+Y.^2; surf(X,Y,Z)实验结果:4)用stem 函数绘制对函数cos 4y t π=的采样序列;实验程序:t=-8:0.1:8;y=cos(pi.*t/4); stem(y)实验结果:4. 设采样频率为Fs = 1000 Hz ,已知原始信号为)150π2sin(2)80π2sin(t t x ⨯+⨯=,由于某一原因,原始信号被白噪声污染,实际获得的信号为))((ˆt size randn x x+=,要求设计出一个FIR 滤波器恢复出原始信号。

MATLAB大作业

MATLAB大作业

M A T L A B大作业作业要求:(1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。

(2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。

打印稿不要求MATLAB程序,但电子稿要包含MATLAB程序。

(3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。

90问题五:利用MATLAB软件绘制一朵鲜花,实现一定的仿真效果。

提示:二维/三维绘图,对花瓣、花蕊、叶片、花杆等的形状和颜色进行详细设置。

第二类:插值与拟合。

(B级)问题一:有人对汽车进行了一次实验,具体过程是,在行驶过程中先加速,然后再保持匀速行驶一段时间,接着再加速,然后再保持匀速,如此交替。

注意,整个实验过程中从未减速。

在一组时间段50个时间点的速度。

(2)绘制插值图形并标注样本点。

问题二:估算矩形平板各个位置的温度。

已知平板长为5m,宽为3m,平板上3×5栅格点上的温度值为44,25,20,24,30;42,21,20,23,38;25,23,19,27,40。

(1)分别使用最近点插值、线性插值和三次样条插值进行计算。

(2)用杆图标注样本点。

(3)绘制平板温度分布图。

对a,b,c,d的值。

提示:曲线拟合并绘图分析第三类:定积分问题。

(B级)问题一:地球密度随着离中心(r=0)距离的变化而变化,不同半径处的密度如表所示,试估问题二:河道平均流量Q(m3/s)可使用速度和深度的乘积的积分来计算(河道横截面不规则),公式如下。

其中V(x)是离岸x(m)距离处的水速(m/s),H(x)是离岸x距离处的水深(m)。

根据收集到过5(1(2(3(Q,单位是m(1(2(1(2(3)将节点1的力改为方向向上,计算这种改变对H2和V2的影响。

(4)将节点1的力撤销,而在节点1和2处施加1500N的水平外力,求节点3处垂直反作用力(V3)。

MATLAB大作业题目

MATLAB大作业题目

一、 程序分析题1、命令窗口中输入如下命令,在%号后写出每行命令的功能。

(不用写出运算结果) A=1; f0=4; phi=pi/3; w0=2*pi*f0;t=0:0.01:1; %__________________________________________ y=A*cos(w0*t+phi) ;axis off %__________________________________________ PT=plot(t,y); %__________________________________________ set(PT,’LineWidth ’,[5]); %__________________________________________ AX=gca; %__________________________________________ set(AX,’FontSize ’,14); %__________________________________________ axis square %__________________________________________ xlabel(‘时间[s]’); %__________________________________________ T=title(‘余弦波’) %__________________________________________ set(T,’FontSize ’,’16’); %__________________________________________ legend(‘cos ’); %__________________________________________ grid on %__________________________________________二、 程序设计题2、已知两个矩阵:3765213100132610A ---⎡⎤⎢⎥---⎢⎥=⎢⎥-⎢⎥-⎣⎦,1468237021570010B ⎡⎤⎢⎥⎢⎥=⎢⎥--⎢⎥-⎣⎦将矩阵A 中所有等于-1的元素改为3,将矩阵B 中等于0的元素值改为新的矩阵A 中相应位置元素的值,最后将新的矩阵A 的第三、四列的元素全改为-1,编写相应的程序。

Matlab上机作业部分参考答案

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上机作业部分参考答案

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

MATLAB基础训练作业(含答案)

MATLAB基础训练作业(含答案)

实验一 MATLAB 工作环境熟悉及简单命令的执行一、实验目的:熟悉MATLAB 的工作环境,学会使用MATLAB 进行一些简单的运算。

二、实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌面(Desktop ),包括菜单(Menu )、工具条 (Toolbar )、命令窗口(Command Window)、历史命令窗口、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。

三、实验步骤:1、启动MATLAB ,熟悉MATLAB 的桌面。

2、在命令窗口执行命令完成以下运算,观察workspace 的变化,记录运算结果。

(1)(365-522-70)3(2)>>area=pi*^2(3)已知x=3,y=4,在MATLAB 中求z :()232y x y x z -= (4)将下面的矩阵赋值给变量m1,在workspace 中察看m1在内存中占用的字节数。

m1=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡11514412679810115133216 执行以下命令>>m1( 2 , 3 )>>m1( 11 )>>m1( : , 3 )>>m1( 2 : 3 , 1 : 3 )>>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1)(5)执行命令>>help abs查看函数abs 的用法及用途,计算abs( 3 + 4i )(6)执行命令>>x=0::6*pi;>>y=5*sin(x);>>plot(x,y)(6)运行MATLAB 的演示程序,>>demo ,以便对MATLAB 有一个总体了解。

四、思考题1、以下变量名是否合法为什么(1)x2(2)3col(3)_row(4)for2、求以下变量的值,并在MATLAB 中验证。

MATLAB大作业

MATLAB大作业

M A T L A B大作业(总15页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--MATLAB大作业作业要求:(1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。

(2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。

打印稿不要求MATLAB程序,但电子稿要包含MATLAB程序。

(3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。

不要抄袭复制,可以参考网上、文献资料的内容,但要理解,要变成自己的语言,按自己的思路组织内容。

(4)从给出的问题中至少选择一题(多做不限,但必须独立完成,严禁抄袭)。

(5)大作业占过程考核的20%,从完成情况、工作量、作业文档方面评分。

第一类:绘制图形。

(B级)问题一:斐波那契(Fibonacci)螺旋线,也称黄金螺旋线(Golden spiral),是根据斐波那契数列画出来的螺旋曲线,自然界中存在许多斐波那契螺旋线的图案,是自然界最完美的经典黄金比例。

斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契螺旋线,如图所示。

问题二:绘制谢尔宾斯基三角形(Sierpinskitriangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集。

其生成过程为:取一个实心的三角形(通常使用等边三角形),沿三边中点的连线,将它分成四个小三角形,然后去掉中间的那一个小三角形。

接下来对其余三个小三角形重复上述操作,如图所示。

问题三:其他分形曲线或图形。

分形曲线还有很多,教材介绍了科赫曲线,其他还有皮亚诺曲线、分形树、康托(G. Cantor)三分集、Julia集、曼德布罗集合(Mandelbrot set),等等。

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

题目五
题目
5:电器工程低通滤波电路
图3.8简单的低通滤波电路
上图是向大家展示的一个简单的低通滤波电路。

这个电路是由一个电阻和一个电容组成。

输出电压V0与输入电压V i的电压比为
V o V i =
1
1+j2πfRC
其中V i是在频率f下的正弦输入电压。

R代表电阻,单位为欧姆。

C代表电容,单位为法拉。

j为-1
假设R=16kΩ,电容C=1μF,请在同一个图形窗口下分别画出这个滤波器的幅频特性、相频特性曲线,要求幅频特性曲线坐标轴均采用对数坐标,相频特性曲线频率坐标用对数坐标。

代码:
clear all;
R=16000;
C=0.000001;
j=sqrt(-1);
f=1:1:10000;
A=1./(1+j*2.*pi.*f*R.*C);
X=angle(A);
subplot(2,1,1);
loglog(f,A);
title('幅频特性');
xlabel('f');ylabel('A');
grid on;
subplot(2,1,2);
semilogx(f,X);
title('相频特性曲线');
xlabel('f');ylabel('X');
grid on;
题目六
题目:工程师们经常用分贝或dB 来描述两功率之比.1dB 的定义如下
1
210
log 10P P dB =P 2是已测量的功率,P 1代表参考功率.
a.假设参考功率P 1为1mw,编写一个程序,接受一个输入功率P 2并把转化成为以1mw 为参考功率的dB.(它在工程上有一个特殊单位dBm).在编写程序时,注意培养好的编程习惯.
b.写一个程序,创建一个以W 为单位的功率的相对功率(单位为dBm)的图象.第一个图象的XY 轴都要用线性轴.而第二图象要用对数-线性xy 轴.
clear all
P2=input('请输入一个功率P2:');
P1=0.001;
dB=10*log10(P2/1000/P1);
fprintf('dB=%fdBm\n',dB);
P3=1:100;
dBm=10*log10(P3/1000/P1);
subplot(2,1,1);
plot(P3,dBm);
title('线性轴图');
xlabel('P3');ylabel('dBm');
grid on;
subplot(2,1,2);
semilogx(P3,dBm);
title('对数-线性轴图');
xlabel('P3');ylabel('dBm');
grid on;
结果:
R 题目七
题目:收音接收机.电阻上的电压可通过频率计算出来,公式如下
o
R V C
L R R V 2
2)1(ωω−
+=
ω=2πf ,以Hz 为单位的频率.假设L =0.1mH ,C =0.25nF ,R =50Ω,V 0=10mV.
a.画出以频率为自变量的电阻电压函数.在什么频率下,电阻上的电压最大?这时的电压为多少?这个频率叫做电路的固有频率.
b.如果这个频率比固有频率大百分之十,此时电阻上的电压为多少?
c.在什么频率下这个电阻上的电压会降到固有频率电压的一半?
代码:clear all
L=0.1*10^-3;C=0.25*10^-9;R=50;
V0=10*10^-3;f=1:(2*10^6);
VR=R./sqrt(R.^2+(2*pi*f*L-1./(2*pi*f*C)).^2)*V0;[Vm,Fm]=max(VR);
fprintf('在频率为%.4fMHz 时,电压最大,为%.3fmV ,这个频率叫做电路的固有频率。

\n\n',Fm/(10^6),Vm*10^3);plot(f,VR);hold on;
plot(Fm,Vm,'*r');grid;
F=1.1*Fm;
VR1=R./sqrt(R.^2+(2*pi*F*L-1./(2*pi*F*C)).^2)*V0;
fprintf('当频率比固有频率大百分之十时,电阻上的电压为%.3fmV\n\n',VR1*10^3);display('在下面两个频率下这个电阻上的电压会降到固有频率电压的一半')sym x;
x=solve('1/2*Vm=R*V0/sqrt(R^2+(2*pi*F1*L-1/(2*pi*F1*C))^2)','F1');y=eval(x);sym j;j=0;
for ii=1:length(y)
if y(ii)>0j=j+1;
fprintf('f%d=%.4fMHz\n',j,y(ii)/(10^6))end end
结果:
在频率为1.0066MHz时,电压最大,为10.000mV,这个频率叫做电路的固有频率。

当频率比固有频率大百分之十时,电阻上的电压为3.826mV
在下面两个频率下这个电阻上的电压会降到固有频率电压的一半
f1=1.0779MHz
f2=0.9400MHz。

相关文档
最新文档