MATLAB上机答案

MATLAB上机答案
MATLAB上机答案

一熟悉Matlab工作环境

1、熟悉Matlab的5个基本窗口

思考题:

(1)变量如何声明,变量名须遵守什么规则、是否区分大小写。

答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。变量名要遵守以下几条规则: 变量名必须以字母开头,只能由字母、数字或下划线组成。

变量名区分大小写。

变量名不能超过63个字符。

关键字不能作为变量名。

最好不要用特殊常量作为变量名。

(2)试说明分号、逗号、冒号的用法。

分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。

逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。

冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。

(3)linspace()称为“线性等分”函数,说明它的用法。

LINSPACE Linearly spaced vector. 线性等分函数

LINSPACE(X1, X2) generates a row vector of 100 linearly

equally spaced points between X1 and X2.

以X1为首元素,X2为末元素平均生成100个元素的行向量。

LINSPACE(X1, X2, N) generates N points between X1 and X2.

For N < 2, LINSPACE returns X2.

以X1为首元素,X2为末元素平均生成n个元素的行向量。如果n<2,返回X2。

Class support for inputs X1,X2:

float: double, single

数据类型:单精度、双精度浮点型。

(4)说明函数ones()、zeros()、eye()的用法。

ones()生成全1矩阵。

zeros()生成全0矩阵。

eye()生成单位矩阵。

2、Matlab的数值显示格式

思考题:

(1)3次执行exist(’pi’)的结果一样吗?如果不一样,试解释为什么?

>> pi

ans =

3.1416 >> sin(pi); >> exist('pi') ans =

5 >> pi=0;

>> exist('pi')

ans =

1

>> pi

pi =

>> clear

>> exist('pi')

ans =

5

>> pi

ans =

3.1416

答:3次执行的结果不一样。exist()函数是返回变量搜索顺序的一个函数。在第一次

执行时返回5代表变量pi是由Matlab构建的变量。在第二次执行时已经通过赋值语句定义

了变量pi,返回1代表pi是工作空间变量。第三次执行前清除了工作空间,此时pi为系统

默认常量,和第一次执行时性质一样,所以又返回5。

(2)圆周率pi是系统默认常量,为什么会被改变为0。

pi=0 为赋值语句,此时pi不再是系统默认常量,而是定义的变量了。

二 MATLAB语言基础

1、向量的生成和运算

练习:使用logspace()创建1~4π的有10个元素的行向量。

>> A=logspace(0,1.0992,10)

A =

1.0000 1.3247 1.7550

2.3249

3.0799

4.0801

5.4051 7.1603 9.4856 12.5661

2、矩阵的创建、引用和运算

(1)矩阵的创建和引用

练习:创建以下矩阵:A为334的全1矩阵、B为333的0矩阵、C为333的单位矩阵、D为333的魔方阵、E由C和D纵向拼接而成、F抽取E的2~5行元素生成、G由F经变

形为334的矩阵而得、以G为子矩阵用复制函数生成638的大矩阵H。

>> A=ones(3,4),B=zeros(3,3),C=eye(3,3),D=magic(3)

A =

1 1 1 1 1 1 1 1 1 1 1 1

B =

0 0 0 0 0 0

0 0 0

C =

1 0 0 0 1 0

0 0 1

D =

8 1 6

3 5 7

4 9 2

>> E=[C;D], F=E(2:5,:), G=reshape(F,3,4)

E =

1 0 0

0 1 0

0 0 1

8 1 6

3 5 7

4 9 2

F =

0 1 0

0 0 1

8 1 6

3 5 7

G =

0 3 1 1

0 1 5 6

8 0 0 7

>> H=repmat(G,2)

H =

0 3 1 1 0 3 1 1 0 1 5 6 0 1 5 6 8 0 0 7 8 0 0 7 0 3 1 1 0 3 1 1 0 1 5 6 0 1 5 6

8 0 0 7 8 0 0 7

2)矩阵运算

练习:1)用矩阵除法求下列方程组的解x=错误!未找到引用源。

>> A=[6 3 4;-2 5 7;8 -1 -3],B=[3;-4;-7]

A =

6 3 4 -2 5

7

8 -1 -3 B =

3 -

4 -7

>> x=A\B

x =

1.0200

-14.0000

9.7200

2)求矩阵的秩;

>> r=rank(A)

r =

3

3)求矩阵的特征值与特征向量>> [X,Lamda]=eig(A)

X =

0.8013 -0.1094 -0.1606 0.3638 -0.6564 0.8669 0.4749 0.7464 -0.4719 Lamda =

9.7326 0 0 0 -3.2928 0 0 0 1.5602

4)矩阵的乘幂(平方)与开方>> A^2

ans =

62 29 33

34 12 6

26 22 34

>> A1=sqrtm(A)

A1 =

2.2447 + 0.2706i 0.6974 - 0.1400i 0.9422 - 0.3494i -0.5815 + 1.6244i 2.1005 - 0.8405i 1.7620 - 2.0970i 1.9719 - 1.8471i -0.3017 + 0.9557i 0.0236 + 2.3845i 5)矩阵的指数与对数(以e为底)

>> Ae=expm(A)

Ae =

1.0e+004 *

1.0653 0.5415 0.6323

0.4830 0.2465 0.2876

0.6316 0.3206 0.3745

>> Ael=logm(A)

Ael =

1.7129 + 0.4686i 0.5305 - 0.2425i 0.5429 - 0.6049i 1.1938 +

2.8123i 0.3658 - 1.4552i -0.5514 -

3.6305i -0.0748 - 3.1978i 0.7419 + 1.6546i 1.8333 +

4.1282i 6)矩阵的提取(取右上三角)与翻转(逆时针转90度)

>> a=triu(A)

a =

6 3 4 0 5

7 0 0 -3 >> a1=rot90(A)

a1 =

4 7 -3 3

5 -1

6 -2 8

3、多维数组的创建及运算

练习:创建三维数组A,第一页为错误!未找到引用源。,第二页为错误!未找到引用源。,第三页为错误!未找到引用源。。然后用reshape函数重排为数组B,B为3行、2列、2页。

>> a=[1 3;4 2],b=[1 2;2 1],c=[3 5;7 1]

>> A=cat(3,a,b,c)

A(:,:,1) = 1 3 4 2

A(:,:,2) =

1 2

2 1

A(:,:,3) = 3 5 7 1 >> B=reshape(A,3,2,2)

B(:,:,1) = 1 2 4 1 3 2

B(:,:,2) =

2 7

1 5

3 1

三 Matlab数值运算

1、多项式运算

练习:求错误!未找到引用源。的商及余多项式。

>> p1=conv([1 0 1],conv([1 3],[1 1]))

p1 =

1 4 4 4 3

>> [q r]=deconv(p1,[1 0 2 1])

q =

1 4

r =

0 0 2 -5 -1

2、多形式插值和拟合

有一组实验数据如附表1-1所示。请分别用拟合(二阶至三阶)和插值(线性和三次样条)的方法来估测X=9.5时Y的值

>> x=1:10;y=[16 32 70 142 260 436 682 1010 1432 1960];

>> p1=polyfit(x,y,1) p1 =

204.8000 -522.4000 >> y1=polyval(p1,9.5) y1 =

1.4232e+003

>>

p2=polyfit(x,y,2),y2=polyval(p2,9.5) p2 =

32.0000 -147.2000 181.6000

y2 =

1.6712e+003

>>

p3=polyfit(x,y,3),y3=polyval(p3,9.5) p3 =

2.0000 -1.0000 5.0000 10.0000

y3 = 1.6820e+003

>> y4=interp1(x,y,9.5) y4 =

1696

>> y5=spline(x,y,9.5) y5 =

1682

3、习题

(1)用函数roots求方程错误!未找到引用源。的根

>> roots([1 -1 -1])

ans =

-0.6180

1.6180

(2)错误!未找到引用源。,在n个节点(n不要太大,如取5~11)上用分段线性和三

次样条插值方法,计算m个插值点(m可取50~100)的函数值。通过数值和图形输出,将两

种插值结果与精度进行比较。适当增加n,再作比较。

>> x=linspace(0,2*pi,8),y=sin(x)

x =

0 0.8976 1.7952 2.6928 3.5904 4.4880 5.3856 6.2832

y =

0 0.7818 0.9749 0.4339 -0.4339 -0.9749 -0.7818 -0.0000

>>

xi=linspace(0,2*pi,100);y0=sin(xi);y1=interp1(x,y,xi);y2=interp1(x,y,xi,'spline'

);

>> plot(xi,y0,'*',xi,y1,'-.',xi,y2)

>> e1=y1-y0;e2=y2-y0; >> plot(xi,e1)

1

2

3

4

5

6

7

-0.1

-0.08-0.06-0.04-0.0200.020.040.060.080.1

>> plot(xi,e2)

01234567

-0.015

-0.01

-0.005

0.005

0.01

0.015

(3)大气压强p 随高度x 变化的理论公式为错误!未找到引用源。,为验证这一公式,测得某地大气压强随高度变化的一组数据如表所示。试用插值法和拟合法进行计算并绘图,看那种方法较为合理,且总误差最小。

>> x=[0 300 600 1000 1500 2000]; p=[0.9689 0.9322 0.8969 0.8519 0.7989 0.7491]; >> xi=linspace(0,2000);p0=1.0332*exp(-(xi+500)/7756); >> p1=interp1(x,p,xi,'spline'); >> plot(xi,p0,'*',xi,p1) >> e1=p1-p0; >> e=sum(e1.^2) e =

1.8652e-005 拟合法:

>> x=[0 300 600 1000 1500 2000]; p=[0.9689 0.9322 0.8969 0.8519 0.7989 0.7491]; >> P=log10(p)

P =

-0.0137 -0.0305 -0.0473 -0.0696 -0.0975 -0.1255 >> p1=polyfit(x,P,1)

p1 =

-0.0001 -0.0137

>> b=p1(1)/0.4343,a=10.^p1(2)

b =

-1.2863e-004

a =

0.9689

>> xi=linspace(0,2000);p0=1.0332*exp(-(xi+500)/7756);

>> p2=polyval(p1,xi);P2=10.^p2;

>> e2=P2-p0;e=sum(e2.^2)

e =

1.8116e-005

四 Matlab数值运算

1、数值微积分

练习:瑞士地图如图所示,为了算出其国土面积,首先对地图作如下测量:以由西向东方向为X轴,由南到北方向为Y轴,选择方便的原点,并将从最西边界点到最东边界点在X轴上的区间适当划分为若干段,在每个分点的Y方向测出南边界点和北边界点的Y坐标Y1和Y2,根据地图比例尺知道18mm相当于40km,试由测量数据计算瑞士国土近似面积,与其精确值41228km2比较。

>>

x=[7,10.5,13,17.5,34,40.5,44.5,48,56,61,68.5,76.5,80.5,91,96,101,104,106.5,111.5 ,118,123.5,136.5,142,146,150,157,158];

>>

y1=[44,45,47,50,50,38,30,30,34,36,34,41,45,46,43,37,33,28,32,65,55,54,52,50,66,6 6,68];

>>

y2=[44,59,70,72,93,100,110,110,110,117,118,116,118,118,121,124,121,121,121,116,1 22,83,81,82,86,85,68];

>> X=x./18*40;Y1=y1./18*40;Y2=y2./18*40;

>> t1=trapz(X,Y1),t2=trapz(X,Y2), t=t2-t1

t1 =

3.3819e+004

t2 =

7.6328e+004

t =

4.2510e+004

>> expt=t-41228

expt =

1.2819e+003

2、习题

(4)利用梯形法和辛普森法求定积分的值,并对结果进行比较。如果积分区间改为-5~5结果有何不同?梯形积分中改变自变量x的维数,结果有何不同?

>> x=linspace(-3,3);y=exp(-x.^2/2);

>> t=(1/2*pi)*trapz(x,y)

t =

3.9267

>>

q=(1/2*pi)*quad('exp(-x.^2/2)',-3,3) q =

3.9268

>> x=linspace(-5,5);y=exp(-x.^2/2);

>> t=(1/2*pi)*trapz(x,y)

t =

3.9374

>>

q=(1/2*pi)*quad('exp(-x.^2/2)',-5,5) q =

3.9374

>> x=linspace(-3,3,150);y=exp(-x.^2/2);

>> t=(1/2*pi)*trapz(x,y)

t =

3.9268

(5)分别用矩形法、梯形法、辛普森法和牛顿-科茨4种方法近似计算定积分错误!未找到引用源。,取n=4,保留4位有效数字。

矩形法:

>> x=linspace(0,1);y=x./(x.^2+4); >> t=cumsum(y)*1/99;T=t(100) T =

0.1126

梯形法:

>> x=linspace(0,1);y=x./(x.^2+4); >> t=trapz(x,y) t =

0.1116

辛普森法:

>> q=quad('x./(x.^2+4)',0,1) q =

0.1116 牛顿-科茨法:

>> q=quadl('x./(x.^2+4)',0,1) q =

0.1116

五 Matlab符号运算

1、符号矩阵创建

练习:分别用sym和syms创建符号表达式:错误!未找到引用源。,错误!未找到引用源。。

>> f1=sym('cos(x)+(-(sin(x)^2))^(1/2)')

f1 =cos(x)+(-(sin(x)^2))^(1/2)

>> syms y e t

>> f2=y/exp(-2*t)

f2 =y/exp(-2*t)

2、习题

(2)试创建以下2个矩阵:

6、符号表达式的变量替换

练习:(1)已知错误!未找到引用源。,按照自变量x和自变量a,对表达式f分别进行降幂排列。

>> f=sym('(a*x^2+b*x+c-3)^3-a*(c*x^2+4*b*x-1)')

f =(a*x^2+b*x+c-3)^3-a*(c*x^2+4*b*x-1)

>> f1=collect(f),f2=collect(f,'a')

f1 =

a^3*x^6+3*b*a^2*x^5+((c-3)*a^2+2*b^2*a+a*(2*(c-3)*a+b^2))*x^4+(4*(c-3)*b*a+b *(2*(c-3)*a+b^2))*x^3+((c-3)*(2*(c-3)*a+b^2)+2*b^2*(c-3)+a*(c-3)^2-a*c)*x^2+(3*( c-3)^2*b-4*b*a)*x+(c-3)^3+a

f2 =

a^3*x^6+3*(b*x+c-3)*x^4*a^2+(3*(b*x+c-3)^2*x^2-c*x^2-4*b*x+1)*a+(b*x+c-3)^3

8、符号方程的求解

练习:(1)求错误!未找到引用源。

>> f=sym('(x^2-1)/(x^2-3*x+2)');

>> limit(f,'x',2)

ans =NaN

(2)求函数f(x)=cos2x-sin2x的积分;求函数错误!未找到引用源。的导数。

>> f=sym('cos(2*x)-sin(2*x)');

>> int(f)

ans =1/2*sin(2*x)+1/2*cos(2*x)

>> g=sym('(exp(x)+x*sin(x))^(1/2)');

>> diff(g)

ans =1/2/(exp(x)+x*sin(x))^(1/2)*(exp(x)+sin(x)+x*cos(x))

(3)计算定积分错误!未找到引用源。

>> f=sym('sin(x)+2');

>> int(f,'x',0,pi/6)

ans =-1/2*3^(1/2)+1/3*pi+1

(4)求下列线性方程组的解

>> f1=sym('x+y+z=10');

>> f2=sym('3*x+2*y+z=14');

>> f3=sym('2*x+3*y-z=1');

>> g=solve(f1,f2,f3,'x','y','z')

g =

x: [1x1 sym]

y: [1x1 sym]

z: [1x1 sym]

>> g.x

ans =1

>> g.y

ans =2

>> g.z

ans =7

(5)求解当y(0)=2,z(0)=7时,微分方程组的解

>> [g_y,g_z]=dsolve('Dy-z=sin(x)','Dz+y=1+x','y(0)=2','z(0)=7','x')

g_y =cos(x)+6*sin(x)+1/2*sin(x)*x+1+x

g_z =-3/2*sin(x)+6*cos(x)+1+1/2*cos(x)*x

六 Matlab程序设计

1、程序流程控制结构

练习:(1)请把exp2.函数文件用while循环改写。

function s=exp3(x)

n=1;s=0;

while n<=x

s=s+n;

n=n+1;

end

s

(2)用错误!未找到引用源。公式求pi的近似值,直到最后一项的绝对值小于10-6为止,试编写其M脚本文件。

k=0;jspi=1;i=3;

while (1/i)>=10e-6

k=k+1;

if rem(k,2)==0

jspi=jspi+1/i;

else

jspi=jspi-1/i;

end

i=i+2;

end

p=4*jspi ,k

2、子函数和参数传递

练习:编写求矩形面积函数rect,当没有输入参数时,显示提示信息;当只输入一个参数时,则以该参数作为正方形的边长计算其面积;当有两个参数时,则以这两个参数为长和宽计算其面积。

function s=mianji(a,b)

switch nargin

case 0

error('没有输入参数')

case 1

s=a*a;

case 2

s=a*b;

end

3、习题

(3)编写一个函数project1.m,其功能是判断某一年是否为闰年。

function ryear(year)

s=0;

if rem(year,4)==0

s=s+1;

end

if rem(year,100)==0

s=s-1;

end

if rem(year,400)==0

s=s+1;

end

if s==1

fprintf('%4d 是闰年.\n',year)

else

fprintf('%4d 不是闰年.\n',year)

end

(4)编制一个函数,使得该函数能对输入的两个数值进行比较并返回其中的最小值。function c = bijiao(a,b)

if nargin==2

if a < b

c=a;

else

c=b;

end

else

error('输入参数不正确')

end

(6)观察以下循环语句,计算每个循环的循环次数和循环结束之后var的值。

var=1;

while mod(var,10)~=0

var=var+1

end

循环次数10,var=10。

var=2;

>> while var<=100

var=var^2;

end

循环次数4,var=256。

>> var=3;

>> while var>100

var=var^2;

end

循环次数0次,var=3。

七 Matlab数据可视化

1、二维图形绘制

练习:写出图A2的绘制方法。

y1=sin(x);y2=cos(x);

plot(x,y1,'r -',x,y2,'m --')

x=linspace(0,4*pi);

y1=sin(x);y2=cos(x);

plot(x,y1,'r --',x,y2,'m -')

ylabel('2ù?è'),xlabel('ê±??')

legend('sinx','cosx')

gtext('\leftarrowsinx')

gtext('\leftarrowcosx')

axis([0 16 -1 1])

xdate=0:0.5:16;ydate=0

line(xdate,ydate,'Color','k','Marker','.')

2、三维曲线和三维曲面绘制

练习:(1)绘制以上空间螺旋线的俯视图、左侧视图和前视图。z=0:0.1:6*pi;

x=cos(z);y=sin(z);

subplot(2,2,1);plot3(cos(z),sin(z),z);

title('èy???ú??')

subplot(2,2,2);plot(cos(z),sin(z));

title('??êóí?')

subplot(2,2,3);plot(cos(z),z);

title('3óêóí?')

subplot(2,2,4);plot(sin(z),z);

title('?°êóí?')

(2)设错误!未找到引用源。,求定义域x=[-2,2],y=[-2,2]内的z值(网格取0.1)。请把z的值用网面图形象的表示出来,如图A3所示。

x=-2:0.1:2;y=x;

[X,Y]=meshgrid(x,y);

Z=X.^2.*exp(-(X.^2+Y.^2));

surf(X,Y,Z)

Matlab上机_测试题c答案讲课教案

<<<<<<精品资料》》》》》 Matlab 上机测试题答案 班级 姓名 学号 要求: (1)请将程序和运行结果粘贴到题目下面,写清楚哪部分是程序,哪部分是运行结果,运行结果包括图形,图形请适当缩小,然后将word 文档传到教育在线,注意保存格式是2003的doc ,文件名”自111_110110_张三” (2)在最开始前请将输入Matlab 命令窗口中输入”diary ”命令,随后在workspace 窗口中可以发现一个名为“diary ”的文件。在老师要求结束练习后,在命令窗口输入”diary off ”命令,然后将文件“diary ”上传到教育在线。 (3)注意题号不要弄乱。 --------------------------------------------------------------------- 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

Matlab上机实验答案

Matlab上机实验答案 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/180)/(1+exp(2)) z1 = >> x=[2 1+2i; 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = - + + -

>> a=::; >> z3=(exp.*a)-exp.*a))./2.*sin(a++log(+a)./2) (>> z33=(exp*a)-exp*a))/2.*sin(a++log(+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 + + + + + Columns 6 through 10 + + + + + Columns 11 through 15 + + + + + Columns 16 through 20 + + + + +

Columns 21 through 25 + + + + + Columns 26 through 30 + + + + + Columns 31 through 35 + + + + + Columns 36 through 40 + + + + + Columns 41 through 45 + + + + + Columns 46 through 50

+ + + + + Columns 51 through 55 + + + + + Columns 56 through 60 + + + + + Column 61 + (4) 2 2 4 2 01 112 2123 t t z t t t t t ?≤< ? =-≤< ? ?-+≤< ? ,其中t=0:: >> t=0::; >> z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^ 2-2.*t+1) z4 =

matlab上机练习(附答案)

1.以下两种说法对吗? (1)MATLAB进行数值的表达精度与其指令窗中的数据显示精度相同。 (2)MATLAB指令窗中显示的数据有效位数不超过七位。 2.历史指令窗所记录的内容与diary指令所产生的“日志”内容有什么不同? DIARY filename causes a copy of all subsequent command window input and most of the resulting command window output to be appended to the named file. If no file is specified, the file 'diary' is used. DIARY OFF suspends it. DIARY ON turns it back on. DIARY, by itself, toggles the diary state. Use the functional form of DIARY, such as DIARY('file'), when the file name is stored in a string. 3.如何把用户自己的“工作目录”永久地设置在MATLAB的搜索路径上?“位于搜索路 径上的目录”与“当前目录”在MATLAB中的功用相同吗? 4.如何向MATLAB工作空间输入一个含有100个左右元素的一维或二维数值数组?用直 接键入法?用数组编辑器?用M文件编辑器? 5.运用数组算术运算符去掉下面程序里的for/end循环: x=11:15 for k=1:length(x) z(k)=x(k)^2+2.3*x(k)^0.5; end x=11:15 z1=x.^2+2.3*x.^0.5 6.不使用数组算术运算符,重写下面的程序代码: x=[2 1 4] z=1./(1+x.^2) x=2;k=1; while i<=4, z2(k)=1/(1+i^2); i=i+1;x=x+1; end 7.某公司销售电脑打印机的价格方案如下: ()如果顾客只买一台打印机,则一台的基本价格为$150。 ()如果顾客购买两台以上打印机,则第二台价格为$120。 ()第三台以后,每台$110。

matlab基础练习题(带答案)

Matlab基础练习题 常量、变量、表达式 1、MATLAB中,下面哪些变量名是合法的?() (A)_num(B)num_(C)num-(D)-num 2、在MATLAB中,要给出一个复数z的模,应该使用()函 数。 (A)mod(z) (B)abs(z) (C)double(z) (D)angle(z) 3、下面属于MATLAB的预定义特殊变量的是?() (A)eps(B)none (C)zero(D)exp 4、判断:在MATLAB的内存工作区中,存放一个英文字符'a'需要 占用1个字节,存放一个中文字符‘啊’需要占用2个字节。(错,都是2个字节) 5、判断:MATLAB中,i和j都是虚数单位,它们之间没有什么 区别。(对) 6、判断:MATLAB中,pi代表圆周率,它等于3.14。(错,后面 还有很多位小数) 7、在MATLAB中,若想计算的值,那么应该在MATLAB 的指令窗中输入的MATLAB指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。

8、在MATLAB中,a = 1,b = i,则a占_8__个字节,b占_16_个 字节,c占________字节。 9、在MATLAB中,inf的含义是__无穷大__,nan的含义是__非数 (结果不定)___。 数组 1、在MATLAB中,X是一个一维数值数组,现在要把数组X中的所 有元素按原来次序的逆序排列输出,应该使用下面的()指令。 (A)X[end:1] (B)X[end:-1:1](C)X(end:-1:1)(D)X(end:1) 2、在MATLAB中,A是一个字二维数组,要获取A的行数和列数, 应该使用的MATLAB的命令是()。 (A)class(A)(B)sizeof(A)(C)size(A)(D)isa(A) 3、在MATLAB中,用指令x=1:9生成数组x。现在要把x数组的 第二和第七个元素都赋值为0,应该在指令窗中输入()(A)x([2 7])=(0 0) (B)x([2,7])=[0,0] (C)x[(2,7)]=[0 0] (D)x[(2 7)]=(0 0) 4、在MATLAB中,依次执行以下指令:clear;A=ones(3,4); A(:)=[-6:5];这时,若在指令窗中输入指令b=A(:,2)',那么,MATLAB输出的结果应该是() (A)b=-3-2-1(B)b=-2 -1 0 1 (C)b=-5 -1 3 (D)b = -5-214

MATLAB上机习题一

MATLAB上机习题一 请按以下步骤完成上机实验: 1)在FTP上下载“MATLAB上机习题一.doc”文件,所有习题列在该文件内; 2)在MATLAB中完成所有习题,并将屏幕截图粘贴到相应习题后面; 3)如果习题是问答题,请将答案写在题目后; 4)如果有的习题要求提供脚本文件,请将脚本文件内容拷贝到相应习题后; 5)将文件保存并重命名为“自己的学号-姓名”,例如“20110771-张三.doc”; 6)上传该文件到FTP的相关目录。 1. 运行MATLAB软件,拖放、关闭界面上的子窗口,并恢复到原始试图。 2. 采用鼠标及命令两种方式将桌面添加到MATLAB搜索路径列表的起始及最后位置。 3. 采用鼠标及命令方式将当前工作目录设置为桌面指向的文件夹。 4. 通过使用帮助确定内置变量ispc 的含义。 6. 观察MATLAB中关键字、字符串、注释的字体显示颜色。 5. 创建double类型的变量,并进行计算 1)a=87,b=190,计算a+b、a-b、a*b;

2)创建uint8类型的变量,数值与(1)中相同,进行相同的计算,观察计算结果与预想的是否一致。 6. 计算如下表达式: 1)()sin 60 2)3e 3)3cos 4π?? ??? 4)2 7562323336 +?-?? 7. 设u=2,v=3,计算: 1)4log uv v 2)() 2 2u e v v u +- 3 8. 计算如下表达式: 1)()()3542i i -+ 2)()sin 28i - 9. 判断下面语句的运算结果,并与MATLAB 计算结果做比较:

1)420< 2)420≤ 3)420== 4)4~20= 5)''''b B < 10. 设a=39,b=58,c=3,d=7,判断下面表达式的值与MATLAB 计算结果做比较: 1)a b > 2)a b < 3)&&a b b c >> 4)a d == 5)|a b c > 6)~~d 11. 判断下列变量名哪些是合法的MATLAB 变量: 1)fred 7)fred! 2)book_1 8)book-1 3)2ndplace 9)Second_Place 4)#1 10)No_1 5)vel_5 11)vel.5 6)tan 12)while 提示,可以使用isvarname 对上述变量名进行检验。 12. 编写脚本程序,命名为barbell.m ,完成如下计算: 如图1所示的杠铃,

MATLAB上机实验(答案)

MATLAB工具软件实验(1) (1)生成一个4×4的随机矩阵,求该矩阵的特征值和特征向量。程序: A=rand(4) [L,D]=eig(A) 结果: A = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 L = -0.7412 -0.2729 - 0.1338i -0.2729 + 0.1338i -0.5413 -0.3955 -0.2609 - 0.4421i -0.2609 + 0.4421i 0.5416 -0.4062 -0.0833 + 0.4672i -0.0833 - 0.4672i 0.4276 -0.3595 0.6472 0.6472 -0.4804 D = 2.3230 0 0 0 0 0.0914 + 0.4586i 0 0 0 0 0.0914 - 0.4586i 0 0 0 0 0.2275 (2)给出一系列的a值,采用函数 22 22 1 25 x y a a += - 画一组椭圆。 程序: a=0.5:0.5:4.5; % a的绝对值不能大于5 t=[0:pi/50:2*pi]'; % 用参数t表示椭圆方程 X=cos(t)*a; Y=sin(t)*sqrt(25-a.^2); plot(X,Y) 结果: (3)X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2], (a)写出计算其负元素个数的程序。程序: X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2]; L=X<0; A=sum(L) 结果: A =

MATLAB上机考试题(一)

(1)在MATLAB的命令窗口中执行_____命令,将命令窗口的显示内容清空。() A.clear B.clc C.echo off D.cd (2)在MATLAB的命令窗口中执行_____命令,使数据输出显示为十六进制表示。() A.format long B.format rat C.format hex D.format short e (3)下列变量名中_____是合法的。() A.x*y,a,1 B.x\y,a1234 C.end,1 bcx D.char_1,i,j (4)已知x=0:5,则x有_____个元素。() A.5 B.6 C.7 D.8 (5)一下运算符中哪个的优先级最高_____。() A./ B.^ C.~= D.& (6)使用检测函数isnumeric(10)的结果是_____。() A.1 B.0 C.false D.true (7)三维图形中默认视角是_____度。() A.方位角=0 俯仰角=90 B.方位角=90 俯仰角=0 C.方位角=37.5 仰俯角=30 D.方位角=0 仰俯角=180 (8)将符号表达式化简为因式分解因式分解因式分解因式分解形式,使用_____函数。() A.collect B.expand C.horner D.factor (9)运行以下命令,则_____描述是正确的。()>>syms a b c d >>A=[a b;c d] A.A占用的内存小于100B B.创建了5个符号变量 C.A占用的内存是a b c d的总和 D.不存在 (10)已知数组a=[1 2 3;4 5 6;7 8 9],则a(:,end)是指_____元素。 (11)运行命令bitor(8,7)的结果是_____。 (12)运行以下命令: >>x=0:10; >>y1=sin(x); >>y2=5*sin(x); >>y3=[10*sin(x );20*sin(x)]; >>plot(x,y1,x,y2,x,y3) 则在一个图形窗口中,可以看到_____条曲线。 (13)符号表达式“g=sym(sin(a*z)+cos(w*v))”中的自由符号变量是_____。 (14)运行以下命令: >>syms t >>f1=1/t >>limitf1_r=limit(f1,'t','0','right'); 则函数limitf1_r趋向0的右极限为_____。 15.在MATLAB的命令窗口中执行______命令,使数值5.3显示为5.300000000000000e+000 A. format long B. format long e C. format short D. format short e 16.下列变量名中______是合法的。A.char_1,i,j B.1_1, a.1 C.x\y,a1234 D.end,1bcx 17.已知x=0:9,则x有_____个元素。 A.12 B.11 C.10 D.9 18.产生对角线上为全1其余为0的2行3列矩阵的命令是______ A. ones(2,3) B. ones(3,2) C. eye(2,3) D. eye(3,2) 19.已知数组a= [1 2 3 4 5 6 7 8 9] ,则运行a(:,1)=[]命令后______ A. a变成行向量 B. a数组为2行2列 C. a 数组为3行2列 D. a数组中没有元素3 20.按含义选出各个函数名:表示4舍5入到整数的是____,表示向最接近0取整的是____,表示向最接近-∞取整的是____,表示向最接近∞取整的是_____ A. round(x) B. fix(x) C. floor(x) D. ceil(x) 21.已知a=0:5,b=1:6,下面的运算表达式出错的为______ A. a+b B. a./b C. a’*b D. a*b 22.已知s=’显示”hello”’,则s的元素个数是______ A. 12 B. 9 C. 7 D.18

MATLAB上机实验练习题答案

数学建模 MATLAB上机实验练习题 1、给出一个系数矩阵A[234;541;132],U=[123],求出线性方程组的一个精确解。 2、给出两组数据x=[00.30.81.11.62.3]’y=[0.820.720.630.600.550.50]’,我们可以简单的 认为这组数据在一条衰减的指数函数曲线上,y=C1+C2e-t通过曲线拟合求出这条衰减曲线的表达式,并且在图形窗口画出这条曲线,已知的点用*表示。 3、解线性方程 4、通过测量得到一组数据: 5、已知一组测量值 6、从某一个过程中通过测量得到: 分别采用多项式和指数函数进行曲线拟合。 7、将一个窗口分成四个子窗口,分别用四种方法做出多峰函数的表面图(原始数据法,临近 插值法,双线性插值法,二重三次方插值法) 8、在同一窗口使用函数作图的方法绘出正弦、余弦、双曲正弦、双曲余弦。分别使用不同的 颜色,线形和标识符。 9、下面的矩阵X表示三种产品五年内的销售额,用函数pie显示每种产品在五年内的销售额

占总销售额的比例,并分离第三种产品的切片。 X=19.322.151.6 34.270.382.4 61.482.990.8 50.554.959.1 29.436.347.0 10、对应时间矢量t,测得一组矢量y t00.30.8 1.1 1.6 2.3 y0.50.82 1.14 1.25 1.35 1.40 采用一个带有线性参数的指数函数进行拟合,y=a0+a1e-t+a2te-t,利用回归方法求出拟合函数,并画出拟合曲线,已知点用圆点表示。 11、请创建如图所示的结构数组(9分) 姓名编号指标 江明顺071023身高:176,体重:82 于越忠060134身高:168,体重:74 邓拓050839身高:182,体重:77 12、创建如图所示的元胞数组。(9分) 13、某钢材厂从1990年到2010年的产量如下表所示,请利用三次样条插值的方法计算1999年该钢材厂的产量,并画出曲线,已知数据用‘*’表示。要求写出达到题目要求的MATLAB 操作过程,不要求计算结果。 年份19901992199419961998200020022004200620082010 产量(万吨)75.99591.972105.711123.203131.669150.697179.323203.212226.505249.633256.344 14、在一次化学动力学实验中,在某温度下乙醇溶液中,两种化合物反应的产物浓度与反应时间关系的原始数据如下,请对这组数据进行三次多项式拟合,并画出拟合曲线,已知数据如下。 time=[2.55.07.510.013.017.020.030.040.050.060.070.0] res=[0.290.560.771.051.361.522.002.272.813.053.253.56]

Matlab 上机题及答案

1 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。 for m=100:999 m1=fix(m/100); %求m的百位数字 m2=rem(fix(m/10),10); %求m的十位数字 m3=rem(m,10); %求m的个位数字 if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m) end end 2.从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。 sum=0; n=0; val=input('Enter a number (end in 0):'); while (val~=0) sum=sum+val; n=n+1; val=input('Enter a number (end in 0):'); end if (n > 0) sum mean=sum/n end 3. 若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求[1,500]之间的全部完数。 for m=1:500 s=0; for k=1:m/2 if rem(m,k)==0 s=s+k; end end if m==s disp(m); end end 4. 从键盘上输入数字星期,在屏幕上显示对应英文星期的单词。 function week n=input('input the number:'); if isempty(n) errror('please input !!')

end if n>7|n<1 error('n between 1 and 7') end switch n case 1 disp('Monday') case 2 disp('Tuesday') case 3 disp('Wednesday') case 4 disp('Thursday') case 5 disp('Friday') case 6 disp('Saturday') case 7 disp('Sunday') end 5. 某公司销售电脑打印机的价格方案如下: ()如果顾客只买一台打印机,则一台的基本价格为$150。 ()如果顾客购买两台以上打印机,则第二台价格为$120。 ()第三台以后,每台$110。 写一段程序分别计算出购买1--10台打印机所需的钱数。打印机台数可以在程序开始处指定,或通过input命令读入。运行程序,计算出购买10台打印机的总价格。 写出程序,生成分别购买1--10台打印机所需价格的图表(使用fprintf命令输出图表,不允许手算)。 x=input('请输入购买的打印机台数:'); for m=1:x if m<=1 y(m)=150*m; elseif m<=2 y(m)=150+120*(m-1); else y(m)=150+120+110*(m-2); y(1,m)=y(m); end end y(x) plot(1:m,y,'r*--')

河南城建学院MATLAB上机实验答案

一熟悉Matlab工作环境 1、熟悉Matlab的5个基本窗口 思考题: (1)变量如何声明,变量名须遵守什么规则、是否区分大小写。 答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。变量名要遵守以下几条规则:?变量名必须以字母开头,只能由字母、数字或下划线组成。 ?变量名区分大小写。 ?变量名不能超过63个字符。 ?关键字不能作为变量名。 ?最好不要用特殊常量作为变量名。 (2)试说明分号、逗号、冒号的用法。 分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。 逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。 冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。 (3)linspace()称为“线性等分”函数,说明它的用法。 LINSPACE Linearly spaced vector. 线性等分函数 LINSPACE(X1, X2) generates a row vector of 100 linearly equally spaced points between X1 and X2. 以X1为首元素,X2为末元素平均生成100个元素的行向量。 LINSPACE(X1, X2, N) generates N points between X1 and X2. For N < 2, LINSPACE returns X2. 以X1为首元素,X2为末元素平均生成n个元素的行向量。如果n<2,返回X2。 Class support for inputs X1,X2: float: double, single 数据类型:单精度、双精度浮点型。 (4)说明函数ones()、zeros()、eye()的用法。 ones()生成全1矩阵。 zeros()生成全0矩阵。 eye()生成单位矩阵。 2、Matlab的数值显示格式

MATLAB上机题汇总(基本题,抽3题)合肥学院

1设置matlab 的工作环境,将工作目录设置为d:\work ,添加搜索目录d:\example 2在matlab 的命令窗口里完成如下计算,其中t 的值分别取-1,0,1,表达式如下: 4/3)2 t y e π-= 3自行产生一个5行5列的数组,得到最中间的三行三行矩阵。 4用magic 产生一个5*5的矩阵,将这个矩阵的第二行与第三行互换位置 5求方程组的根 x 1+4x 2-3x 3=2 2x 1+5x 2-x 3=11 x 1+6x 2+x 3=12 6已知:一个多项式的系数向量是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个回路电压的方程

方程式如下: 11121222132423432 532()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来表示,符合条件的值不变)。(思考:大于0的正常显示,小于等于0的用-10来表示) 13建立如下一个元胞数组,现在要求计算第一个元胞第4行第2列加上第二个元胞+第三个元胞里的第二个元素+最后一个元胞的第二个元素。 a={pascal(4),'hello';17.3500,7:2:100} 14建立一个结构体的数组,包括3个人,字段有姓名,年龄,分数,其中分数由随机函数产生一个3行10列的数据表示了有10门课程,每门课程有三个阶段的分数。问题是: 问题1,如何找到第2个人的分数并显示出来 问题2,如何找到第2个人的每门课程3个阶段的平均分数并显示出来 问题3,全班同学(指这3个学生)的10门课程的每门课程的平均分如何计算出来?要求放到一个数组里。 问题4,找到这个班所有同学的姓名放到一个元胞数组里 15给定一个图像文件,格式是jpg ,通过inportdata 引入这个文件,查看引入后数据保存是一个数组,是100*100*3的一个数组,这是一个三维的数组,表明有100*100个点,每个点有RGB 三个方面决定的。现在,要求将这些点的中间部分30个象素宽度的正方形用黑点表示。 16手动构造一个长宽页是1000*1000*3的图像,每个图像的点有三个0-255之间的随机值构成。然后使用image 函数显示这个图像,再用imwrite 函数保存这个图像,使这个图像用图片浏览器也能够查看。 17给定一个矩阵 a = 1 2 3 4 5 6 编写一个M 函数,要求输入是a ,输出有三个:平均数,标准差,秩。程序运行

Matlab上机练习参考答案

Matlab 上机练习二 班级 学号 姓名 按要求完成题目,并写下指令和运行结果。(不需要画图) 1、 求??????+-+-+-+-++=i 44i 93i 49i 67i 23i 57i 41i 72i 53i 84x 的共轭转置。 >> x=[4+8i 3+5i 2-7i 1+4i 7-5i;3+2i 7-6i 9+4i 3-9i 4+4i]; >> x’ ans = - - - + + - - + + - 2、计算??????=572396a 与?? ????=864142b 的数组乘积。 >> a=[6 9 3;2 7 5]; >> b=[2 4 1;4 6 8]; >> a.*b

ans = 12 36 3 8 42 40 3、 对于B AX =,如果??????????=753467294A ,??????????=282637B ,求解X 。 >> A=[4 9 2;7 6 4;3 5 7]; >> B=[37 26 28]’; >> X=A\B X = 4、 ??????-=463521a ,??????-=263478b ,观察a 与b 之间的六种关系运算的结果。 >> a=[1 2 3;4 5 6]; >> b=[8 –7 4;3 6 2]; >> a>b ans = 0 1 0

1 0 1 >> a>=b ans = 0 1 0 1 0 1 >> a> a<=b ans = 1 0 1 0 1 0 >> a==b ans = 0 0 0 0 0 0

>> a~=b ans = 1 1 1 1 1 1 5、[]7.0 = - a,在进行逻辑运算时,a相当于什么样的逻辑量。 8 2.0 5- 相当于a=[1 1 0 1 1]。 6、角度[]60 x,求x的正弦、余弦、正切和余切。 = 30 45 >> x=[30 45 60]; >> x1=x/180*pi; >> sin(x1) ans = >> cos(x1) ans = >> tan(x1) ans =

Matlab上机实验答案 (1)

Matlab上机实验答案 实验一MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/200)/(1+exp(2)) z1 = 0.2375 >> x=[2 1+2i;-0.45 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = 0.7120 - 0.0253i 0.8968 + 0.3658i 0.2209 + 0.9343i 1.2041 - 0.0044i 2.9,,2.9, 3.0

>> a=-3.0:0.1:3.0; >> z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2) (>> z33=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 0.7388 + 3.2020i 0.7696 + 3.2020i 0.7871 + 3.2020i 0.7920 + 3.2020i 0.7822 + 3.2020i Columns 6 through 10 0.7602 + 3.2020i 0.7254 + 3.2020i 0.6784 + 3.2020i 0.6206 + 3.2020i 0.5496 + 3.2020i Columns 11 through 20 0.4688 + 3.2020i 0.3780 + 3.2020i 0.2775 + 3.2020i 0.2080 + 3.2020i 0.0497 + 3.2020i

Matlab编程与应用习题和一些参考答案

Matlab 上机实验一、二 3.求下列联立方程的解???????=+-+-=-+=++-=--+4 1025695842475412743w z y x w z x w z y x w z y x >> a=[3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10]; >> b=[4;4;9;4]; >> c=a\b 4.设???? ??????------=81272956313841A ,??????????-----=793183262345B ,求C1=A*B’;C2=A’*B;C3=A.*B,并求上述所有方阵的逆阵。 >> A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 -8]; >> B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7]; >> C1=A*B' >> C2=A'*B >> C3=A.*B >> inv(C1) >> inv(C2) >> inv(C3) 5.设 ????? ?++=)1(sin 35.0cos 2x x x y ,把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线。 >> x=linspace(0,2*pi,101); >> y=cos(x)*(0.5+(1+x.^2)\3*sin(x)); >> plot(x,y,'r') 6.产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。并求该矩阵全体数的平均值和均方差。 (mean var ) a=randn(8,6) mean(a) var(a) k=mean(a) k1=mean(k) i=ones(8,6) i1=i*k1 i2=a-i1 i3=i2.*i2 g=mean(i3) g2=mean(g) 或者 u=reshape(a,1,48); p1=mean(u)

MATLAB期末上机试题带答案

MATLAB 期末上机考试试题带答案版 姓名: 学号: 成绩: 1.请实现下图: x y y=sin(x) 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 on xlabel('x') ylabel('y')

title('sin(x)') legend('y=sin(x)') y2=cos(x); subplot(2,2,2) plot(x,y2,'r--') grid on xlabel('x') ylabel('y') title('cos(x)') legend('y=cos(x)') y3=tan(x); subplot(2,2,3) plot(x,y3,'k-') grid on xlabel('x') ylabel('y') title('tan(x)') legend('y=tan(x)') y4=cot(x); subplot(2,2,4) plot(x,y4) grid on xlabel('x') ylabel('y') title('cot(x)') legend('y=cot(x)') 3.解方程组: a=[3 2 1;1 -1 3;2 4 -4];b=[7;6;-2] ; x=a\b 4.请实现下图:

x y x=linspace(0,4*pi,1000); y1=sin(x); y2=sin(2*x); plot(x,y1,'--',x,y2,'b*') grid on xlabel('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 函数: -5 5 x Peaks y [x,y]=meshgrid(-3:1/8:3); z=peaks(x,y); mesh(x,y,z)

MATLAB上机题汇总(较难题,抽1题)合肥学院

1.根据下面的方程绘制图形,y=cos(x)+x ,x 取值-pi-pi ,然后用多项式拟合函数进行拟合。 2.要求编写一个函数文件,将一个给定图片的所有颜色都变深(变深多少自己斟酌),其中黑色为0,白色为255 3.根据下面的方程绘制图形,y=cos(2x)+sin(2x),然后用5次多项式进行拟合。 4.要求编写一个M 函数,完成下列函数的求解:y =sin (x );y =sin (x +pi );y =sin (x +pi /3);y =sin (x +pi/2)自变量x 的变化范围从-pi 到pi ,要求四个图像画在同一个图形窗体中。 5.M 文件的编写 计算分段函数 ?????≠+=+++=10101)1cos(2x x x x x x x y 6.函数文件的编写 编写函数文件,求半径为r 的圆的周长和面积。

7.题目见教材p85,其中的数据可以给出文本文件或者由下面的式子表达 a=[10*rand(24,1)+15,1*rand(24,1)+30,2*rand(24,1)+45],这是24行3列的一个矩阵,第一列表示温度,第二列表示湿度,第三列表示气压。要求如下: (1) 将温度数据取出 (2) 找出一天中最高温度 (3) 按温度进行从小到大(默认)排序 (4) 求出最高温度的时刻 (5) 按温度进行从大到小排序 8.已知Fibonacci (斐波那)数列由式子??=+=--4,3,21k a a a k k k 可以生成,其中初值为121==a a ,试编写出生成某项Fibonacci 数值的MATLAB 函数,并求20a 的值。 9.编写M 函数,判断给定的三边能够构成一个三角形?并求其周长 10.给定一个声音文件,如1.wav ,引入这段声音,将音量改为2倍之后,再保存成2.wav

2010专第一次上机作业: MatLab练习题-基本运算

一、书上命令练习: 二、MatLab 练习1 注意: 1,请按要求作题,写出程序并把结果附上,并保存文件. 2,仔细填写 “学生信息”. 3,把此word 文档的文件名更名为你的 “学号 姓名(*)”-*表示第几次作业.在下课前5分钟提交. 1, (5*2+1.3-0.8)*10^2/25 答案: 2,y =23log )10sin( 4) 43.0(2+?+-e π 答案: 3,z = 10sin(π/3) ... cos(π/3) 答案: 4,x = sin(223/3), y = x^2,z = y*10 ; 求x+2y-5z 答案: 5,i e z i z i z ?==+=π23215,2,72,计算3 22 1z z z z z += 答案: 6, 建立起始值=3,增量值=5.5,终止值=44的一维数组x (填写程序语句) 答案: 7, 建立等差一维数组x :首项为0,末项为π,项数为15 (填写程序语句) 答案:

8, 计算行列式的值1 876243 23=A 答案: 9, 矩阵??????????=187624323A ,矩阵?? ?? ? ?????=333222111B ;分别求出A x B 及A 与B 中对应元素之间的乘积的程序语句。 答案 10,写出计算 Sin(36o )的程序语句. 答案:

三、MatLab 练习2-矩阵及数组运算 1.输入矩阵。 2.输入一个与A同阶的随机矩阵B。要求元素为整数。 3.输入一个数组b=(1 3 5 7 9 11 ) 4.输入与A同阶的单位矩阵E 5.输入与B同阶的零矩阵Z 6.构建一个大矩阵 7.将 46-70这25个整数填入一个五行五列的矩阵数表G中,使其各行、各 列以及主对角线和次对角线的和等相等。 8.分别求d1=|A|、d2=|B|、d3=|D|、d4=|G| 9.对以上四个矩阵A、B、D、G中的可逆矩阵求逆。 10.(1) 计算d5=A+B (2) 计算d6=A*B 11.取A的1,3,5行做一个子阵a1. 12.取A的2,4,6行,4,5,6列上的交叉元素做一个子阵a2.