matlab上机作业第三章.
- 格式:doc
- 大小:21.50 KB
- 文档页数:11
Matlab 上机作业3
说明:1、应用Matlab 软件,完成下列各题
2、交实验报告纸文档:实验报告格式
(1)标题:经济模型上机实验3
(2)年级专业学号姓名
(3)实验内容:问题(序号)、源程序(或函数命令)、运行结果
一、绘图
1、在同一窗口中绘制二维曲线020≤≤x :
0.1sin x y e x -=(红色,‘o ’点),0.12x y e -=±(蓝色,点划线)
2、三维曲线sin ,cos ,x t y t z t ===;
3、曲面sin()z xy xy =。
(x y 均在[-2,2],去掉网格,无刻度,色系为flag )
二、线性规划
4、min(235)
223032204021050
,,0
++++≥⎧⎪+-=⎪⎨≤-+≤⎪⎪≥⎩x y z x y z x y z x y z x y z 三、规划模型
5、设有一笔资金M=10万,未来5年内可以投资4个项目。
其中项目1每年初投资,投资后第二年末才可回收资金,本利为115%;项目2只能在第三年初投资,到第五年末回收本利125%,但不超过3万;项目3在第二年初投资,第五年末回收本利140%,但不超过4万;项目4每年初投资,年末回收本利106%;试确定5年内如何安排投资?。
上机练习作业-3 图形功能1.函数22yxexz--⨯=,定义区域为[-2,2]×[-2,2]。
生成网格并计算其网格点上的函数值(meshgrid),并用网格图绘制出来。
>> [X,Y]=meshgrid(-2:0.2:2,-2:0.2:2)Z=X.*exp(-X.^2-Y.^2)mesh(Z)2.在0≤X≤2π区间内,用不同颜色和线型在同一坐标内绘制曲线y1=e-1.5x sin(2πx)+1及曲线y2=2.8e-0.3x sin(x)。
给图形添加图形标注(图形标题,X,Y轴说明,曲线说明和图例)及网络线。
>> x=0:0.1:2.*piy1=exp(-1.5*x).*sin(2*pi*x)+1 y2=2.8*exp(-0.3*x).*sin(x) plot(x,y1,':hb',x,y2,'--g') xlabel('x 轴') ylabel('y 轴') title('两个函数') legend('y1','y2',0)1234567x 轴y 轴两个函数3.在一个图形窗口中以子图形式,分别以条形图、填充图、阶梯图和杆图形式绘制曲线y=3.2e -1.75x^2+3x-1,加上必要的标题和说明。
>> x=0:1:5y=3.2.*exp(-1.75.*x.^2+3.*x-1);subplot(2,2,1);bar(x,y,'g'); %subplot 最后一个1表示正在绘制第一个图像 title('bar(x,y,''g'')');axis([0,6,0,7]); subplot(2,2,2);stairs(x,y,'b');title('stairs(x,y,''b'')');axis([0,6,0,7]); subplot(2,2,3);stem(x,y,'k');title('stem(x,y,''k'')');axis([0,6,0,7]); subplot(2,2,4);fill(x,y,'y');title('fill(x,y,''y'')');axis([0,6,0,7]);012345bar(x,y,'g')0246246stairs(x,y,'b')stem(x,y,'k')0246246fill(x,y,'y')4.用分别用mesh 、surf 、plot3表现函数z=sin(y)cos(x) 三维曲面图;裁掉三维曲面图中z>0.25部分,在同一图形窗口表示。
1.编写一个Matlab程序,用一个N点的复数离散傅里叶变换计算两个长度为N的实数序列的N点离散傅里叶变换,并将结果同直接使用两个N点离散傅里叶变换得到的结果进行比较。
n=0:11; %设定n的范围x1=cos(pi/6.*n); %给定序列x1[n]x2=(4/5).^n; %给定序列x2[n]w1=x1+1i*x2; %由序列x1[n]和x2[n]组成复数序列w1[n]w2=x1-1i*x2; %序列w1[n]的共轭序列w2[n]figure,subplot(2,1,1),stem(n,x1); %指定位置1,绘制序列x1[n]xlabel('n'); %设定序列x1[n]的横轴标注和纵轴标注ylabel('x1[n]');subplot(2,1,2),stem(n,x2); %指定位置2,绘制序列x2[n]xlabel('n'); %设定序列x2[n]的横轴标注和纵轴标注ylabel('x2[n]');figure,subplot(4,1,1),stem(abs(w1)); %指定位置1,绘制序列w1[n]幅度谱xlabel('n'); %设定横轴标注,纵轴标注和标题ylabel('magnitude');title('W1的幅度谱');subplot(4,1,2),stem(angle(w1)); %指定位置2,绘制序列w1[n]相位谱xlabel('n'); %设定横轴标注,纵轴标注和标题ylabel('phase');title('W1的相位谱');subplot(4,1,3),stem(abs(w2)); %指定位置3,绘制序列w2[n]幅度谱xlabel('n'); %设定横轴标注,纵轴标注和标题ylabel('magnitude');title('W2的幅度谱');subplot(4,1,4),stem(angle(w2)); %指定位置4,绘制序列w2[n]相位谱xlabel('n'); %设定横轴标注,纵轴标注和标题ylabel('phase');title('W2的相位谱');X1=fft(x1); %求序列x1[n]的离散傅里叶变换X1(k)X2=fft(x2); %求序列x2[n]的离散傅里叶变换X2(k)W1=fft(w1); %求序列w1[n]的离散傅里叶变换W1(k)W2=fft(w2); %求序列w2[n]的离散傅里叶变换W2(k)Y1=(1/2)*(W1+W2); %由W1(k)和W2(k)来求X1(k)Y2=(1/(2*1i))*(W1-W2); %由W1(k)和W2(k)来求X2(k)figure,subplot(2,1,1),stem(abs(X1)); %指定位置1,绘制|X1(k)|xlabel('k'); %设定横轴标注和纵轴标注ylabel('|X1(k)|');subplot(2,1,2),stem(abs(Y1)); %指定位置2,绘制|Y1(k)|xlabel('k'); %设定横轴标注和纵轴标注ylabel('|Y1(k)|');figure,subplot(2,1,1),stem(abs(X2)); %指定位置1,绘制|X2(k)|xlabel('k'); %设定横轴标注和纵轴标注ylabel('|X2(k)|');subplot(2,1,2),stem(abs(Y2)); %指定位置2,绘制|Y2(k)|xlabel('k'); %设定横轴标注和纵轴标注 ylabel('|Y2(k)|');结果图:nx 1[n]024681012nx 2[n ]图1 序列x1[n]和x2[n]02468101212nm a g n i t u d eW1的幅度谱24np h a s eW1的相位谱02468101212nm a g n i t u d eW2的幅度谱024681012-4-20np h a s e图2 w1和w2的幅度谱和相位谱图246k|X 1(k )|246k|Y 1(k )|图3 两种计算X1(k)的方法比较024681012246k|X 2(k )|024681012246k|Y 2(k )|图4 两种计算X2(k)的方法比较2.编写一个Matlab 程序,用两个N 点的复数离散傅里叶变换计算一个长度为2N 的实数序列的2N 点离散傅里叶变换,并将结果同直接使用一个2N 点离散傅里叶变换得到的结果进行比较。
第3章数值数组及其运算习题3及解答1 要求在闭区间]2,0[ 上产生具有10个等距采样点的一维数组。
试用两种不同的指令实现。
〖目的〗●数值计算中产生自变量采样点的两个常用指令的异同。
〖解答〗%方法一t1=linspace(0,2*pi,10)%方法二t2=0:2*pi/9:2*pi %要注意采样间距的选择,如这里的2*pi/9.t1 =Columns 1 through 70 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 Columns 8 through 104.88695.58516.2832t2 =Columns 1 through 70 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 Columns 8 through 104.88695.58516.28322 由指令rng('default'),A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。
〖目的〗●数组下标的不同描述:全下标和单下标。
●sub2ind, int2str, disp的使用。
●随机发生器的状态控制:保证随机数的可复现性。
〖解答〗rng('default')A=rand(3,5)[ri,cj]=find(A>0.5);id=sub2ind(size(A),ri,cj);ri=ri';cj=cj';disp(' ')disp('大于0.5的元素的全下标')disp(['行号 ',int2str(ri)])disp(['列号 ',int2str(cj)])disp(' ')disp('大于0.5的元素的单下标')disp(id')A =0.8147 0.9134 0.2785 0.9649 0.95720.9058 0.6324 0.5469 0.1576 0.48540.1270 0.0975 0.9575 0.9706 0.8003大于0.5的元素的全下标行号 1 2 1 2 2 3 1 3 1 3列号 1 1 2 2 3 3 4 4 5 5大于0.5的元素的单下标1 2 4 5 8 9 10 12 13 153 采用默认全局随机流,写出产生长度为1000的“等概率双位(即取-1,+1)取值的随机码”程序指令,并给出 -1码的数目。
第三章微积分问题的计算机求解一、实验内容:题目1.试求出如下极限。
①limx→∞(3x +9x )1/ x,②lim x→∞[(x+2)x+2(x+3)x+3 ]/(x+5)2x+5【分析】:该题为单变量函数的极限。
极限问题可以用limit()函数直接求出。
要注意该函数的调用格式为:L=limit(fun,x,x0)(求极限),L=limit(fun,x,x0,’left’或’right’)(求极限)。
还需注意一开始要对函数的字符进行申明。
【解答】:(1)输入如下语句:>> syms x;f=(3^x+9^x)^(1/x);L=limit(f,x,inf)语句运行后显示如下:L =9(2)输入如下语句:>>syms x;f=(x+2)^(x+2)*(x+3)^(x+3)/(x+5)^(2*x+5);>> L=limit(f,x,inf)语句运行后显示如下:L =exp(-5)题目2.试求下面的双重极限。
①lim x→−1y→2 (x2y+xy3)/(x+y) 3,②limx→0 y→0 xy /√(xy+1)−1,③limx→0y→0 [1−cos(x2+y2)]/(x2+y2)e x2+y2。
【分析】:该题为多变量函数的极限问题。
他可以用嵌套使用limit()函数来解决。
在MATLAB上可以用L=limit(limit(f,x,x0),y,y0)或者L=limit(f,y,y0),x,x0)来解决。
其思想是所有的先关于X求导,再所有的关于y求导。
【解答】:(1)输入如下语句:>> syms x y>> f=(x^2*y+x*y^3)/(x+y)^3;>> L=limit(limit(f,x,-1),y,2)语句运行后显示如下:L =-6(2)输入如下语句:>> syms x yf=(x*y)/(sqrt(x*y+1)-1);L=limit(limit(f,x,0),y,0)按ENTER键,语句运行后显示如下:L =2(3)输入如下语句:>> syms x yf=(1-cos(x^2+y^2))/(sqrt(x^2+y^2)*exp(x^2+y^2));L=limit(limit(f,x,0),y,0)按ENTER键,语句运行后显示如下:L =题目3.求出下面函数的导数。
第三章 微积分的数学实验3.1极限与一元微积分3.1.1 初等运算1.定义单个或多个符号变量:syms x y z t ;定义单个符号变量或者符号函数还可以用单引号定义,如x=’x ’,f=’sin(x^2)+2*x-1’。
符号表达式的反函数运算g=finverse(f),g 是返回函数f 的反函数。
例1 求sin(1)y x =-的反函数>>syms x>>y=sin(x-1); g=finverse(y),结果为 g=1+asin(t)2. f actor(f) 因式分解函数f3.Collect(f) 对函数f 合并同类项4. expand(f) 将函数f 表达式展开5. simple(f) 找出表达式的最简短形式(有时需要用2次)6. roots (p )对多项式p 求根函数。
7. solve(F) 一般方程的求根函数例2 解方程2510x x +-=解 >>syms x>>solve(x^2+5*x-1)结果为x =[ -5/2+1/2*29^(1/2) -5/2-1/2*29^(1/2)]8.fzero(f,x0)或fzero(f,[a,b]) 在初始点x0处开始或在区间[a,b]上搜索函数的零点,f(a)与f(b)需要符号相反。
3.1.2 Matlab计算函数的极限函数形式:1)limit(F,x,a),求函数F在 x ->a时的极限。
2)limit(F,a),默认其中的变量为极限变量.3)limit (F),默认其中的变量为极限变量且趋向于0.4)limit(F,x,a,'right')或limit(F,x,a,’left') 求函数F在x->a时的右、左极限.例3 >>syms x a t h; %syms作用是申明x,a,t,h是符号变量,不需先赋值再调用。
>>limit(sin(x)/x) %结果为 1>>limit((x-2)/(x^2-4),2) %结果为 1/4>>limit((1+2*t/x)^(3*x),x,inf) %结果为 exp(6*t)>>limit(1/x,x,0,'right') %结果为 inf>>limit(1/x,x,0,'left') %结果为 -inf>>limit((sin(x+h)-sin(x))/h,h,0) %结果为 cos(x)>>v = [(1 + a/x)^x, exp(-x)];limit(v,x,inf,'left') %结果为[exp(a),0]3.1.3 Matlab计算导数与微分1.一元导数和微分diff函数用以计算函数的微分和导数,相关的函数语法有下列4个:diff(f) 返回f对预设独立变量的一次导数值diff(f,'t')或diff(f,t) 返回f对独立变量t的一次导数(值)diff(f,n) 返回f对预设独立变量的n阶导数(值)diff(f,'t',n) 或diff(f,t,n)返回f对独立变量t的n阶导数(值)这里尽管自变量已经作为符号变量,可以不用syms说明,但是在具体执行diff(f)、diff(f,'t')和diff(f,t)会出现差异,有的能够执行,有的不能够,有的执行符号微分,有的执行数值微分,所以比较麻烦。
上机实验报告
班级:机械工程及自动化02
姓名:鄢文光
学号:40902010221
日期:2012年11月13日
题目1-1:>> syms x;limit(cos(sqrt(x^(pi/x,x,0,'right'
ans =
exp(-1/2*pi
题目1-2:>> syms x;limit((3*sin(x+(x^2*cos(1/x/((1+cos(x*log(1+x,x,0
ans =
3/2
题目1-3:>> syms x;limit((sqrt(4*x^2+x-1+x+1/sqrt(x^2+sin(x,x,inf,'left'
ans =
3
题目2-1:>> syms x;f=(tan(sqrt(x+sqrt(x+sqrt(2*x^2;diff(f
ans =
tan((x+(x+2^(1/2*x^(1/2^(1/2^(1/2*(1+tan((x+(x+2^(1/2*x^(1/2^(1/2^(1/2^2/( x+(x +2^(1/2*x^(1/2^(1/2^(1/2*(1+1/2/(x+2^(1/2*x^(1/2^(1/2*(1+1/2*2^(1/2/x^(1/ 2
题目2-2:>> syms x;f=(cos(x^2*((sin(1/x^3;diff(f
ans =
-2*sin(x^2*x*sin(1/x^3-3*cos(x^2*sin(1/x^2*cos(1/x/x^2
题目3-1:>> syms x;f=sqrt(sin(x-((sin(x^3;int(f,0,pi
ans =
4/3
题目3-2:>> syms x;f=(1/x*sqrt((x+1/(x-1,int(f
f =
1/x*((1+x/(x-1^(1/2
ans =
((1+x/(x-1^(1/2*(x-1/((1+x*(x-1^(1/2*(-atan(1/(x^2-1^(1/2+log(x+(x^2-1^(1/2 题目4:>> dsolve('(x^2*Dy+x*y=y^2','y(1=1','x'
ans =
2*x/(1+x^2
题目5:
function ydot=fun1(t,y
ydot=[y(2;y(3;-4*y(1-3*y(2-11*y(3+3];
%建立函数fun1.m
>> y0=[1,1,1];[t,y]=ode45('fun1',[0:5:100],y0
t =
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95
100
y =
1.0000 1.0000 1.0000 0.8188 -1.4284 -1.4453 -0.6050 -0.0925
2.4517 0.5827 1.1672 -0.9268 0.6862 -0.8958 -1.1044 -0.3063 -0.1492 1.6221 0.4365 0.8076 -0.5001 0.5792 -0.5548 -0.8243 -0.1061 -0.1571 1.0644 0.3525 0.5537 -0.2522 0.4959 -0.3386 -0.6039 0.0270 -0.1424 0.6925 0.3058 0.3764 -0.1123 0.4330 -0.2030 -0.4357 0.1148 -0.1193 0.4466 0.2812 0.2538 -0.0372 0.3863 -0.1191 -0.3102
0.1723 -0.0951 0.2852
0.2692 0.1697 0.0006
0.3523 -0.0679 -0.2183
0.2095 -0.0734 0.1803 题目6:
function xdot=fun2(t,x
xdot=[x(2;x(3;-3*x(1-2*x(2-10*x(3+4];
%建立函数fun2.m
>> x0=[1,1,1];[t,x]=ode45('fun2',[0:5:100],x0 t = 5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
100
x =
1.0000 1.0000 1.0000
2.0548 -0.6565 -0.1070
0.6200 0.3125 0.1639
1.8778 -0.0948 -0.1498
0.9864 -0.0190 0.1091
1.5164 0.0627 -0.0667 1.2619 -0.0666 0.0333 1.3411 0.0528 -0.0115 1.3543 -0.0347 -0.0004
1.3051 0.0191 0.0053
1.3581 -0.0080 -0.0062
882.波旁王朝是哪个国家的——法国
883.太平天国由盛转衰的事件是——领导集团的内部斗争
884.撒尿小孩铜像坐落于——布鲁塞尔
885.中国第一个开发的海底油田位置在——渤海
886.“究天人之际,通古今之变,成一家之言”是谁的名言——司马迁887.下列国家中森林覆盖率没有超过60%的是——中国
1.3324 0.0011 0.0001
1.3344 -0.0005 -0.0002
1.3325 0.0002 0.0002
1.3339 0.0000 -0.0002
1.3330 -0.0001 0.0001
题目7:>>(解析解 [x,y]=dsolve('Dx=y','Dy=-4x-3y+2','x(0=1','y(0=0' x = 1-5/2*t^2
y =
-5*t
(数值解>> x0=[1,0];[t,x]=ode45('fun3',[0:5:100],x0
t =
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
911.“布拉格之春”事件发生在——捷克斯洛伐克100
913.印度最大的城市孟买人口超过—— 600万
914.孙武字什么——子卿
915.吴三桂在清朝初期在哪里宣布独立——云南916.直升机停在半空中时,它的旋翼是——仍在转动917.土耳其人最早制造硬币的材料是用——金银合金918.世界水城威尼斯有多少个岛屿——一百多个919.惟知跃进是谁的口号——李大钊
920.世界上第一颗人造卫星是哪个国家发射的——苏联0.5000 -0.0000
0.5000 0.0000
0.5000 0.0000
0.5000 -0.0000
0.5000 -0.0000
0.5000 -0.0000
0.5000 0.0000
0.5000 0.0000
0.5000 -0.0000
0.5000 -0.0000
0.5000 0.0000
0.5000 0.0000
0.5000 0.0000
0.5000 0.0000
题目8-1:>> syms t w;f1=sym('t*exp(-t^2'
f1 =
t*exp(-t^2
>> F11=fourier(f1,w
F11=
-1/2*i*pi^(1/2*w*exp(-1/4*w^2
>> F12=ifourier(f1
F12 =
1/4*i/pi^(1/2*x*exp(-1/4*x^2
题目8-2:>> syms t w;f2=sym('(t^2*exp(-t^2'
f2 =
(t^2*exp(-t^2
944.把地图着色,使得相邻的国家有不同的颜色,至少需要几种颜色——4种颜色F21 =
1/2*pi^(1/2*exp(-1/4*w^2-1/4*pi^(1/2*w^2*exp(-1/4*w^2 >> F22=ifourier(f2
F22 =
-1/8/pi^(1/2*exp(-1/4*x^2*(-2+x^2
题目9-1:>> syms t s;f1=sym('(sin(t*cos(3*t'
f1 =
(sin(t*cos(3*t
>> F11=laplace(f1,s
F11 =
(s^2-8/(s^2+16/(s^2+4
>> F12=ilaplace(f1
F12 =
4*ilaplace(sin(t*cos(t^3,t,x-3*ilaplace(sin(t*cos(t,t,x 题目9-2:>> syms t s;f2=sym('exp(-t^2'
f2 =
exp(-t^2 >> F21=laplace(f2,s F21 = 1/2*pi^(1/2*exp(1/4*s^2*erfc(1/2*s >> F22=ilaplace(f2 F22 = ilaplace(exp(-t^2,t,x。