• 实验五 函数文件(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里面就有很多这样的函数,我们用起来很方便,现在我们自己也会编写函数了。而且可以移植出去,让别人使用或者自己以后使用。但也要学会注释,方便自己和他人阅读使用。

  • 相关阅读:
    北漂七年拿过阿里、腾讯、华为offer的资深架构师,分享经验总结
    Wireshark抓包后的报文太大,如何拆分?
    【CSS】字体图标与favicon图标
    [附源码]java毕业设计高校教师教学工作量核算系统
    Code For Better 谷歌开发者之声——我与Android同成长
    你是怎么学习 Java 技术的?
    投稿玄学之SCI给了大修,还会拒稿吗?
    基于springboot网上书城系统
    嵌入式基础
    1124面试复盘总结
  • 原文地址:https://blog.csdn.net/m0_51738372/article/details/127665390