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

  • 相关阅读:
    BUG记录:springMVC引入vue报错---not defined
    js 去除字符串左右两边空格
    c语言练习41:深入理解字符串函数strlen strcpy strcat
    计算机毕业设计Java自由教学平台(源码+系统+mysql数据库+lw文档)
    Vue源码学习(十三):nextTick()方法
    【Vue】基础系列(三三)指令语法-事件及其修饰符,动态样式,v-model的用法,数据持久化存在本地localStorage
    CAS:1260586-88-6_生物素-C5-叠氮_Biotin-C5-Azide
    docker+ros2+nav2初试
    String类、String类常见的构造方法、String类的方法介绍、判断功能的方法、转换功能方法、其他方法、Object类
    上海交大洪亮教授:AI 真要突破工程领域,一定要做到现有人类专家做不到的工程成果
  • 原文地址:https://blog.csdn.net/m0_51738372/article/details/127665390