实验五 函数文件(matlab)

实验五 函数文件

目录

实验五 函数文件

1.1实验目的

1.2实验内容

1.3流程图

1.4程序清单

1.5运行结果及分析

1.6实验的收获与体会

1.1实验目的

  1. 理解函数文件的概念。
  2. 掌握matlab中定义和调用函数的方法。

1.2实验内容

1.3流程图

1.4程序清单

%第一题函数

function [ zhi,dui,sin1,cos1] = fu1( s )

%UNTITLED3 此处显示有关此函数的摘要

%   此处显示详细说明

zhi=exp(s);

dui=log(s);

sin1=sin(s);

cos1=cos(s);

end

%第二题函数

function [ a1,a2,N1,N2 ] = wlxt( m1,m2,sai)

%UNTITLED4 此处显示有关此函数的摘要

%   此处显示详细说明

g=9.8;

a=[m1*cos(sai),-m1,-sin(sai),0;m1*sin(sai),0,cos(sai),0;0,m2,-sin(sai),0;0,0,-cos(sai),1]^(-1)*[0;m1*g;0;m2*g];

a1=a(1);

a2=a(2);

N1=a(3);

N2=a(4);

end

%第三题函数

function a=sushu(b)

x=fix(b/10);

y=rem(b,10);

a=10*y+x;

sig=0;

for m=2:sqrt(b)

    if rem(b,m)==0

        sig=sig+1;

    end

end

for n=2:sqrt(a)

    if rem(a,n)==0

        sig=sig+1;

    end

end

if sig==0

    a=b;

else

    a=0;

end

%第四题函数

function f= fx( x )

%UNTITLED6 此处显示有关此函数的摘要

%   此处显示详细说明

f=1./((x-2).^2+0.1)+1./((x-3).^4+0.01);

end

%第5题第1问函数

function fn=f51(n)

fn=n+10*log(n*n+5);

end

%第5题第2问函数

function fn=f52(n)

fn=0;

for k=1:n

    fn=fn+k*(k+1);

end

%% 实验五

clc

clear

%% 1

fprintf('\n-----------1------------\n');

s1=input('输入一个复数的实部:');

s2=input('输入一个复数的虚部:');

s=s1+s2*i;

[ zhi,dui,sin1,cos1] = fu1( s )

%fprintf('\n对于%f+%fi\n指数为:%f%fi,\n对数为:%f%fi,\n正弦为:%f%fi,\n余弦为:%f%fi\n',s1,s2,real(zhi),imag(zhi),real(dui),imag(dui),real(sin1),imag(sin1),real(cos1),imag(cos1));

%% 2

fprintf('\n-----------1.2------------\n');

m1=input('m1=');

m2=input('m2=');

sai=input('角度为:');

[ a1,a2,N1,N2 ]=wlxt(m1,m2,sai)

%%  3

fprintf('\n-----------3------------\n');

lwss=[];

for n=10:99

    [a]=sushu(n);

    if a>0

        lwss=[lwss,a];

    end

end

disp(['两位绝对素数有:',num2str(lwss)])

fprintf('\n\n');

%% 4

fprintf('\n------------4---------------\n');

x=rand(4,5)

f=fx(x)

%% 5

fprintf('\n-------------5--------------\n');

y1=f51(40)/(f51(30)+f51(20));

y2=f52(40)/(f52(30)+f52(20));

fprintf('\n-------------5.1--------------\n');

fprintf('\n      f(40)\ny = ————— = %f\n   f(30)+f(20)\n',y1);

fprintf('\n-------------5.2--------------\n');

fprintf('\n      f(40)\ny = ————— = %f\n   f(30)+f(20)\n',y2);

1.5运行结果及分析

1. 

2.

3.

4.

5.

1.6实验的收获与体会

本次实验我理解了函数文件的概念,掌握了matlab中定义和调用函数的方法。

函数文件是另一种形式的m文件,每一个函数文件都定义一个函数,事实上,matlab提供的标准函数大部分都是由函数文件定义的。

函数文件由function语句引导,其基本结构为:

Function 输出形参表=函数名(输入形参表)

注释说明部分

函数体语句

其中以function开头的一行为引导行,表示该m文件是一个函数文件。

函数文件编制好之后,就可以调用函数进行计算了,函数调用的一般格式是:

[输出实参表]=函数名(输入实参表)

可以看出函数文件还是很方便的,避免同一语句块的反复使用。如果一个计算和一个语句块要反复使用,那么就可以把它定义为一个函数,需要的时候调用即可。这样我们的代码就更有层次感,更加明了清楚简介。

以后要多使用函数这种方法,可以在同一m文件了调用多种函数进行运算。其实matlab里面就有很多这样的函数,我们用起来很方便,现在我们自己也会编写函数了。而且可以移植出去,让别人使用或者自己以后使用。但也要学会注释,方便自己和他人阅读使用。

  • 11
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石去皿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值