搜档网
当前位置:搜档网 › 2014 第一轮上机练习题答案matlab程序设计练习

2014 第一轮上机练习题答案matlab程序设计练习

2014 第一轮上机练习题答案matlab程序设计练习
2014 第一轮上机练习题答案matlab程序设计练习

练习1 基础练习

一、矩阵及数组操作:

1.利用基本矩阵产生3×3和15×8的单位矩阵、全1矩阵、全0矩阵、均匀分布随机矩阵([-1,1]之间)、正态分布矩阵(均值为1,方差为4)。

解eye(3) eye(15,8) ones(3) ones(15,8) zeros(3) zeros(15,8)

X1=(1+(1-(-1))*rand(3))

X2=(1+(1-(-1))*rand(15,8))

Y1=1+sqrt(4)*randn(3)

Y2=1+sqrt(4)*randn(15,8)

2.利用fix及rand函数生成[0,10]上的均匀分布的10×10的整数随机矩阵a,然后统计a中大于等于5的元素个数。

解:a=fix((10-0+1)*rand(10)+0)

x=5

i=find(a>=x)

n=length(i)

3.在给定的矩阵中删除含有整行内容全为0的行,删除整列内容全为0的列。

解:A=[1 2 2 3 4;0 0 0 0 0;4 5 6 2 3;0 0 0 0 0;];

A([2,4],:)=[]

B=A';

B(:,[2,4])=[]

二、绘图:

4.在同一图形窗口画出下列两条曲线图像:

y1=2x+5;y2=x^2-3x+1,

并且用legend标注。

解:x=0:0.01:10;

y1=2*x+5;

y2=x.^2-3*x+1;

plot(x,y1,x,y2)

legend('y1', 'y2')

5.画出下列函数的曲面及等高线:z=x^2+y^2+sin(xy).

解:[x,y]=meshgrid(0:0.25:4*pi); z=x.^2+y.^2+sin(x.*y);

contour3(x,y,z);

meshc(x,y,z)

三、程序设计:

6.编写程序计算(x在[-3,3],间隔0.01)

解:x=input('??ê?è?xμ??μ:');

if x>=-3&x<-1

y=(-x.^2-4*x-3)/2;

elseif x>=-1&x<1

y=-x.^2+1;

elseif x>=1&x<=3

y=(-x.^2+4*x-3)/2;

else

y='error'

end

y

7.有一列分数序列:

求前15项的和。

解:a=1;

b=2;

sum=0;

for k=1:15

c=b/a;

sum=sum+c;

t=b;

b=a+b;

a=t;

end

sum

8.用至少三种方法编写函数实现求任意整数n的阶乘。

解:法一:s=factorial(n)

法二:gamma(n) 求出的是(n-1)!

法三:n=input('please input n:');

x=1:n;

prod(x)

9.将任意大于6的偶数m写成两个素数p1、p2的和(试着写出所有的m=p1+p2的可能形式)。

解:function y=f(n);

n=input('??ê?è?nμ??μ:');

if mod(n,2);

error('n2?ê???êy.????D???DD3ìDò.')

elseif n<=6;

error('n±?D?′óóú6.????D???DD3ìDò.')

else

for m=1:n;

for k=m:n;

if (isprime(m))&(isprime(k))&(m+k==n);

disp([num2str(n),'=',num2str(m),'+',num2str(k)]);

break;

end;

end;

end;

end;

10.是否任意3的倍数m可以写成两个素数p1、p2、p3的和(试着写出所有的m=p1+p2+p3

的可能形式)?

解:function y=fg(n);

n=input('请输入n的值:');

if mod(n,3);

error('n不是3的倍数.请重新运行.')

elseif n<6;

error('n必须不小于6.')

else

for m=1:n;

for k=m:n;

for p=k:n

if(isprime(m))&(isprime(k))&(isprime(p))&(m+k+p==n);

disp([num2str(n),'=',num2str(m),'+',num2str(k),'+',num2str(p)]);

break;

end;

end;

end;

end;

end;

四、数据处理与拟合初步:

11.通过测量得到一组数据:

分别采用y=c1+c2e^(-t)和y=d1+d2te^(-t)进行拟合,并画出拟合曲线进行对比。

解:t=1:10;

y=[4.842,4.362,3.754,3.368,

3.169,3.038,3.034,3.016,3.012,3.005];

x1=exp(-t);

x2=t.*exp(-t);

y1=polyfit(x1,y,1)

可以写出:

y1=5.2165*exp(-t)+3.1564

y2=polyfit(x2,y,1)

可以写出:

y2=5.0273*t.*exp(-t) +2.9973

plot(t,y,t,y1,'r--',t,y2,'gx')

另:此题也可以采用工具箱直接进行运算。

12.计算下列定积分:

方法有很多种:

解:(1)1建立被积函数文件

function f=jifen1(t)

f=exp(-2*t);

2.在命令窗口输入:

[z1,n]=quad(@jifen1,0,2)

得到结果:

z1=0.4908 n =25

(2)x=0:0.01:2;

z2=exp(2*x);

trapz(x,z2)

得到结果:

ans =26.8000

(3)z=quadl(inline('x.^2-3*x+0.5'),-1,1)

得到结果:

z =1.6667

13.微分方程组

当t=0时,x1(0)=1,x2(0)=-0.5,求微分方程t在[0,25]上的解,并画出相空间轨道图像。

解:t=0:0.01:25;

[x,y]=dsolve('Dx=0.5-x','Dy=x-4*y','x(0)=1','y(0)=-0.5','t')

x =1/2+1/2*exp(-t)

y =1/8+1/6*exp(-t)-19/24*exp(-4*t)

plot(t,x,t,y)

图像:

t=0:0.01:25;

x=1/2+1/2*exp(-t);

y =1/8+1/6*exp(-t)-19/24*exp(-4*t);

plot(t,x,t,y)

14.设通过测量得到时间t与变量y的数据:

t=[0 0.3 0.8 1.1 1.6 2.3];

y=[0.5 0.82 1.14 1.25 1.35 1.41];

分别采用多项式:y=a0+a1t+a2t2

和指数函数y=b0+b1e^t+b2te^t

进行拟合,并计算均方误差、画出拟合效果图进行比较。

解:此题可用工具箱来求解:可在commend window中输入cftool,调出工具箱。选择date;之后选择fitting,建立new fit,选择自定义,定义所需函数即可。详细过程略。

15.观察函数:y=e^x-1.5cos(2*pi*x)

在区间[-1,1]上的函数图像,完成下列两题:

(1)用函数fzero求解上述函数在[-1,1]的所有根,验证你的结果;(2)用函数fminbnd求解上述函数在[-1,1]上的极小、极大、最小和最大值,在函数图像

上标出你求得的最小值点作出验证。

注:可以用help fzero命令查看fzero的调用格式,fzero典型的调用方法是:

fzero(@myfun,x0) %返回函数myfun在x0附近的根;fminbnd典型的调用方法是:

fminbnd(@myfun,x1,x2) %返回函数myfun在区间[x1,x2]上的最小值。

解:(1)x=-1:0.01:1;

y=exp(x)-1.5*cos(2*pi*x);

plot(x,y,'g')

hold on

y0=0;

plot(x,y0,'k')

z=fzero('f',-0.8)

z =

-0.7985

z=fzero('f',-0.1)

z =

-0.1531

z=fzero('f',0.1)

z =

0.1154

(2)f.m

function y=f(x);

y=exp(x)-1.5*cos(2*pi*x);

x=fminsearch('f',-0.2,0.2)

x =

-0.0166

x=fminsearch('f',-1,1)

x =

-1.0062

f1.m

function y=f(x);

y=-exp(x)+1.5*cos(2*pi*x);

x=fminsearch('f1',0.4,0.6)

x =

0.5288

x=fminsearch('f1',-0.6,-0.4)

x =

-0.4897

x1=-1.0062 ;

y1=exp(x1)-1.5*cos(2*pi*x1)

y1 =

-1.1333

plot(x1,y1,'*')

练习2 编程练习

1. 题目:判断101-200之间有多少个素数,并输出所有素数。编写以fun1为名的脚本文件。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

==================================================== t=1;

for i=101:200

for j=1:i

if (round(i/j)==(i/j)&j~=1&j~=i)

break

end

end

if j==i s(t)=i; t=t+1;

end

end

disp(['??êy:',num2str(s)])

length(s)

2.题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。编写以fun2为名的脚本文件。

程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

n1=fix(i/100);

n2=fix((i-n1*100)/10);

n3=i-n1*100-n2*10;

if (n1^3+n2^3+n3^3==i)

disp(i)

end

end

3. 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。编写以fun3为名的函数文件。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k 的商,作为新的正整数你n,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

n=input('??ê?è?òa?óμ?êy:');

A=factor(n);

str=sprintf('%d%s%d',n,'=',A(1,1));

[s,d]=size(A);

for i=2:d

str=sprintf('%s%s%d',str,'*',A(1,i));

end

str

4. 题目:输入一行字符,分别统计出其中英文字母、空格、数字和

其它字符的个数。编写以fun4为名的函数文件。

==========================================================

str = input('ê?è?×?·?′?s','s')

len=length(str);

sz=0;

zm=0;

kg=0;

qt=0;

for i=1:len

if str(i)>='0'&&str(i)<='9'

sz=sz+1;

elseif((str(i)>='A'&&str(i)<='Z')|| (str(i)>='a'&&str(i)<='z'))

zm=zm+1;

elseif str(i)==' '

kg=kg+1;

else

qt=qt+1;

end

end

disp(['×???:',num2str(zm)]);

disp(['êy×?:',num2str(sz)]);

disp(['????:',num2str(kg)]);

disp(['????:',num2str(qt)]);

5. 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。编写以fun5为名的脚本文件。

===========================================================

for n = 1:1000

s=0;

for i=1:n/2

if rem(n,i)==0

s=s+i;

end;

end;

if n==s

disp(n);

end

end

6. 题目:企业发放的奖金根据利润提成。利润x低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成

7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润x,求应发放奖金总数?编写以fun6为名的函数文件。

n=input('n=')

if n<=10

i=0.1*n

else

if 10

i=10*0.1+(n-10)*0.075

else

if 20

i=10*0.1+10*0.075+(n-20)*0.05

else

if 40

i=10*0.1+10*0.075+20*0.05+(n-40)*0.03

else

if 60

i=10*0.1+10*0.075+20*0.05+20*0.03+(n-60)*0.015

else

n>100

i=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(n-100)*0.01

end

end

end

end

end

7. 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?编写以fun7为名的脚本文件。

程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上168后再开方,如果开方后的结果满足如下条件,即是结果。===========================================================

for i = 1:10000

x = fix(sqrt(i+100));

y = fix(sqrt(i+268));

if(x*x==i+100&&y*y==i+268)

i

end

end

8. 题目:输入三个整数x,y,z,请把这三个数由小到大输出。编写以fun15为名的函数文件。

程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

==========================================================

x = input('ê?è?x:');

y = input('ê?è?y:');

z = input('ê?è?z:');

if x>=y&&y>=z

t=z;

m=y;

n=x;

elseif x>=z&&z>=y

t=y;

m=z;

n=x;

elseif y>=x&&x>=z

t=z;

m=x;

n=y;

elseif y>=z&&z>=x

t=x;

m=z;

n=y;

elseif z>=x&&x>=y

t=y;

m=x;

n=z;

elseif z>=y&&y>=x

t=x;

m=y;

n=z;

end

disp(['?aèy??êyóéD?μ?′ó£o',num2str(t),num2str(m),num2str(n)])

9. 题目:输出9*9口诀。编写以fun9为名的脚本文件。

程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

===========================================================

for i=1:9

for j=1:i

k=i*j;

fprintf([num2str(j),'*',num2str(i),'=',num2str(k),'\t']) end

fprintf('\n')

end

10. 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前n项之和。输入n,输出和s。编写以fun10为名的函数文件。

程序分析:请抓住分子与分母的变化规律。

==========================================================

i=input('i=')

a=2,b=1,s=0;

for n=1:i

s=s+a/b;

t=a;

a=a+b;

b=t;

end

fprintf(['sum is:', num2str(s)])

11. 题目:编写以fun11为名的函数文件。将所输入的5个字符,以

相反顺序打印出来。

===========================================================

b=[3 4 5 4 7]

for i= 1:5

if a(5)

m=a(i);

a(i)=a(5);

a(5)=m;

elseif a(4)

n=a(2)

a(2)=a(4)

a(4)=n

end

end

b

另:可用

Fliplr([4 5 7 8 9])

A=’bgf89’

B=A(end:-1:1)

12. 题目:对n个数进行排序。即输入n个数,输出结果为由大到小的顺序。编写以fun12为名的函数文件。

程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。

===========================================================

A=[1,9,7,8,5]

Sort(A)<任意输入n个数即可>

13. 题目:编写一个函数,输入n为偶数时,求1/2+1/4+...+1/n,当输入n为奇数时,求1/1+1/3+...+1/n。编写以fun13为名的函数文件。

n=input('??ê?è?n=')

if (rem(n,2)==0)

for i=2:2:n

s=s+1/i;

end

else

s=0;

for i=1:2:n

s=s+1/i;

end

end

s

另:此题可以把他们看成级数,只需:

S=symsum(1/(2*n),1,n)

S=symsum(1/(2*n-1),1,n)

14. 题目:输入数字a,按以下规则进行。每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。编写以fun14为名的函数文件。

==================================================== x1=input('??ê?è?ò???????êy£o')

a1=fix(x1/1000);

a2=fix((x1-a1*1000)/100);

a3=fix((x1-a1*1000-a2*100)/10);

a4=fix(x1-a1*1000-a2*100-a3*10);

a=rem((a4+5),10);

b=rem((a3+5),10);

c=rem((a2+5),10);

d=rem((a1+5),10);

x=a*1000+b*100+c*10+d

15. 题目:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。输入m,输出a,n。编写以fun15为名的函数文件。

n=0;

for i=1:1:m

if rem(i,7)==0|rem(i,11)==0

n=n+1;

end

end

n

16. 题目:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。S=1+1/(1+2)+1/(1+2+3)+……+1/(1+2+3+…+n)。编写以fun16为名的函数文件。

s=0;

m=0;

for i=1:1:n

m=m+i;

s=s+1/m;

end

s

练习3 优化问题练习

1、线性规划

规划问题不等式约束默认是≤,所有不等式约束都要变成b

(的形式。

)

x

f≤

函数原型:X=linprog(f,A,b,Aeq,beq,LB,UB,X0,OPTIONS)

f:目标函数的系数列向量

A:不等式约束条件的系数矩阵

b:不等式约束条件的

Aeq:等式约束条件的系数矩阵

beq:等式约束条件的

lb:未知数的下界

ub:未知数的上界

x0:初值

option:选项

例:

脚本文件:

clear all,clc;

f=[-5;-4;-6];

A=[1 -1 1;3 2 4;3 2 0];

b=[20;42; 30];

lb=[0;0;0];% lb=zeros(3,1);

[x,fval]=linprog(f,A,b,[],[],lb)

2、二次规划

函数原型:X=quadprog(H,f,A,b,Aeq,beq,LB,UB,X0,OPTIONS) 将目标函数写成如下形式:

例:

脚本文件:

clear all ,clc;

H=[1 -1;-1 2];

f=[-2; -6]

A=[1 1;-1 2];

b=[2;3];

lb=[0;0];

[x,fval]=quadprog(H,f,A,b,[],[],lb)

3、0-1规划

函数原型:X = bintprog(f,A,b,Aeq,beq,X0,OPTIONS) 例:

4、有约束的最值问题

函数原型:X=fimincon(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS) fun :目标函数句柄

nonlcon :非线性约束条件函数句柄 例1:

写目标函数:

function y=objectf2(x) y=-x(1)*x(2)*x(3);

写脚本文件:

clear all ,clc; x0=[10;10;10]; A=[1 2 3;-1 -2 -3]; b=[72;0];

[x,fval]=fmincon(@objectf2,x0,A,b)

例2:目标函数:2122

12)1()(100)(x x x x f -+-=

约束条件: 12

22

1≤+x x

function y=objectf3(x)

y=100*(x(2)-x(1)^2)^2+(1-x(1))^2;

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.

相关主题