实验1 Matlab程序设计基础

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

实验1 Matlab 程序设计基础

一、实验名称:Matlab 程序设计基础.

二、实验目的:掌握Matlab 语言,会用Matlab 进行一些简单的程序设计.

三、实验要求:

1、对以下问题,编写M 文件:

(1)用起泡法对10个数由小到大排序.即将相邻两个数比较,将小的调到前头.

(2)有一个4×5矩阵,编程求其最大值及其所处的位置.

(3)编程求∑=20

1!n n .

(4)一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下.求它在第10次落地时,共经过多少米?第10次反弹有多高?

(5)有一函数f(x,y)=x^2+sin(x*y)+2*y ,写一程序,输入自变量的值,输出函数值.

2、在同一平面中的两个窗口分别画出心形线和马鞍面.

要求:

(1)在图形上加格栅、图例和标注.

(2)定制坐标.

(3)以不同角度观察马鞍面.

3、请编写绘制以下图形的Matlab 命令,并展示绘得的图形:

(1)4,12222=+=+y x y x 分别是椭圆14/2

2=+y x 的内切圆和外切圆; (2)指数函数和对数函数x y ln =的图像关于直线x y =对称.

四、实验内容:

1、1)源程序:

function p=paixu(a)

a=[1,2,5,6,8,7,9,4,3,0];

for i=9:-1:1

for j=1:i

if a(j)>a(j+1)

t=a(j);

a(j)=a(j+1);

a(j+1)=t;

end

end

end

a

调试结果:a =

0 1 2 3 4 5 6 7 8 9

2)源程序:

function j=juzhen(a)

a=rand(4,5);

m=a(1);ind=[1 1];

for i=1:size(a,1)

for j=1:size(a,2)

if m

m=a(i,j);

ind=[i j];

end

end

end

m

ind

a(ind(1),ind(2))

调试结果:m =0.9502 ind =3 5

ans =0.9502 ans =5

3)源程序:function r = fun(n)

n=20

result = 1;

r = 0;

for ii = 1 : n

result = result * ii;

re= r + result;

end

调试结果:ans = 2.5613e+018

4)源程序:function q=xiaoqiu(s)

s=zeros(1,10);

s(1)=100;

for i=1:9

s(i+1)=s(i)/2;

end

L=s(1)+2*sum(s(2:10))

h=s(10)

调试结果:L = 299.6094 h =0.1953

5)源程序:function f=fun(x,y)

f=x^2+sin(x*y)+2*y;

调试结果:在command window界面中敲入fun(1,2),

得到ans = 5.9093

2、源程序:

clear

ax1=subplot(1,2,1);

t=0:.01*pi:2*pi;

f1=polar(t,1+cos(t));

title('心形线'); legend(f1,'r=1+cost')

ax2=subplot(1,2,2);

x1=linspace(-20,20,100);

y1=linspace(-20,20,100);

[xx1,yy1]=meshgrid(x1,y1);

zz1=xx1.*yy1;

f2=surf(xx1,yy1,zz1);

title('马鞍面'); legend(f2,'z=x^2-y^2','Location','NorthWest') xlabel('x ')

ylabel('y ')

zlabel('z')

axis([-20 20 -20 20 -400 400])

setAllowAxesRotate(rotate3d,ax1,false);

grid on

调试结果:

3、1)源程序:

t=linspace(-pi, pi,120);

x1=2*sin(t);

y1=2*cos(t);

x2=sin(t);

y2=cos(t);

x3=2*sin(t);

y3=cos(t);

plot(x1,y1,x2,y2,x3,y3)

调试结果:

2)源程序:x1=linspace(0,5,10);x2=linspace(0,5,10);

y1=exp(x1);

y2=log(x2);

y3=x1;

plot(x1,y1,x2,y2,x1,y3)

axis([0,5,0,5])

调试结果:

相关文档
最新文档