当前位置: > 投稿>正文

matlab中function函数怎么用,matlab函数function怎么使用(在Python)

02-12 互联网 未知 投稿

关于【matlab中function函数怎么用】,matlab函数function怎么使用,今天涌涌小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

1、matlab中function函数怎么用:matlab函数function怎么使用

Matlab中的function是比较重要的功能,下面小编就通过一个简单的例子来给大家分享一下matlab中的function函数怎么使用。

工具/材料

Matlab在线编辑器

操作方法

首先我们打开Matlab在线编辑器,我们需要在底部的输入框中输入Matlab语句,如下图所示

接下来我们在输入框中输入一个matlab的function函数,如下图所示,主要是对参数的加减运算

然后我们直接调用输入的function函数,如下图所示,matlab已经自动完成了函数计算

另外function函数在计算过程中得出的值都会在编辑器左侧进行罗列,如下图所示

2、在Python 编程中使用 MatLAB 自定义函数

本文介绍在Python编程中如何使用Matlab自定义函数的方法,实现两种语言混合编程,减少开发的工作量,仅作为抛砖引玉,和同行一起学习。

用Matlab定义一个函数

在matlab中定义一个函数,为方便起见,使用基本函数,能通过这个实例说明使用方法即可。

function [V,D] = eigFunc(A)% 返回特征值D和特征向量V,D是一个对角矩阵% V是与矩阵A的列相对应的特征向量, % 因此, A*V = V*D。[V, D] = eig(A);end

把以上自定义函数名称为 eigFunc并保存,该函数以一个方形矩阵作为输入参数,输出两个值:V和D,其中D是特征值,是一个对角矩阵;V是与特征向量的列相对应的矩阵。

先看看在matlab中如何使用这个自定义函数,代码如下:

clear; close all; clcA = gallery('lehmer',4);[V,D] = eigFunc(A)

运行以上代码,返回结果如下:

V = 0.0693 -0.4422 -0.8105 0.3778 -0.3618 0.7420 -0.1877 0.5322 0.7694 0.0486 0.3010 0.5614 -0.5219 -0.5014 0.4662 0.5088D = 0.2078 0 0 0 0 0.4078 0 0 0 0 0.8482 0 0 0 0 2.5362

可以看到,该函数在Matlab中运行正确,自定义函数eigFunc只包括matlab的基本函数eig。

那如何在Python中使用 eigFunc 这个函数呢?下文接着讲述。

在Python中调用Matlab

python中使用matalb引擎接口 matlab.engine,这种方法相对容易,只需要安装matlab库就可以。安装matlab库的方法有两种:

方法1:从matlab中安装

cd (fullfile(matlabroot,'extern','engines','python'))system('python setup.py install')

方法2:直接安装,找到matlab安装目录,然后使用以下命令行命令:

python setup.py install

这里要注意,安装matlab enginer api接口与python的版本有关系。如果使用anaconda安装,可以检查到当前安装matlab engine api的python的版本,其他安装方法也有类似的情况。安装了matlab engine api之后,就可以在python中调用了,python中的调用代码如下:

import matlabimport matlab.engineeng = matlab.engine.start_matlab()A = [[1.0000, 0.5000, 0.3333, 0.2500], [0.5000, 1.0000, 0.6667, 0.5000], [0.3333, 0.6667, 1.0000, 0.7500], [0.2500, 0.5000, 0.7500, 1.0000]]A = matlab.double(A)V, D = eng.eigFunc(A, nargout=2)print("V: ", V)print("D: ", D)eng.quit()

以上代码的运行结果如下:

V: [[0.06939950784450351,-0.4421928183150595,-0.8104910184495989,0.37782737957175255],[-0.3619020163563876,0.7419860358173743,-0.18770341448628555,0.5322133795757004],[0.7693553355549393,0.04873539080548356,0.30097912769034274,0.5613633351323756],[-0.5218266058004974,-0.5015447096377744,0.4661365700065611,0.5087893432606572]]D: [[0.20775336892808516,0.0,0.0,0.0],[0.0,0.40783672775946245,0.0,0.0],[0.0,0.0,0.8482416513967358,0.0],[0.0,0.0,0.0,2.536168251915717]]

在python中的运行结果和前面在matlab中的运行结果一样。其中,“V, D = eng.eigFunc(A, nargout=2)”中的 argout参数是指基于matlab的函数输出两个结果值。

使用matlab compiler和matlab runtime创建python包

matlab打包界面如下图,

matlab中function函数怎么用,matlab函数function怎么使用(在Python)

基本步骤:

  • 在matlab中选择库编译器
  • 在弹出界面窗口中,填写与python库有关的信息
  • 选择要生成python库的matlab函数
  • 添加matlab自定义函数
  • 点击 “package” 按钮,生成独立的组件
  • 等待整个过程执行完毕

安装matlab runtime

需要安装 matlab runtime 才能在python中使用上文中打包生成的库,只需要安装matlab runtime就可以,而无需安装matlab。mathwork公司提供了matlab runtime 免费下载。

python代码中,导入基于matlab的库,示例如下:

import eigFunceigFuncAnalyzer = eigFunc.initialize() #calls the matlab runtimeA = [[1.0000, 0.5000, 0.3333, 0.2500], [0.5000, 1.0000, 0.6667, 0.5000], [0.3333, 0.6667, 1.0000, 0.7500], [0.2500, 0.5000, 0.7500, 1.0000]]A = array.array(A) %not testedV, D = eigFuncAnalyzer.eigFunc(A, nargout=2)print("V: ", V)print("D: ", D)eigFuncAnalyzer.terminate()

这里要注意,本文中的matlab自定义函数 eigFunc.m 只是导入matlab的mat格式的数据,可以使用 scipy.io.savemat 函数把python中的数据保存为matlab的mat格式。

(本文结束)

本文关键词:matlab中function函数怎么调用,matlab function怎么用,matlab function函数怎么用,function在matlab中的用法,怎么调用matlab中的function函数。这就是关于《matlab中function函数怎么用,matlab函数function怎么使用(在Python)》的所有内容,希望对您能有所帮助!更多的知识请继续关注《犇涌向乾》百科知识网站:http://www.029ztxx.com!

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。

猜你喜欢