matlab实习作业

发布 2020-02-26 04:01:28 阅读 3950

专业实训。

习题一:输入10个数,求其中最大数和最小数。要求分别用循环结构和调用matlab的max函数、min函数来实现。

解:(1)循环结构方式。

m文件:indata = input(' please input the number 10 ')

maxdata = indata(1);

mindata = indata(1);

for(i=1:10)

if(indata(i) >maxdata)

maxdata = indata(i);

endif(indata(i)

mindata = indata(i);

endend

maxdata

mindata

运行结果:2)调用函数方式。

m文件:indata = input('please input the number 20');

maxdata = max(indata)

mindata = min(indata)

运行结果:习题二:求fibonacci数列。

(1)大于4000的最小项。

2)5000之内的项数。

解:(1)m文件:

f=[1,1];

i = 1;

while f(i)+f(i+1)< 4000

f(i+2)=f(i)+f(i+1);

i=i+1;

endmindata = min(f)

运行结果:2)m文件:

f=[1,1];

i = 1;

while f(i)+f(i+1)< 5000

f(i+2)=f(i)+f(i+1);

i=i+1;

enddata = f

运行结果:习题三: 写出下列程序的输出结果:

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);

endendends

运行结果:习题四:解方程组ax=b,分别用求逆解法与直接解法求其解。

解:(1)直接解法。

m文件:a=[ 2,-1, 0, 0, 0;

b = 1;0;0;0;0]

x = a\b

运行结果:2)逆解法。

m文件:a=[ 2,-1, 0, 0, 0;

b = 1;0;0;0;0]

x = inv(a)*b

运行结果:习题五:编一个m程序,求n阶方阵a的行列式的值。

解:m文件。

det(rand(input('random input matrix order ')

运行结果:习题六:今有多项式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)值。

解:m文件:

p1 = 1,0,0,-2,1]; p1(x)多项式的系数。

p2 = 0,0,1,4,-0.5];%p2(x) 多项式的系数。

p = p1 + p2p1(x)+p2(x) 多项式的系数。

i = 0:5

xi = i * 0.2 %xi

y = polyval(p,xi) %输出。

运行结果:习题七:试编一个m程序,将一维数组x中的n个数按颠倒的次序重新存储。如n=5,原来x为:

x=[ 1 3 5 7 9 ]

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

x=[ 9 7 5 3 1 ]

解:m文件:

num = input('num is ')

indata = input('indata is')

if mod(num,2)

display('the input is odd');

for i = 1:1:(num-1)/2

temp = indata(i);

indata(i) =indata(num+1-i);

indata(num+1-i) =temp;

endelse

display('the input is even');

for i = 1:1:(num/2)

temp = indata(i);

indata(i) =indata(num+1-i);

indata(num+1-i) =temp;

endend

display('reverse the order after the results is');display(indata);

运行结果:当输入的数为偶数时:

当输入的数为奇数时:

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

解: m文件:

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

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

plot(x,y,'b','linewidth',3);

axis([0 2*pi -1.5 1.5]);

title('sin(x)cos(5x)')

xlabel('x');

ylabel('y');

运行结果:习题八:在[0 2π]范围内绘制以y轴为对数的二维曲线图。

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

解:m文件:

x=[0:0.01:2*pi]

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

semilogy(x,y)

运行结果:习题九把自己姓名中的各个拼音字母(小写)所对应的ascii值转换为二进制序列,并用二进制脉冲绘图表示出来。

解:m文件:

name = yanhao'

ascii = double(name)

c = dec2bin(name,8)%convert decimal integer to a binary string

c = cstem(str2num(c(:)convert string matrix to numeric array

运行结果:心得体会:我觉得想要学好matlab是不容易的,这是一件需要持之以恒的事,必须要坚持不懈的学习,还需要敢于开口向别人请教,更需要我们勤于思考,勤于记忆,勤于动手。

程序设计是实践性和操作性很强的事情,需要我们亲自动手。因此,我们应该经常自己动手实际操作设计程序,熟悉matlab的操作,这对提高我们的操作能力非常有效。

在这几天时间里,我仅仅是学了一点点皮毛,想要进一步的学习,还需要我在以后的的实际运用里不断地学习,改进自己的不足之处,让自己能够有所进步,有所成长。

Matlab练习作业

一 写出命令,绘制频率为5赫兹的正弦波的波形。函数如下 二 写出命令,绘制如下分段函数的波形。使用的命令与输出的图形粘贴在下面 第一题。t 0 0.01 0.2 y 2 sin 2 pi 5 t plot t,y xlabel t ylabel y title y 2 sin 2 pi 5 t te...

MATLAB练习作业 已做

说明 如在测试时请将程序中的中文字符改为西文 部分程序为手写,并未经matlab验证 2012年春 matlab基础 第一次上机练习与作业。练习 脚本文件。建立一个文件名为 helloworld 的脚本文件,运行该文件时显示出如下文字 hello world i am going to learn ...

检索实习作业

研究生检索实习作业。1 课题中文名称 含硅有机锡化合物的合成。课题英文名称 synthetic study on the complex of organotin containing silicon 1 课题分析 1 课题研究背景 有机锡化合物是一类长期以来一直都在研究乃至于趋于更完善 更成熟的有...