实验五 函数文件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五函数文件
一、实验目的
1、理解函数文件的概念。
2、掌握定义和调用MATLAB函数的方法。
二、实验内容
1、定义一个函数文件,求给定复数的指数、对数、正弦和余弦,
并在命令文件中调用该函数文件。
function[a,b,c,d]=num(x)
a=exp(x)
b=log(x)
c=sin(x)
d=cos(x)
end
> num(8i)
a =
-0.1455 + 0.9894i
b =
2.0794 + 1.5708i
c =
0 +1.4905e+003i
d =
1.4905e+003
ans =
-0.1455 + 0.9894i
2、一个物理系统可用下列方程组来表示:
111211
12
220cos sin 0sin 0cos 000sin 000cos 1a m m a m g m N m N m g θθθθθθ--⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦
从键盘输入m 1、m 2和θ的值,求a 1、a 2、N 1、N 2的值。其中g 取’
9.8,输入θ时以角度为单位。
要求:定义一个求解线性方程组AX=B 的函数文件,然后在命令
文件中调用该函数文件。
function[a1,a2,N1,N2]=num(m1,m2,x)
g=9.8
A=[m1cos(x) -m1 -sin(x) 0;m1sin(x) 0 cos(x) 0;0 m2 -sin(x) 0;0 0 -cos(x) 1]
C=[m1*g;0;m2*g;0]
B=inv(A).*C
a1=B(1)
a2=B(2)
N1=B(3)
N2=B(4)
end
3、一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称是绝对素数。例如13是绝对素数。试求所有两位绝对素数。
要求:定义一个判断素数的函数文件。
function absolute_prime(n)
a=perms(num2str(n))
a=str2num(a)
b=zeros(1,length(a))
for i=1:length(a)
if isprime(a(i))
b(i)=1
end
end
c=find(b~=1)
if isempty(c)
for i=1:length(a),a(i)
end
else
disp('no')
end
for i=10:99
absolute_prime(i)
end
4、设()()()241
1
20.130.01f x x x =+-+-+,编写一个MATLAB 函数文件fx.m,
使得调用f(x)时,x 可用矩阵代入,得出的f(x)为同阶矩阵。 function a=fx(x)
a=1./((x-2).^2+0.1)+1./((x-3).^4+0.01)
end
>> fx([1 2 3;4 5 6 ;7 8 9])
a =
0.9716 10.9901 100.9091
1.2340 0.1724 0.0745
0.0437 0.0293 0.0211
ans =
0.9716 10.9901 100.9091
1.2340 0.1724 0.0745
0.0437 0.0293 0.0211
5、已知()()()
403020f y f f =+ (1)当f(n)=n+10ln ()25n +时,求y 的值。
function y =f(n)
y=n+10.*log(n.^2+5)
end
y =
0.6390
ans =
0.6390
(2)当()()
f n n n
=⨯+⨯+⨯+⋅⋅⋅++时,求y的值。
1223341
function x=f(n)
if n<=0
x=0
else
x=n.*(n+1)+f(n-1)
end
end
ans =
1.7662