精华内容
下载资源
问答
  • MATLAB函数调用

    千次阅读 2021-01-07 20:57:42
    数学建模 matlab自定义函数 时间 2020年5月10日 ...2.两个文件运行函数:函数定义文件和函数调用文件(函数可在脚本文件或命令窗口直接调用),两文件必须放在同一目录下,函数文件名必须与函数名相...
    数学建模matlab自定义函数
    时间2020年5月10日

    学习Matlab自定义函数使用,并结合所学函数简单修改了一下上周的代码实现了Topsis法。

    1.Matlab语句构成的程序文件称为M文件,以m作为文件的扩展名,分为函数文件和程序文件。

    程序文件即脚本文件,无function;

    函数文件有function,且在第一行或者第一个不是注释的行

    2.两个文件运行函数:函数定义文件和函数调用文件(函数可在脚本文件或命令窗口直接调用),两文件必须放在同一目录下,函数文件名必须与函数名相同。

    1)一个参数:

    定义形式:

     function y=f(x) 
    
              y=x^2; 
    

    2)多个参数:

    多元函数可以看做向量函数(四种形式实现同一题的运算)

    函数定义形式(两个输入两个输出)

    function  [y1,y2]=f1(x1,x2)
    
              y1=x1+x2;
    
              y2=x1-x2;
    
    end
    

    函数调用形式

    [a,b]=f1(2,3)     
    
    函数定义形式(将两个输入合成一个向量)
    
    function  [y1,y2]=f1(x)
    
              y1=x(1)+x(2);
    
              y2=x(1)-x(2);
    
    end
    

    函数调用形式

    [a,b]=f2([2,3])
    

    函数定义形式(将两个输出合成一个向量)

    function y=f3(x1,x2)
    
            y(1)=x1+x2;
    
            y(2)=x1-x2;
    
    end
    

    函数调用形式

    c=f3(2,3)
    

    函数定义形式(将两个输入合成一个向量,将两个输出合成一个向量)

    function  y=f4(x)
    
            y(1)=x(1)+x(2);
    
            y(2)=x(1)-x(2);
    
    end
    

    函数调用形式

    d=f4([2,3])
    

    3)任意多个参数的情况:

    a.参数

    varargin任意多个输入参数
    
    varargout任意多个输出参数
    
    nargin得到实际输入参数个数
    
    nargout得到实际输出参数个数
    

    b.对于输入变量,MATLAB可以识别输入变量的个数,通过nargin来记录当前输入变量个数。通过nargin判断变量个数,然后再写对应的程序

    c.对于输出变量,MATLAB可以根据调用情况来输出结果,根据调用的格式,自动忽略没匹配上的输出结果。

    d.函数做好之后,需要写好说明,否则代码的通用性会很差。matlab自动将函数下的注释当作函数说明,通过help来查看帮助文档

    4)写一个函数计算输入参数之和(输入参数可以是任意多个)

    function y=ssum(varargin)
    
       n=nargin
    
       y=0;
    
       for i=1:n
    
       y=varargin{i}+y;
    
    end
    

    5)对于一组数据 x1,x2,…,xm, 分高优指标、低优指标、中优指标、均优指标,四种标准化方式对数据标准化。(学习代码并理解nargin的用法)

    function [x] = standlize(v,type,q)
    
    %STANDLIZE   对列向量v 进行归一化 返回归一化后的向量 x
    
    %  x = STANDLIZE(v,'low') 对列向量按低优指标进行归一化
    
    %  x = STANDLIZE(v,'high') 对列向量按高优指标进行归一化
    
    %  x = STANDLIZE(v,'middle',q) 对列向量按中优指标进行归一化
    
    %  x = STANDLIZE(v,'between',q) 其中 q = [a , b] 对列向量按均优指标进行归一化
    
    m = length(v);
    
    if nargin==2%两个输入参数,一个是向量V,另一个是指标类型
    
        if strcmp(type,'low') %低优指标
    
            %[strcmp](https://ww2.mathworks.cn/help/matlab/ref/strcmp.html)
    
            for i=1:m
    
                x(i) = (max(v)-v(i))/(max(v)-min(v));
    
            end
    
        elseif  strcmp(type,'high') %高优指标
    
            for i=1:m
    
                x(i) = (v(i)-min(v))/(max(v)-min(v));
    
              end
    
        end
    
    elseif nargin==3
    
            %输入变量有三个,第一个是向量V、第二个是指标类型、第三个是q;
    
            %若为中优指标,q用于存放中间值;
    
            %若为均优指标(即我们所学的区间型指标),q用于存放均优指标的区间( q = [a , b] )。
    
            %因此可结合q的长度来区分中优指标和均优指标。
    
        if strcmp(type,'middle')&&length(q)==1 %中优指标
    
            for i=1:m
    
                 if v(i) < q
    
                    x(i) = 1 - (q-v(i))/max([q-min(v),max(v)-q]);
    
                elseif  v(i) > q
    
                        x(i)=1- (v(i)-q)/max([q-min(v),max(v)-q]);                
    
    else
    
                    x(i) = 1;
    
                end
    
            end
    
        elseif strcmp(type,'between')&&length(q)==2 %均优指标
    
            for i=1:m
    
                if v(i) < q(1)
    
                    x(i) = 1-(q(1)-v(i))/(max([q(1)-min(v),max(v)-q(2)]));
    
                elseif v(i) > q(2)
    
                    x(i) = 1-(v(i)-q(2))/(max([q(1)-min(v),max(v)-q(2)]));
    
                else
    
                    x(i)=1;
    
                end
    
            end
    
        end
    
    end
    
    x = reshape(x,size(v));
    
            %访问链接查看[reshape](https://blog.csdn.net/weixin_33805557/article/details/94506302)
    
            
    end  
    

    简单了解matlab的绘图函数(条形图)

    % clear all;
    
    data=S;%代入数据
    
    b=bar(data,'BarWidth',0.6);%可以直接设置条形图的宽度
    
    grid on;
    
            %grid是显示或隐藏坐标轴网格线,grid on是打开网格,grid off是关闭网格。
    
    set(gca,'XTick',1:25,'XTickLabel',{'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y'})%设置横坐标数值
    
    for i = 1:25
    
    text(i,S(i)+0.1,num2str(data(i)),'VerticalAlignment','middle','HorizontalAlignment','center','FontSize',12);%为条形图添加数标
    
    end
    
    set(gca,'FontSize',9);%设置字体大小
    
    xlabel('评价对象/河流');%横坐标标签
    
    ylabel('评分');%纵坐标标签
    
    axis([0 26 0 0.1]);%设置坐标轴显示范围
    
            %axis一般用来设置axes的样式,包括坐标轴范围,可来读比例等,
    
             %这儿用来设置坐标轴的范围,axis([xmin xmax ymin ymax])
    
    展开全文
  • matlab函数调用方法说明-子函数调用.pdf 今天看了一下matlab子函数的调用,发现这个资料比较好,说的比较清楚,和大家共享一下。 子函数调用.pdf 子函数调用方法
  • Matlab函数调用

    千次阅读 2016-11-07 21:53:39
    子函数: function [y1,y2]=mytestio(x1,x2) ...if nargin==1 %确定函数调用时实际输入的参数个数  y1=x1;  if nargout==2  y2=x1;  end else  if nargout==1  y1=x1+x2;  else  y1=x1;  

    子函数:

    function [y1,y2]=mytestio(x1,x2)
    if nargin==1  %确定函数调用时实际输入的参数个数
        y1=x1;
        if nargout==2
            y2=x1;
        end
    else
        if nargout==1
            y1=x1+x2;
        else
            y1=x1;
            y2=x2;
        end
    end

    >> x=mytestio(5)

    x =

         5

    >> [x,y]=mytestio(5)

    x =

         5


    y =

         5

    >> x=mytestio(5,7)


    x =


        12


    >> [x,y]=mytestio(5,7)


    x =

         5

    y =

         7

    >> mytestio(5,7)

    ans =
         5

    展开全文
  • matlab函数调用

    千次阅读 2014-10-23 09:45:49
    MATLAB函数调用是通过文件名调用,所以函数wenjianming
    MATLAB中函数调用是通过文件名调用,所以函数文件名和文件里面的函数名,可以不一样,但是在命令窗口调用的是函数文件名。
    展开全文
  • 学习笔记-MATLAB函数调用关系查看

    千次阅读 2018-07-25 09:31:11
    较大的matlab代码,学习理解时会费时费力,通过查看函数调用关系,理清流程脉络。 学习转载自https://blog.csdn.net/lusongno1/article/details/54667066,作者:zzu小陆,多谢分享。  profile on %打开事件...

    较大的matlab代码,学习理解时会费时费力,通过查看函数的调用关系,理清流程脉络。

    学习转载自https://blog.csdn.net/lusongno1/article/details/54667066,作者:zzu小陆,多谢分享。

                 profile on  %打开事件探查器

                            restECG  %运行主程序代码,需要查看调用关系的主程序

                            profile viewer  %查看结果

                            p = profile('info'); %保存结果

                            profsave(p,'profile_results')

    展开全文
  • matlab之间函数调用关系

    千次阅读 2019-10-20 12:34:49
    matlab之间函数调用关系 matlab之间函数调用关系 调用函数比较复杂时,可以进行dependency report 截图如下: 具体操作如下: source website作为参考 ...
  • matlab 函数调用问题(一)

    千次阅读 2015-11-23 21:27:13
    今天写有关无线信号去噪的代码,鼓捣了一下午和一晚上,基本把有关的去噪算法弄得...师弟说,运行的m文件不能和里面调用函数名同名,这样容易出现错误。我运行了一下,果然是这个原因。 注意点: 在调用一个函数
  • 详细介绍labview调用matlab函数的方法,以及过程中的注意事项。 详细介绍labview调用matlab函数的方法,以及过程中的注意事项。
  • MATLAB调用refprop,里面包含四个除dll外所需要的文件
  • matlab调用函数

    千次阅读 2019-08-24 19:40:34
    matlab中,如果是 matlab 自带的函数,则可以按照该函数的格式直接调用;如果是自定义函数,可以将函数写在一个文件中,在主文件中调用。 % 文件名为fun.m(注意:文件名需要与函数名一致) function y = fun(x)...
  • Matlab函数调用和参数传递

    万次阅读 2016-07-03 20:32:27
    函数调用Matlab中,调用函数的形式如下: [输出参数 1,输出参数 2,…] = 函数名字(输入参数 1,输入参数 2,输入参数 3,…)注意事项: 1. 函数调用的时候,参数顺序应该与定义的时候一样。 2. 函数可以...
  • 讲述自定义函数如何调用,文档格式的,而且很多都能作出来,适合比较多的人用
  • matlab调用函数(三)

    万次阅读 2019-02-19 15:13:03
    1 . 示例1 注意: ...在命令运算符中输入参数并调用函数得结果如下 2. 示例2 在命令运算符中输入参数调用函数得到结果。 注意:下面为之前调用函数的错误理解: 错误提示结果 ...
  • 1、查看matlab函数调用了哪些函数 https://blog.csdn.net/smallcaptain2009/article/details/81195569 https://blog.csdn.net/lusongno1/article/details/54667066 2、查看matlab某函数被哪些函数调用...
  • 今天小编就为大家分享一篇python调用matlab的m自定义函数方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 基于MATLAB的简单函数调用

    万次阅读 2016-11-15 11:21:55
    MATLAB内部会有自带的函数,但是我们在研究算法的时候,针对特定的算法,我们需要自己编写函数,然后进行调用。最近在研究LSM(least Mean Square)算法时,需要调用函数。借用了网上一个程序,发现一些错误,对此...
  • 在使用MATLAB过程中,我们难免会遇到函数调用函数的情况,外面的主程序中的变量我们可以在工作区看到,他们的值的变化我们可以清楚的知道,但是主程序中调用的一些函数的变量的值我们却很难知道,此时,我们可以采取...
  • matlab 函数调用和修改传入参…

    千次阅读 2017-04-14 16:46:28
    matlab里需要调用函数的情况: 1)新建文件,保存到和主文件同一路径下,就能调用了。也不需要什么引用。 2)函数文件本身:  eg.  function  getX(x)          x =5;      end;  上面这个没有返回值...
  • Matlab如何调用并使用函数

    万次阅读 2019-05-07 15:03:53
    第一步: 新建m文件,并写函数: function f = fun(x) f = x+1 第二步:保存到work目录下,不然不能用 第三步:在command窗口输入函数名,并...(在这里函数名笔者定义的是fun,则在命令行中调用也应该是fun(x) ...
  • VS调用Matlab函数.docx

    2019-07-19 17:21:02
    将Matlab的.m文件生成动态链接库,然后在VS的工程项目中调用动态链接库。可以完美实现VC调用Matlab函数
  • matlab基本函数调用

    2013-09-09 11:03:48
    本文主要是关于matlab基本函数的使用说明,相信对于初学者是有很大帮助的!
  • matlab默认函数只能调用本文件夹中的函数或是工具箱中已经添加了路径的函数。 对于子文件夹中的函数我们需要在程序调用前添加其路径,路径分为绝对路径和相对路径,方便起见写相对路径,值得注意的是我们有时需要...
  • MATLAB --函数编写与调用

    万次阅读 多人点赞 2020-08-02 11:43:24
    之前写code都是将所有的实现放在同一个.m文件,导致程序很混乱冗长,过了几天容易忘记,不便于后期修改维护,于是开始学习将程序封装。即将程序封装成函数,再调用,就比较清晰。...1. 函数调用的时候,参数顺序...
  • C++如何调用matlab函数

    2020-09-01 02:27:35
    主要介绍了C++如何调用matlab函数的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • 基础函数调用,解决线性规划问题,介绍绘图函数,包括二维绘图,三维绘图等知识
  • C/C++ VS中调用matlab函数的方法

    万次阅读 2017-07-01 16:20:01
    C/C++ VS中调用matlab函数的方法 Matlab在数值等矩阵运算中具有很大优势,并且Matlab提供了强大的工具箱可以使用,在C/C++开发中,我们可以在VS下调用matlab函数进行混合编程。下面主要介绍VS中调用matlab函数的环境...
  • 主要为大家详细介绍了C++调用Matlab函数求特征值,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 函数使用Matlab 调用百度地图API,通过输入经纬度或地址等信息从服务器爬取地图图片,支持地图打点、标注功能
  • Matlab函数定义和调用 Matlab 自定义函数的五种方式 命令文件/函数文件+ 函数文件 多个 M 文件 自定义函数的五种方式 函数文件 + 子函数 一个 M 文件 inline 无需 M 文件 符号表达式 + subs 方式 无需 M 文件 字符串...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 46,249
精华内容 18,499
关键字:

matlab函数调用

matlab 订阅