实验4函数文件

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

实验四 函数文件

1.定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文件。

函数文件:

function [e,ln,s,c]=plural(x)

e=exp(x);

ln=log(x);

s=sin(x);

c=cos(x);

End

命令文件:

x=input('请输入一个复数:');

[e,ln,s,c]=plural(x);

e

ln

s

c

运行结果:

请输入一个复数:3+4i

e =

-13.1288 -15.2008i

ln =

1.6094 + 0.9273i

s =

3.8537 -27.0168i

c =

-27.0349 - 3.8512i

2.一物理系统可用下列方程组来表示:

⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----g g m m N N a a m m m m 2121212111001cos 000sin 00cos 0sin 0sin cos θθ

θθ

θθ 从键盘输入m 1、m 2和θ的值,求N a a 121、、和N 2的值。其中g 取9.8,输入

θ时以角度为单位。

函数文件:

function [a1,a2,N1,N2]=physis(m1,m2,t)

g=9.8;

A=[m1*cos(t*pi/180),-m1,-sin(t*pi/180),0;...

m1*sin(t*pi/180),0,cos(t*pi/180),0;...

0,m2,-sin(t*pi/180),0;...

0,0,-cos(t*pi/180),1];

B=[0;m1*g;0;m2*g];

x=inv(A)*B;

a1=x(1);

a2=x(2);

N1=x(3);

N2=x(4);

命令文件:

m1=input('请输入m1:');

m2=input('请输入m2:');

t=input('请输入角度t :');

[a1,a2,N1,N2]=physis(m1,m2,t);

a1

a2

N1

N2

运行结果:

请输入m1:3

请输入m2:4

请输入角度t :30

a1 =

7.2211

a2 =

2.6801

N1 =

21.4410

N2 =

57.7684

3.设f(x)=01.011.01

)3()2(4

2+++--x x ,编写一个MATLAB 函数文件fx.m ,使得调用f(x)时,x 可用矩阵代入,得出的f(x)为同阶矩阵。

函数文件:

function [f]=fx(x)

a=0.1+(x-2).^2;

b=0.01+(x-3).^4;

f=1./a+1./b;

end

命令文件:

x=input('请输入矩阵x:');

f(x)=fx(x);

disp(f(x))

运行结果:

请输入矩阵x:[1 2 3;4 5 6]

0.9716 10.9901 100.9091

1.2340 0.1724 0.0745

4.已知y=)

20()30()40(f f f + (1)当f(n)=n+10ln(n 2+5)时,求y 的值。

函数文件:

function t=fn(x)

t=x+10*log(x*x+5);

命令文件:

[t(40)]=fn(40);

[t(30)]=fn(30);

[t(20)]=fn(20);

y=t(40)/(t(30)+t(20));

Y

运行结果:

y =

0.6390

(2)当f(n)=1⨯2+2⨯3+3⨯4+…+n ⨯(n+1)时,求y 的值。

函数文件:

function f=fn2(n)

if n<=0

f=0;

else

f=fn2(n-1)+n*(n+1);

end

命令文件:

[f(40)]=fn2(40);

[f(30)]=fn2(30);

[f(20)]=fn2(20);

y=f(40)/(f(30)+f(20));

Y

运行结果:

y =

1.7662

5.假设银行利率为常数,根据公式*(1)n FV PV i =+可以计算出存款余额。其中:FV 是存款余额;PV 是最初的存款额;i 是每个复利计算期的利率,用分数表示,如5%表示为0.05;n 是复利计算期的数量。

(1)创建MATLAB 函数future_value ,函数的三个输入参数分别是:最初的存款额,分数表示的利率和复利计算期的数量。

函数文件:

function FV=future_value(PV,i,n)

FV=PV*(1+i)^n;

end

(2)利用函数计算¥1000资金在银行中存10年,账户中应有多少存款。假设月利率为0.5%,利息按月结算。

命令文件:

pv=input('请输入最初的存款额:');

i=input('请输入复利计算期的利息:');

n=input('请输入复利计算期的数量:');

[fv]=future_value(pv,i,n);

fv

format bank

运行结果:

请输入最初的存款额:1000

请输入复利计算期的利息:0.005

请输入复利计算期的数量:10

fv =

1051.14

6.创建函数polygon,画出任意边数的多边形。函数将给定的边数作为仅有的输入变量,没有输出变量,能够在极坐标系中画出所要求的多边形。

函数文件:

function polygon(n)

if n>=3

t=2*pi/n;

theta=0:t:2*pi;

rho=2*ones(size(theta));

polar(theta,rho);

else

disp('您的输入不正确!')

end

命令文件:

n=input('请输入多边形的边数:');

polygon(n)

运行结果:

相关文档
最新文档