实验4函数文件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)
运行结果: