精华内容
下载资源
问答
  • 利用MATLAB中的importdata函数读取Excel表时,运行源代码没有问题。将程序封装成exe后,该函数读取数据有问题
  • matlab查看自带以及封装函数源代码

    千次阅读 2019-02-05 22:24:42
    Matlab自带函数知道m文件名如何查看源代码: 方法:输入doc加上名称:>>doc pcdownsample.m 方法二:用open命令:>>open pcdownsample.m 方法三:直接用type进行...

    Matlab自带函数知道m文件名如何查看源代码:

    方法一:输入doc加上名称:

    >>doc pcdenoise.m
    

    在这里插入图片描述
    方法二:用open命令:

    >>open pcdenoise.m
    

    在这里插入图片描述
    方法三:直接用type进行显示:

    >>type pcdenoise.m
    

    在这里插入图片描述

    展开全文
  • matlab如何封装模块

    2014-03-21 10:17:07
    matlab如何封装模块,子系统,MATLAB二次开发,GUI变成,仿真
  • 1-6、matlab常用封装函数与快捷键

    千次阅读 2017-09-07 00:01:12
    :常用快捷键Ctrl+c 程序出现死循环在编程过程中是常见的现象,这时我们需要使用Ctrl+C(或者Ctrl+Break)终止程序的运行。Ctrl+r 注释所选代码Ctrl+t 取消注释所选代码(命令行中)“ ↑”和“ ↓” 调用MATLAB...

    一:常用快捷键

    Ctrl+c    程序出现死循环在编程过程中是常见的现象,这时我们需要使用Ctrl+C(或者Ctrl+Break)终止程序的运行。

    Ctrl+r     注释所选代码

    Ctrl+t     取消注释所选代码

    (命令行中)“ ↑”和“ ↓”     调用MATLAB最近的历史命令

    Tab     在MATLAB进行命令输入时补全变量名或命令名

    Ctrl+i     自动调整缩进格式,比如有if……end,for……end语句但是没有缩进的话程序不太好看,可以使用此键,对多行有效

    Ctrl+PageUp/PageDown     在Editor窗体中切换

    Ctrl+Tab     可以在Command Window,Current Directory和Command history之间切换当前空间

    Ctrl+[     减少缩进

    Ctrl+]     增加缩进

    Ctrl+r     向右移一个单词

    Ctrl+l     向左移一个单词

    Ctrl+u     清除一行

    Ctrl+k     清除光标至行尾字

    Ctrl+d     清除光标后字字符

    Home或Ctrl+a     光标移到行首

    End或Ctrl+e     光标移到行尾

    Esc或Ctrl+u    清 除一行

    Del或Ctrl+d     清除光标后字符

    Backspace或Ctrl+h     清除光标前字符

    二、常用封装函数

    在本文中只列举了一小部分,对于同一分类下常用函数较多或较基础的,或不常用的,均没列出。更多各功能函数名可参考《Matlab函数速查手册》,很全。具体用法可以参考Matlab命令行里的help功能。

    (1)逻辑操作类函数

    这里写图片描述
    这里写图片描述

    (2)矩阵生成函数

    这里写图片描述
    这里写图片描述

    (3)矩阵处理函数

    这里写图片描述

    (4)数值处理

    这里写图片描述

    (5)坐标系变换

    这里写图片描述

    (6)数据插值

    这里写图片描述

    (7)非线性数值方法

    这里写图片描述

    展开全文
  • matlab】自定义、封装函数步骤

    万次阅读 2017-02-10 10:22:24
    许多时候希望将特定的代码(算法)书写成函数的形式,提高代码的可封装性与重复性,简化代码设计,提高执行效率!下面简单介绍一下matlab中的函数定义与使用。 软件/版本 matlab 7.0及以上 方法/...
    matlab中如何定义函数 
    

    • 许多时候希望将特定的代码(算法)书写成函数的形式,提高代码的可封装性与重复性,简化代码设计,提高执行效率!
    • 下面简单介绍一下matlab中的函数定义与使用。

    软件/版本

    • matlab 7.0及以上

    方法/步骤

    1

    首先建立M文件或直接点击(File/New/Function)建立函数文件,其中函数文件的格式是:

    function [输出变量] = 函数名称(输入变量)

    % 注释

    % 函数体

            

    如下所示,是编写的一个求1到n之和的求和函数 eg_sum,按照上述格式,编写代码如下并保存文件,注意文件命名时不能以数字开头:

    function [s]  = eg_sum( n )

    % calculate the sum of 1..n

    s = 0;

    for i = 1:n

        s = s + i;

    end

    matlab中如何定义函数














    回到控制台Command Window(主界面),注意要使用之前保存的函数文件名来调用函数,如下所示:

    >> clear

    >> a = eg_sum(10)

    运行结果: a = 55

    matlab中如何定义函数









    许多网友说函数名一定要与函数文件名一致,【如果不一致matlab会警告】,但实际不影响使用,最好函数名与函数文件名 一致 ,参考网上有网友特意之处:“其实不是这样子的,只要知道调用函数时是通过函数文件名调用的这点即可!比如下图所示,即使文件名仍然是eg_sum,但我可以修改函数名为:my_sum 调用时用文件名调用就好,如下所示:

    >> b = eg_sum(10)

    运行结果: b = 55

    matlab中如何定义函数















    注意事项

    • 在调用函数时,请确保已将matlab当前目录切换到函数文件所在处,不然会报错:Undefined function 'eg_sum' for input arguments of type 'double'.


    展开全文
  • 人工蜂群算法MATLAB代码,利用人工蜂群算法求解函数优化问题;包括采蜜蜂操作、观察蜂操作、侦查蜂操作,智能优化算法
  • Matlab函数封装为DLL供Cpp调用 文章目录Matlab函数封装为DLL供Cpp调用Ⅰ目标Ⅱ 学习Ⅲ 实现1. Matlab 函数封装为DLL2. vs2015中C++调用Matlab DLL步骤Ⅳ 问题解决Ⅴ 后续可能有用信息 Ⅰ目标 Matlab函数封装为DLL,...

    Matlab函数封装为DLL供Cpp调用

    Ⅰ目标

    1. Matlab函数封装为DLL,供Cpp调用
    2. Matlab函数为类函数,matlab函数功能复杂

    Ⅱ 学习

    1. 整体流程:

      ①**(整体学习)** 浅析将matlab函数编译成dll供Cpp调用的方法 http://blog.sina.com.cn/s/blog_9908653401012hz3.html

      ②**(主要参考)** VS2015调用Matlab编译生成的DLL 编译环境设置 [吐血整理] 来自 https://blog.csdn.net/weixin_41760829/article/details/79389685

    2. Matlab类函数的实现

      ① Matlab类 函数

      参考:[面向对象:MATLAB的自定义类 MATLAB]

      ② Matlab类函数,类method想对类的property值进行修改,需建立句柄类

      Matlab 为传值函数

      参考:句柄类和值类的比较 https://ww2.mathworks.cn/help/matlab/matlab_oop/comparing-handle-and-value-classes.html

    3. C++ 调用Matlab DLL函数,接口调用方法(参数传递、返回值的写法)

      Matlab mwArray学习

      mwArray mwA(1, 1, mxDOUBLE_CLASS); // 1,1表示矩阵的大小(所有maltab只有一种变量,就是矩阵,为了和Cpp变量接轨,设置成1*1的矩阵,mxDOUBLE_CLASS表示变量的精度)
      
      // set data,不用我解释了吧,很简单的,调用类里面的SetData函数给类赋值
      mwA.SetData(&a, 1);
      // get data,不用我解释了吧,很简单的,调用类里面的Get函数获取取函数返回值
      c = mwC.Get(1, 1);
      
      MyAdd(1, mwC, mwA, mwB);
      
      Ref:
          涉及指针 mlxMyFunc(int nlhs, mxArray *plhs[], intnrhs, mxArray *prhs[])
      	https://blog.csdn.net/xinm1001/article/details/53574836
      
      	涉及输入值
          https://blog.csdn.net/weixin_41760829/article/details/79389685
      

    Ⅲ 实现

    1. Matlab 函数封装为DLL
    1. 编好要使用的.m文件
    2. 在命令窗口中选中要使用的编译器,使用命令:mbuild -setup
    3. 在命令窗口中输入命令:deploytool
    4. 在弹窗中选择Library Compiler,然后会弹出如下窗口

    参考:MATLAB中通过Library Compiler生成dll 来自 https://blog.csdn.net/bloke_come/article/details/77524776

    2. vs2015中C++调用Matlab DLL步骤
    1. 添加include路径:C:\Program Files\MATLAB\R2016b\extern\include

      添加lib路径:C:\Program Files\MATLAB\R2016b\extern\lib\win64\microsoft

      添加附加lib:linker->input 追加 “项目-属性-配置属性-链接器-输入”

      TestMat64.lib; libmx.lib; libmat.lib; mclmcr.lib;mclmcrrt.lib; 第1个是自己的M文件mcc生成的

    2. 将 .lib文件,放入当前/前一级文件夹

    3. 在头文件中添加生成的.h文件

    4. 关键代码:

    
       #include "stdafx.h"
       #include "phyadaper_interface.h"
       #include "PhyAdapter.h" 
       
       using namespace std;
       int main()
       {
       	mclmcrInitialize();
       	if (!mclInitializeApplication(NULL, 0)) return 0;
       	if (!phyadaper_interfaceInitialize( )) return 0;
           cout << "***** start phyadaper_initialize ..." << endl;
       	mwArray moutput1(1,1,mxINT32_CLASS);
       	phyadaper_initialize(1,moutput1);
       	int output1 = moutput1.Get(1, 1);
       	cout << output1 << endl;
           ...
        phyadaper_interfaceTerminate();
       	mclTerminateApplication();
       	return 0;
       }
           
       
    

    参考:

    VS2015调用Matlab编译生成的DLL 编译环境设置 [吐血整理] https://blog.csdn.net/weixin_41760829/article/details/79389685

    Ⅳ 问题解决

    1. ⭐问题: matlab类函数,封装为DLL后,DLL中只剩下初始化函数,无法调用类的method。

      解决:将类的method,分别用其他的函数封装,然后将多个接口函数,共同进行library compiler

    2. 问题: 报错:

      Deployed applications must use a prototype file instead of a header file.  To create the prototype, use the loadlibrary mfilename option. Use the prototype file in compiled code.  See http://www.mathworks.com/help/compiler/matlab-library-loading.html for more information.
      

      解决:

      loadlibrary('HXWatchAdapter', 'HXWatchAdapter.h', 'mfilename', 'mHXWatchAdapter'); 
      loadlibrary('HXWatchAdapter',@mHXWatchAdapter);
      

      参考:https://ww2.mathworks.cn/help/compiler/matlab-library-loading.html

    3. 问题: 报错:

      fatal error LNK1181: 无法打开输入文件 错误
      

      解决:

      无法找到相关.lib有关,可以将lib放入上一级目录

      参考:

      https://bbs.csdn.net/topics/350176906?list=13363673

    4. 问题: 报错:

      Error using loaddefinedlibrary
      

      解决:

      可能因为没找到Matlab函数引用的DLL。可以在进行matlab函数封装为DLL时,即在调用library compiler时," Files required for your library to run",添加上所用的DLL文件

      参考:

      https://ww2.mathworks.cn/matlabcentral/answers/81645-error-using-matlab-loadlibrary-function

    5. 问题:报错:

      帧不在模块中
      

      参考:

      VS2015调用Matlab编译生成的DLL 编译环境设置 [吐血整理] https://blog.csdn.net/weixin_41760829/article/details/79389685

    Ⅴ 后续可能有用信息

    1. (C#调用Matlab生成的DLL)

      C#调用MATLAB生成的DLL以及多个m文件生成一个DLL https://blog.csdn.net/weixin_39559414/article/details/95059135

    展开全文
  • 文章目录传递函数由来MATLAB simulink子系统封装simulink子系统mask绘制完整流程图--运行显示绘制子系统中传递函数的bode图、nyquist图、step图等修改参数后的两图相比较: 传递函数由来 MATLAB simulink子系统...
  • MATLAB有强大的矩阵运算能力以及丰富的函数库,可以用于算法的仿真以及快速验证某些算法思路。MATLAB的UI层是利用基于JVM利用Java实现的,而部分算法的底层则是封装了C/C++以及Intel提供的汇编指令集。因此MATLAB在...
  • 如何在1个Matlab m文件中定义多个函数运行

    万次阅读 多人点赞 2019-04-17 18:08:35
    1个Matlab m文件中定义多个函数运行 编写运行程序会遇到“此上下文中不允许函数定义”错误。如果仍希望将全部程序放入一个m文件中,并...MATLAB 在同一个m文件中写多个独立的功能函数 MATLAB 在同一个m文件中写...
  • MATLAB建立传递函数的方法

    千次阅读 2019-12-06 14:47:57
    MATLAB建立传递函数的方法 传递函数 TF对象构造法 num =[1 5]; den=[1 16 51 36]; G=tf(num,den); conv命令法 num=[1 5]; den=conv([1,1],conv([1,3],[1...
  • 假如我们编写了一个积分通用程序,想...假如我们现在已经编写了一个辛普森方法积分的函数如下,我们要把函数作为参数传给它(当然啦,matlab早已经提供给我们非常牛x的积分函数了,这里只是个例子而已): function ...
  • matlab程序封装成EXE 教程十分详细 本人按照本教程,成功实现matlab打包成exe
  • 以下内容纯属我个人在这初用matlab期间遇到的一些问题,和我所用的解决方式。事情是这样的:开始安装好了matlab,用于跑...发现没有问题以后,才发现是某个函数执行有问题,从这个函数继续往深处挖,通过多次的函...
  • [2]通过图割可以最小化哪些能量函数? 弗拉基米尔·柯尔莫哥洛夫(Vladimir Kolmogorov)和拉明·扎比(Ramin Zabih)。 IEEE Transactions on Pattern Analysis and Machine Intelligence(PAMI),第1卷。 26号》...
  • 目前正在尝试使用matlab绘图函数figure绘制等值线。怎么返回等值线的点的集合呢
  • matlab中如果想删除文件,使用函数delete('file')。 如果想删除文件夹,使用函数rmdir('dir_file')。 如果向建一个文件夹,使用函数mkdir('dir_file')
  • cvlib_mex:matlab调用的封装openCV重要函数的库 PS:适用于linux 64位matlab
  • matlab封装子系统

    2011-03-23 18:42:33
    matlab封装子系统 对于比较复杂的系统,模块化思想是很有必要的,使得思路较为清晰、错误容易排查。对复杂的系统进行仿真,如果将其中独立的功能进行封装,会显得特别清爽。这学期做了电机仿真和伺服系统仿真,特别...
  • Visual c 中MATLAB数学函数库的封装.pdf
  • matlab复变函数指数函数代码 Easylib Easylib是一个能对C/C++ 第三方库依赖进行自动配置,有效管理的配置库。Easylib的目标是能够使C/C++ 第三方库配置在Linux、Mac OS,尤其是Windows上能够像Python库导入那样简单...
  • cmex函数可以(可选)封装Matlab类,该类是自动创建的。 当c函数是动态库的部分时,这允许cmex函数共享在多次调用cmex函数时保留的变量。 cmex函数如何调用c函数有几种选择 c函数可以直接包含在mex函数代码中。 ...
  • Matlab系列之函数参数

    千次阅读 2020-07-11 19:48:30
    前言 不知道你们是否有等待今天这篇的到来,这...当调用一个函数的时候,用到的输入和输出变量的数量在函数内部是确定好的,因此可用通过一个函数获得其个数,nargin函数就是用于确定输入变量个数,nargout显然就是用
  • 压缩文件包含了34种现在流行的数据集降维方法,主要用于机器学习的研究。这些方法封装在了一起,可以方便地调用。
  • MATLAB 封装发布exe

    万次阅读 多人点赞 2016-12-06 11:42:15
    从2016a开始到现在的2017,从MATLAB中创建出一个独立的应用程序有多种方法,可以用MATLAB提供的现有函数或者现有App。 本文介绍的是利用MATLAB的Application Compiler工具创建一个独立的应用程序,以下这个例子显示...
  • D:\R2011a\bin和E:\Microsoft Visual Studio 10.0\VC\bin,这分别是我的机器上matlab和VS安装目录下的路径。 系统变量设置完毕后需要重新启动计算机方能生效。 二,设置matlab的编译环境 在matlab中输入命令mex...
  • matlab封装

    千次阅读 2019-03-13 16:13:54
    classdef TensileData % 定义类的名称 properties %% 定义类的属性,相当于C++中的成员函数 Material = 'carbon steel'; SampleNumber = 0; Stress Strain end properties (Dependent) %% 定...
  • 粒子群优化算法(PSO)-MATLAB代码

    千次阅读 热门讨论 2019-07-16 11:35:26
    粒子群优化算法(PSO)-MATLAB代码 关于粒子群优化算法(PSO)的介绍与种C++实现可以参考链接: PSO介绍及其种C++实现 ,这里不再...本片博文目的在于提供并简要介绍种粒子群优化算法(PSO)的MATLAB代码实现。 ...
  • 向学生展示了如何创建一个函数并将其应用于12个文件中的每个文件,而不是使用复制粘贴分别分析12个文件,这是更好的方法。 贡献 我们重视您的贡献。 概述了如何为本课做出贡献。 如果您对我们的撰
  • 整数类型(有符号,无符号),涉及到的函数取整函数floor / ceil / round / fix 浮点数类型(单、双精度) 复数类型: real imag abs angle conj complex 逻辑类型 关系运算符/逻辑运算符/xor any all / is*测试函数 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,306
精华内容 3,322
关键字:

matlab封装一个函数

matlab 订阅