matlab习题(1)

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

1.输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MA TLAB的max函数、min函数来实现。

a=rand(1,20);

max1=max(a) %用max函数求最大值

min1=min(a) %用max函数求最大值

%以下用循环方法求解:

max2=a(1);

min2=a(1);

for i=2:20

if a(i)>max2

max2=a(i);

end

if a(i)

min2=a(i);

end

end

max2

min2

调用MATLAB的max函数、min函数来实现:

>> a=rand(1,20)

zuidazhi=max(a)

zuixiaozhi=min(a)

a =

Columns 1 through 8

0.7513 0.2551 0.5060 0.6991 0.8909 0.9593 0.5472 0.1386 Columns 9 through 16

0.1493 0.2575 0.8407 0.2543 0.8143 0.2435 0.9293 0.3500 Columns 17 through 20

0.1966 0.2511 0.6160 0.4733

zuidazhi =

0.9593

zuixiaozhi =

0.1386

2. 求Fibonacci数列

(1)大于4000的最小项。

(2)5000之内的项数。

(1)

function t=fibonacc1

f=[1,1];

n=2;

while 1

f=[f,f(n-1)+f(n)];

n=length(f);

if f(n)>4000

break;

end

end

t=f(n);

return

(2)

function n=fibonacc2

f=[1,1];

n=2;

while 1

f=[f,f(n-1)+f(n)];

n=length(f);

if f(n)>4000

break;

end

end

n=n-1;

return

3. 写出下列程序的输出结果:

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

Ans=108

1、解方程组Ax =b ,分别用求逆解法与直接解法求其解。

A=[2 -1 0 0 0;-1 2 -1 0 0;0 -1 2 -1 0;0 0 -1 2 -1;0 0 0 -1 2]; b=[1;0;0;0;0]; x=inv(A)*b

2、编一个m 程序,求N 阶方阵A 的行列式的值 function s=mydet(A) n=size(A);

if (n(1)~=n(2)) return ; end

n=n(1); if (n==1) s=A; return ; end s=0;

for i=1:n

s=s-(-1)^i*A(1,i)*mydet(A(2:n,[1:i-1 i+1:n])); end

3.今有多项式P1(x)=x4-2x+1,P2(x)=x2+4x-0.5,要求先求得P(x)=P1(x)+P2(x),然后计算xi=0.2*i 各点上的P(xi)(i=0,1,2,…,5)值。 p1=[1.0 0.0 0.0 -2.0 1.0]; p2=[0.0 0.0 1.0 4.0 -0.5]; p1x=poly2sym(p1); p2x=poly2sym(p2); p=p1x+p2x

⎥⎥⎥⎥

⎥⎥⎦

⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡--------=00001,21

000

1210001210

0012100012b A

4.试编一个m程序,将一维数组x中的N个数按颠倒的次序重新存储。如N=5,原来x 为:

x=[ 1 3 5 7 9 ]

而经过颠倒处理后x中数据的次序应该为:

x=[ 9 7 5 3 1 ]

x=[ 1 3 5 7 9 ]

xx=rot90(rot90(x))

1.在[0 2π]范围内绘制二维曲线图y=sin(x)*cos(5x)。

x = 0:pi/10:2*pi;

y = sin(x).*cos(5*x)

plot(x,y)

2.在[0 2π]范围内绘制以Y轴为对数的二维曲线图。

y=|1000sin(4x)|+1

x=linspace(0,2*pi,100);

y=abs(1000*sin(4*x))+1;

semilogy(x,y)

3. 把自己姓名中的各个拼音字母(小写)所对应的ASCII值转换为二进制序列,并用二进制脉冲绘图表示出来

mingzi='shaopengpeng';

% b=dec2bin(int8(s))

b=double(mingzi)

c=dec2bin(b)

c=c'

stem(str2num(c(:)))

相关文档
最新文档