西南交通大学数学实验作业.docx

上传人:b****5 文档编号:6304386 上传时间:2023-01-05 格式:DOCX 页数:63 大小:233.10KB
下载 相关 举报
西南交通大学数学实验作业.docx_第1页
第1页 / 共63页
西南交通大学数学实验作业.docx_第2页
第2页 / 共63页
西南交通大学数学实验作业.docx_第3页
第3页 / 共63页
西南交通大学数学实验作业.docx_第4页
第4页 / 共63页
西南交通大学数学实验作业.docx_第5页
第5页 / 共63页
点击查看更多>>
下载资源
资源描述

西南交通大学数学实验作业.docx

《西南交通大学数学实验作业.docx》由会员分享,可在线阅读,更多相关《西南交通大学数学实验作业.docx(63页珍藏版)》请在冰豆网上搜索。

西南交通大学数学实验作业.docx

西南交通大学数学实验作业

实验课题一基础编程

第一大题:

编程完成下列计算

1.当x=3,x=2时,求

的值。

%第一大题

%1

x=[3,2*pi];

y1=sin(x)+exp(x)

%{

y1=

1517/7531594/59

%}

2.用冒号法作等差数列x=2,4,6,8,10求对应的函数

的值。

%2

x=2:

2:

10;

y2=x.^2+sqrt(2*x)

%{

y2=

63841/2047143/181683761/36

%}

3.已知:

计算:

%3

a=2*pi,b=35,c=exp

(2);

y31=sin(a/5)+cos(b)*c

y32=tan(b)*cot(a/3)

%{

y31=

-4060/709

y32=

-1019/3725

%}

4.将数据格式转换成有理格式后,清屏后重新输出a,b,c,y31,y32(提示:

参数选项或formatrational,清屏clc)

%4

formatrational

clc

5.查看工作空间已有变量及信息。

(提示:

打开变量信息窗口或whos)

%5

whos

%{

NameSizeBytesClassAttributes

A3x372double

A13x372double

A21x18double

A33x372double

S21x2336double

X1x21168double

Y1x21168double

a1x18double

a11x18double

a111x18double

a21x18double

a211x18double

a31x18double

a311x18double

b1x18double

c1x18double

s1x18double

x1x216double

y11x216double

y21x540double

y311x18double

y321x18double

y711x18double

y721x18double

%}

6.a1=-6.28a2=7.46a3=5.37将a1,a2,a3分别向零取整后赋给a11,a21,a31。

(提示:

fix)

%6

a1=-6.28,a2=7.46,a3=5.37;

a11=fix(a1)

a21=fix(a2)

a31=fix(a3)

%{

a11=

-6

a21=

7

a31=

5

%}

7.由上题的已知数据计算:

%7

y71=abs(a1*a2+a3)

y72=(a1^2)*sqrt(a2*a3/2)

%{

y71=

6844/165

y72=

13591/77

%}

8.保存工作空间变量到文件sy1,删除所有变量。

(提示:

保存savesy1;删除clear)

%8

savesy1

clear

9.从保存的文件中调出所有变量并显示。

(提示:

loadsy1,键入所要显示的变量名)

%9

loadsy1

x,y1,y2,y31,y32,a1,a2,a3,a11,a21,a31,y71,y72

%{

x=

3710/113

y1=

1517/7531594/59

y2=

63841/2047143/181683761/36

y31=

-4060/709

y32=

-1019/3725

a1=

-157/25

a2=

373/50

a3=

537/100

a11=

-6

a21=

7

a31=

5

y71=

6844/165

y72=

13591/77

%}

10.作矩阵:

计算A1=A’ (转置);A2=|A|(行列式); A3=5×A(数乘矩阵)。

将生成的A1,A2,A3存入文件sy1。

(提示:

savesy1A1A2A3)

%10

A=[2-56;831;-469];

A1=A'

A2=det(A)

A3=5*A

savesy1A1A2A3

%{

A1=

28-4

-536

619

A2=

782

A3=

10-2530

40155

-203045

%}

第二大题:

编程完成下列计算

1.做一个函数列表,第一列是角度变量X以/10为步长从0到2取值,第二列是cos(X)的函数值。

(提示:

X=0:

pi/10:

2*pi;Y=cos(X);S=[X’,Y’])

%第二大题

%1

X=0:

pi/10:

2*pi;

Y=cos(X);

S=[X',Y']

%{

S=

01

71/226855/899

71/1131292/1597

213/2264456/7581

142/113305/987

355/226*

213/113-305/987

497/226-4456/7581

284/113-1292/1597

639/226-855/899

355/113-1

781/226-855/899

426/113-1292/1597

923/226-4456/7581

497/113-305/987

1065/226*

568/113305/987

1207/2264456/7581

639/1131292/1597

1349/226855/899

710/1131

%}

2.已知三角形的三个边长分别为a,b,c,求三角形的面积公式为:

用键盘输入边长a=5.3,b=7.4,c=9.5时,计算三角形面积A。

%2

a=input('inputa:

')

b=input('inputb:

')

c=input('inputc:

')

s=(a+b+c)/2;

A=sqrt(s*(s-a)*(s-b)*(s-c))

%{

inputa:

5.3

a=

53/10

inputb:

7.4

b=

37/5

inputc:

9.5

c=

19/2

A=

2167/111

%}

3.用for循环计算1至100之间的奇数之和及偶数之和。

%3

clear

clc

s1=0

s2=0

forn=1:

100

ifrem(n,2)==0

s2=s2+n;

elses1=s1+n;

end

end

s1

s2

%{

s1=

2500

s2=

2550

%}

4.用while循环计算1至1000之间满足‘用3除余2,用5除余3,用7除余2’的数。

%4

n=1

output=[]

whilen<=1000

output=[output,n*(mod(n,3)==2)*(mod(n,5)==3)*(mod(n,7)==2)]

n=n+1;

end

output=unique(output)

output

(1)=[]

%{

output=

23128233338443548653758863968

%}

 

实验课题二循环编程

第一大题:

建立数组,构造函数求对应的函数值.

1.1

%第一大题

%1.1

x1=[3,5,-1,2,8,12]

y1=3*x1.^2+exp(x1)-x1+2

%{

y1=

1.0e+005*

1.050.00220.00010.00020.03171.6318

%}

1.2

%1.2

fori=1:

7

x2=-2:

1:

4;

y2(i)=(sin(x2(i)+2)-1)/(x2(i).^3+6);

end

y2

%{

y2=

0.5000-0.0317-0.0151-0.1227-0.1255-0.0594-0.0183

%}

第二大题:

运用条件控制语句编写程序,实现根据输入的数值特性,按分段函数计算出相应的函数值;

2.1构造由键盘输入x的值,由分段函数y1确定函数值

运行时键盘分别输入值x=2x=-12由程序得出相应y1的函数值

%第二大题

%2.1

x=input('i=');

ifx>=0

y1=2*x-sin(4*x)

elsey1=exp(x)+x.^3

end

%{

i=2*pi

y1=

12.5664

i=-12

y1=

-1.7280e+003

%}

2.1构造由键盘输入x的值,由分段函数

确定函数值,运行时键盘分别输入值x=45,x=-32时y2的值.

%2.2

x=input('x=');

ifx>0

y2=5*x+3

elseifx<0

y2=3*x.^2

else

y2=4

end

%{

x=45

y2=

228

x=-32

y2=

3072

%}

第三大题:

构造函数式M文件f3.m,函数表达式为

,并求

%第三大题

y3=[f3(4),f3(0),f3(-2)];

%{

y3=[f3(4),f3(0),f3(-2)];

y3=

2.0794

y3=

5

y3=

-9

%}

%{

函数m文件:

function[y3]=f3(x)

ifx>0

y3=log(2*x)

else

y3=2*x.^3-x+5

end

end

%}

第四大题:

运用条件控制语句、循环语句等基本编程语句编写程序,实现有规律元素的矩阵生成;实现各类特殊函数及数列的生成;

4.1由for循环构造矩阵A4

%第四大题

%4.1

fori=1:

6

forj=1:

6

ifi==j

A4(i,j)=5;

elseifabs(i-j)==1

A4(i,j)=2;

elseA4(i,j)=1;

end

end

end

A4

%{

A4=

521111

252111

125211

112521

111252

111125

%}

4.2用for循环由数组t=3,2,5,4,-2,-3生成的范德蒙矩阵。

(范德蒙矩阵的第i行是数组的i-1次方)

%4.2

t=[3,2,5,4,-2,-3];

fori=1:

6

F(i,:

)=t.^(i-1);

end

F

%{

F=

111111

3254-2-3

94251649

27812564-8-27

81166252561681

2433231251024-32-243

%}

4.3用while循环构造求调和级数

前n项和,项数由键盘输入。

并求出n=15,n=20时的和S15与S20。

%4.3

n=input('n=');

s=0;

k=1;

whilek<=n

s=s+1/k;

k=k+1;

end

s

%{

n=15

s=

3.3182

n=20

s=

3.5977

%}

4.4用循环求费波那契数列的前40个数,以四个数为一行排成10×4的数阵F

(费波那契数列的第一项、第二项是1,从第三项起各项是其前两项的和)

%4.4

a

(1)=1;

a

(2)=1;

n=3;

whilen<=40

a(n)=a(n-1)+a(n-2);

n=n+1;

end

fori=1:

10

t=[a(4*i-3),a(4*i-2),a(4*i-1),a(4*i)];

F(i,:

)=t;

end

F

%{

F=

1123

581321

345589144

233377610987

1597258441816765

10946177112865746368

75025121393196418317811

514229832040134********309

35245785702887922746514930352

241578173908816963245986102334155

%}

4.5键盘输入a的值与项数n,编程实现如下n项和Sn:

%4.5

a=input('a=');

n=input('n=');

sum=0;

fori=1:

n

j=0;

forx=0:

i-1;

j=j*10+a;

end

sum=sum+j;

end

sum

%{

a=2

n=6

sum=

246912

%}

第五大题:

运用多分枝控制语句,实现自动转换成绩制式功能.用switch语句编程实现输入百分制的成绩,输出90~100为优秀,70~89为良好,60~69为及格,60以下为不及格的等级制成绩。

%第五大题

x=input('x=');

switchfix(x/10)

case{9,10}

f='优秀'

case{8,7}

f='良好'

case6

f='及格'

otherwise

f='不及格'

end

%{

x=95

f=

优秀

x=85

f=

良好

x=65

f=

及格

x=55

f=

不及格

%}

第六大题:

求200以内的素数.

%第六大题

N=input('N=')

x=2:

N;

foru=2:

sqrt(N)

n=find(rem(x,u)==0&x~=u);

x(n)=[];

end

x

%{

x=

Columns1through21

23571113171923293137414347535961677173

Columns22through42

79838997101103107109113127131137139149151157163167173179181

Columns43through46

191193197199

%}

%或者可以直接使用MATLAB中的现有程序primes(200)

第七大题:

用switch语句编程实现运输费用的计算:

运输公司对用户计算运费,距离s越远,每公里运费越低。

折扣标准如下:

s<250km没折扣

250≤s<5002%折扣

500≤s<10005%折扣

1000≤s<20008%折扣

2000≤s<300010%折扣

3000≤s15%折扣

设每公里每吨货物基本运费为p,货物重为w,距离为s,折扣为d,则编程计算总费用f.其f的计算模型为:

%第七大题

%{

请输入每公里货物运输的基本费用=20

请输入运送的货物的重量(吨)=50

请输入运输距离(km)=200

f=

200000

请输入每公里货物运输的基本费用=20

请输入运送的货物的重量(吨)=50

请输入运输距离(km)=250

f=

245000

请输入每公里货物运输的基本费用=20

请输入运送的货物的重量(吨)=50

请输入运输距离(km)=500

f=

475000

%}

 

实验课题三向量与曲线绘图

第一大题:

向量的创建与运算

1.1用元素输入法创建向量x11=(2–58–171-83259)

%第一大题

%1.1

x11=[2-58-171-83259]

%{

x11=

2-58-171-83259

%}

1.2用冒号输入法创建向量x12=(246810121416182022)

%1.2

x12=2:

2:

22

%{

x12=

246810121416182022

%}

1.3用等分取值法创建向量x13,其初值为0,终值为2π,共20个元素.

%1.3

x13=linspace(0,2*pi,20)

%{

x13=

Columns1through14

00.33070.66140.99211.32281.65351.98422.31492.64562.97623.30693.63763.96834.2990

Columns15through20

4.62974.96045.29115.62185.95256.2832

%}

1.4用随机输入法创建8维行向量x14

%1.4

x14=rand(1,8)

%{

x14=

0.95010.23110.60680.48600.89130.76210.45650.0185

%}

1.5用随机输入法创建6维整数列向量x15

%1.5

x15=rand(6,1)

%{

x15=

0.8214

0.4447

0.6154

0.7919

0.9218

0.7382

%}

1.6取向量x11的绝对值大于3的元素构成向量x16.

%1.6

x16=x11(abs(x11)>3)

%{

x16=

-587-859

%}

1.7求空间两点间距离M1(5,4,9)、M2(8,6,3)

%1.7

M1=[549];

M2=[863];

m=M2-M1;

d=norm(m)

%{

d=

7

%}

1.8做向量的线性运算:

x18=4十x11+7x12.

%1.8

x18=4+x11+7*x12

%{

x18=

20275459818994119132149167

%}

1.9做向量的数量积x19=x11·x12.

%1.9

x19=dot(x11,x12)

%{

x19=

376

%}

1.10分别取x11与x12的前三个元素做向量的叉积赋给x10.

%1.10

a=x11([1,2,3]);

b=x12([1,2,3]);

x10=cross(a,b)

%{

x10=

-62418

%}

第二大题:

曲线绘图:

2.1构造坐标向量绘出‘田’字的图形(先给出构成字的数据点坐标)

%第二大题

%2.1

figure

axis([0808]);

x=[1477741114441147];

y=[7774111477411444];

line(x,y)

2.2绘制向量y=[4553235678]的图形。

%2.2

figure

y=[4553235678];

plot(y)

2.3数据数组x23=(0.10.110.12…10),函数y23=30/x23,绘出函数曲线图形。

%2.3

figure

x23=(0.1:

0.01:

10);

y23=30./x23;

plot(y23)

2.4数据数组x24为区间[-5,5]上等分的30个点列,绘出函数y24=5·x24·cos(x24)的曲线图。

%2.4

figure

x24=linspace(-5,5,30);

y24=5*x24.*cos(x24);

plot(y24)

2.5数据数组x25是从[-2,2]中,取50个点,在同一块图形窗口绘出蓝色、数据点o、实线线型的y25=sin(x25)和红色、数据点*、虚线线型的z25=cos(x25)。

%2.5

figure

x25=linspace(-2*pi,2*pi,50);

y25=sin(x25);

plot(y25,'b-o');

holdon

z25=cos(x25);

plot(z25,'r-*');

holdoff

2.6连续函数绘图法,分割图形窗口为2行3列,每块中当

,用不同的颜色和线型画出,

的图。

并在每一块上的图形名标明函数表达式.

%2.6

subplot(2,3,1)

fplot('3*x.^2',[-8,8],'b-*')

title('f1=3*x.^2')

subplot(2,3,2)

fplot('exp(x+1)',[-8,8],'r-o')

title('f2=exp(x+1)')

subplot(2,3,3)

fplot('cos(4*x-6)',[-8,8],'y-x')

title('f3=cos(4*x-6)')

subplot(2,3,4)

fplot('x*sin(2*x)',[-8,8],'m-^')

title('f4=x*sin(2*x)')

subplot(2,3,5)

fplot('log(x.^2+3)',[-8,8],'c-*')

title('f5=log(x.^2+3)')

subplot(2,3,6)

fplot('2*x.^3+4*x.^2-6*x+1',[-8,8],'g.')

title('f6=2*x.^3+4*x.^2-6*x+1')

第三大题:

参数方程与极坐标绘图

3.1用参数方程绘椭圆图形,长轴a和短轴b由键盘输入。

(自行给数据),在图中心写椭圆方程。

%第三大题

%3.1

t=linspace(-2,2,50)*pi;

a=input('a=');

b=input('b=');

x=a*cos(t);y=b*sin(t);

plot(x,y,'r');

axisequal

text(-0.5,0,'x^2/a^2+y^2/b^2=1');

3.2按要求选取t的范围,用不同颜色分块绘制下列极坐标图形:

曲线:

r=cos(t/3)0≤t≤4π

对数螺线:

0≤t≤5π

双曲螺线:

rt-4=00.6π≤t≤6π

%3.2

subplot(1,3,1)

t=linspace(0,4*pi,50);

r=cos(t/3);

plot(t,r,'b');

holdon

subplot(1,3,2)

t=linspace(0,5*pi,50);

r=exp(0.3*t);

plot(t,r,'r');

holdon

subplot(1,3,3)

t=linspace(0.6*pi,6*pi,50);

r=4./t;

plot(t,r,'y');

holdoff

3.3用数值型绘图函数plot3(x,y,z)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1