专业实训。
习题一:输入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的操作,这对提高我们的操作能力非常有效。 在这几天时间里,我仅仅是学了一点点皮毛,想要进一步的学习,还需要我在以后的的实际运用里不断地学习,改进自己的不足之处,让自己能够有所进步,有所成长。 一 写出命令,绘制频率为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验证 2012年春 matlab基础 第一次上机练习与作业。练习 脚本文件。建立一个文件名为 helloworld 的脚本文件,运行该文件时显示出如下文字 hello world i am going to learn ... 研究生检索实习作业。1 课题中文名称 含硅有机锡化合物的合成。课题英文名称 synthetic study on the complex of organotin containing silicon 1 课题分析 1 课题研究背景 有机锡化合物是一类长期以来一直都在研究乃至于趋于更完善 更成熟的有...Matlab练习作业
MATLAB练习作业 已做
检索实习作业