MATLAB实验报告最终定稿 - 图文(4)

2019-08-20 20:15

实验七 函数文件

一、实验目的

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

2、掌握定义和调用MATLAB函数的方法。

二、实验内容(选作2题)

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

function f(x) e=exp(x) ln=log(x) s=sin(x) c=cos(x) end

运行结果: >> f(2i) e =

-0.4161 + 0.9093i ln =

0.6931 + 1.5708i s =

0 + 3.6269i c =

3.7622

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的函数文件,然后在命令文件中调用该函数文件。 程序设计: 函数文件in.m:

function [a1,a2,N1,N2]=in(m1,m2,t) g=9.8;

A=[m1*cos(t) -m1 -sin(t) 0;m1*sin(t) 0 cos(t) 0;0 m2 -sin(t) 0;0 0 -cos(t) 1];

C=[0;m1*g;0;m2*g]; B=inv(A)*C; a1=B(1); a2=B(2); N1=B(3); N2=B(4); end

调用in.m的命令文件: >> m1=1;m2=2;t=30*pi/180; >> [a1,a2,N1,N2]=in(m1,m2,t)

运行结果: a1 =

6.5333 a2 =

1.8860 N1 =

7.5440 N2 =

26.1333

3、一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称是绝对素数。例如13是绝对素数。试求所有两位绝对素数。 要求:定义一个判断素数的函数文件。 函数文件: for y=10:99

if isprime(y) a=rem(y,10); b=fix(y/10); c=10*a+b;

if isprime(c) disp(y) end end end

运行结果: >> 11 13 17 31 37 71 73 79 97

f?x??14、设

?x?2?2?0.1?1?x?3?4?0.01,编写一个MATLAB函数文件fx.m,使得

调用f(x)时,x可用矩阵代入,得出的f(x)为同阶矩阵。 程序设计:

function y=fx(x)

y=1./[(x-2).^2+0.1]+1./[(x-3).^4+0.01] end

运行结果:

>> x=[1 2 3 4 5] x =

1 2 3 4 5

>> fx(x)=1./[(x-2).^2+0.1]+1./[(x-3).^4+0.01] fx =

0.9716 10.9901 100.9091 1.2340 0.1724

y?f?40?5、已知f?30??f?20?

2(1)当f(n)=n+10ln

?n?5?时,求y的值。

程序设计: 函数文件fn.m: function x=fn(n) x=n+10*log(n^2+5) end

调用fn.m的命令文件: y=fn(40)/(fn(30)+fn(20))

运行结果: >>y = 0.6390 (2)当

f?n??1?2?2?3?3?4?????n?n?1?时,求y的值。

程序设计: 函数文件fn.m: function x=fn(n) if n<=0 x=0; else

x=n*(n+1)+fn(n-1); end end

调用fn.m的命令文件: y=fn(40)/(fn(30)+fn(20))

运行结果: y =

1.7662

实验八,九 MATLAB程序设计(循环、选择)

一、实验目的

1、掌握利用if语句实现选择结构的方法;

2、掌握利用switch语句实现多分支选择结构的方法;

3、掌握循环结构的程序书写方法。

二、实验内容

1、硅谷公司员工的工资计算方法如下:

(1)工作时数超过120小时者,超过部分加发15%; (2)工作时数低于60小时者,扣发700元; (3)其余按每小时84元计发。

编程按输入的工号和该号员工的工作时数,计算应发工资。 function gongzi(x,y,a) clear;

x=input('请输入工号:');

a=input('请输入工作时长(小时):'); if a>120

y=84*120+(a-120)*1.15*84; else if a<60

y=84*a-700; else y=84*a; end end

disp(['工号为',num2str(x),'的员工工资为:',num2str(y),'元']); end

2、用switch…case语句得出各月份的季节(如3,4,5月输出为春季)。 请输入月份 function jijie(x) clear;

x=input('请输入月份:');


MATLAB实验报告最终定稿 - 图文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:谈小学语文课堂教学技巧

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: