MATLAB程序设计与应用(第二版)课后实验答案 下载本文

内容发布更新时间 : 2024/5/18 8:17:58星期一 下面是文章的全部内容请认真阅读。

以下是运算结果: max(f)=437763282635 min(f)=-899412113528 sum(f)=-742745601951 c1=49 c2=2 c3=49 5. 若两个连续自然数的乘积减1是素数,则称这两个边疆自然数是亲密数对,该素数是亲密素数。例如,2×3-1=5,由于5是素数,所以2和3是亲密数,5是亲密素数。求[2,50]区间内:

(1) 亲密数对的对数。

(2) 与上述亲密数对对应的所有亲密素数之和。 解:

M文件:

运算结果为: j =

29 s =

23615

实验五 函数文件

一、实验目的

1. 理解函数文件的概念。

2. 掌握定义和调用MATLAB函数的方法。 二、实验内容

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

该函数文件。

解:M文件如下: 函数fushu.M文件: function [e,l,s,c] = fushu(z) %fushu 复数的指数,对数,正弦,余弦的计算 %e 复数的指数函数值 %l 复数的对数函数值 %s 复数的正弦函数值 %c 复数的余弦函数值 e=exp(z); l=log(z); s=sin(z); c=cos(z); 命令文件M: z=input('请输入一个复数z='); [a,b,c,d]=fushu(z) 运算结果如下: z=input('请输入一个复数z='); [a,b,c,d]=fushu(z) 请输入一个复数z=1+i a = 1.4687 + 2.2874i b = 0.3466 + 0.7854 c 1.2985 + 0.6350i d = 0.8337 - 0.9889i

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

?m1cos??msin??1?0??0?m10m20?sin?cos??sin??cos?0??a1??0??a??mg?0???2???1? 0??N1??0??????1??N2??m2g?从键盘输入m1、m2和θ的值,求a1、a2、N1和N2的值。其中g取9.8,输入θ时以角度为单位。

要求:定义一个求解线性方程组AX=B的函数文件,然后在命令文件中调用该函数文件。

解: M文件

函数fc.M文件: function X= fc(A,B) ü fc是求解线性方程的函数 %A A是未知矩阵的系数矩阵 X=A\\B; 命令M文件: clc; m1=input('输入m1='); m2=input('输入m2='); theta=input('输入theta='); x=theta*pi/180; g=9.8; A=[m1*cos(x) -m1 -sin(x) 0 m1*sin(x) 0 cos(x) 0 0 m2 -sin(x) 0 0 0 -cos(x) 1]; B=[0;m1*g;0;m2*g]; X=fc(A,B) 运算结果: 输入m1=1 输入m2=1 输入theta=30 X = 7.8400 3.3948 6.7896 15.6800 3. 一个自然数是素数,且它的数字位置经过任意对换后仍为素数。例如13是绝对素数。试

求所有两位绝对素数。

要求:定义一个判断素数的函数文件。 解:M文件: 函数prime.m文件 function [p] = prime(p) % 输入p的范围,找出其中的素数 m=p(length(p)); for i=2:sqrt(m) n=find(rem(p,i)==0&p~=i); p(n)=[]; %将p中能被i整除,而却不等于i的元素,即下标为n的元素剔除,其余的即为素数 end p; 命令文件: clc; p=10:99; p=prime(p); %找出10到99内的所有素数 p=10*rem(p,10)+(p-rem(p,10))/10; %将p素数矩阵每个元素个位十位调换顺序 p=prime(p) %再对对换后的素数矩阵找出所有的素数 运算结果:

p = 11 31 71 13 73 17 37 97 79

4. 设f(x)?11,编写一个MATLAB函数文件fx.m,使得?(x?2)2?0.1(x?3)4?0.01调用f(x)时,x可用矩阵代入,得出的f(x)为同阶矩阵。

解: 函数fx.m文件: function f= fx(x) %fx fx求算x矩阵下的f(x)的函数值 A=0.1+(x-2).^2; B=0.01+(x-3).^4; f=1./A+1./B; 命令文件: clc;