文档章节

.M文件等基础MATLAB知识

C-1993-C
 C-1993-C
发布于 2017/09/05 16:50
字数 773
阅读 19
收藏 0

M文件的分类:

1.脚本文件,在运行的时候可以直接输入文件名称就可以运行。

2.函数文件(整个文件为一个编写的功能函数,在使用的时候可以直接调用)

function[x1,x2]=root(a,b,c,disc,real,imag);中是创建函数的语句该函数的名称为root,函数中所涉及的变量有a、b、c、disc、real、imag。

M文件的结构

1.函数的定义

首行有关键字function开头并在首行列出所有的输入和输出,输入在function之后一个的话直接输入,如果有多个输出的话就用方括号括起来。等号的右边是函数的名称,名称之后小括号内为所有涉及到的变量。

varargin and varargout是两个和输入输出变量关系比较大的特殊变量

nargin 和 nargout可以实现变量的检测

2.M文件的调试(略)

3.函数的类型

M函数、子函数、嵌套函数、私有函数、匿名函数、重载函数

(1)匿名函数举例

问题:minimum=fminbnd(f,-3,3);
plot(minimum,f(minimum),'d');

两句程序中,对于fminbnd函数的了解为0,应该是在最优化处理那一部分会有介绍,先放置一段时间

等待后续学习了解。

(2)子函数

(3)私有函数

(4)重载函数

(5)内联函数

常用格式fun=inline(expr,arg1,arg2....)fun为函数名,expr为表达式,arg为变量)

例题:(内联函数中只能出现函数和系数)

建立对应的内联函数,但是如何调用内敛函数,和普通的调用函数有什么相同和区别。

:如果传递一个可变系数的方程可以用如下程序:

编写程序的时候注意的地方num2str(a)把a转换成字符输出。这一部分需要用',num2str(....),'来分开才能正常运行。

eval函数

eval(expression……);求表达式的 值或者执行包含文本的字符串。

feval函数;[y1,y2,...]=feval(fhandle,x1,...,)其中fhandle只接受函数名,不接受表达式

具体区别见下程序:

该程序中对于小白有两处:

1.set(gcf,'units','normalized','position',[0.2,0.3,0.2,0.2]);调整坐标系的语句

百度一下网友的解释。

2.axis(‘square’);建立正方形的坐标系。

关于画图还有好多知识要学习。慢慢来!

函数的函数

以标量为变量的非线性函数,以函数名为自变量的函数(求零点、极点、最优化,常微分方程)

humps()函数——后期学习。

可变数量输入/输出

varargin:可变数量输入变量列表

varargout:可变数量输出变量列表

通过实例来了解其用法是最好的方法;

按照课本敲了近半个小时,完事提示n、d都是未定义的,这该如何是好。心累啊。函数定义的一般方式就是开头那样吧,但是不知道是不是书错了,表示狠心累!!!!

 

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
C-1993-C
粉丝 0
博文 4
码字总数 4609
作品 0
贝尔法斯特
matlab混合编程向导(vc,vb,.net...)

一.matlab与vc混编 1.通过mcc将matlab的m文件转化为cpp,c文件或dll供vc调用: 这方面的实现推荐精华区Zosco和ljw总结的方法(x-6-1-4-3-1和2) vc的设置请参看精华区x-6-1-4-3-5,通过这种设置...

云栖希望。
2017/12/04
0
0
除了不会生孩子 MATLAB 什么都会

Part 1 有趣的 MATLAB 如果你在暑假、有WIFI、有西瓜的空调房里不知道做什么,不如学下MATLAB吧,有了它,你可以什么都不需要! 知乎网友@邵恩真,示范了如何使用花式 MATLAB 玩游戏! 用 MA...

21ic电子网
02/01
0
0
产生的DLL (VS2005, MATLAB7.5, mwArray)

程序中使用MATLAB编译产生的DLL (VS2005, MATLAB7.5, mwArray) 最近有几个帖子都在讨论有关在C++程序中使用MATLAB编译产生的动态链接库DLL。本 来想用原来帖子中给出的m代码作为例子,无奈...

云栖希望。
2017/12/04
0
0
matlab基本操作和语法

1.前言 准确的说这篇文章不是给完全的编程新手,特别是以前没有过一定编程经验的人准备的。 文章的适合对象是:已经有一定编程基础的人,如果你想用Matlab来快速的完成算法验证,以及科研学术...

NORTHhan
2016/04/22
0
0
OSC 第 82 期高手问答 — Matlab 与 .NET 混合编程调用

OSCHINA 本期高手问答(7月8日- 7月14日)我们请来了 @asxinyu (董斌辉)为大家解答关于 .NET 学习,.NET 开源项目资源,以及 Matlab 与 .NET 混合编程调用 方面的问题。 董斌辉,@asxinyu ...

叶秀兰
2015/07/08
4.1K
31

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SpringCloud SpringBoot mybatis分布式Web应用的统一异常处理

我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用...

itcloud
6分钟前
0
0
c++ std::bind和std::function

定义于头文件 <functional> std::bind 函数绑定,https://zh.cppreference.com/w/cpp/utility/functional/bind // bind 用例#include <iostream>#include <functional> // 自定义的一......

SibylY
9分钟前
0
0
SecureCRT的安装与破解(过程很详细!!!)

SecureCRT的安装与破解(过程很详细!!!) SecureCRT的安装与破解(过程很详细!!!) 使用SecureCRT可以方便用户在windows环境下对linux主机进行管理,这里为大家讲一下SecureCRT的破解方...

DemonsI
13分钟前
0
0
介绍几款可用的web应用防火墙

目前有两款,基于软件和基于应用程序的web应用防火墙。基于软件的产品布置在Web服务器上,而基于应用程序的产品放置在Web服务器和互联网接口之间。两种类型的防火墙都会在数据传入和传出web...

上树的熊
20分钟前
1
0
用Visual Studio开发以太坊智能合约

区块链和以太坊 自从我熟悉区块链、以太坊和智能合约以来,一直失眠。 我一直在阅读,阅读和阅读,最后我能够使用一些工具,他们建议使用以太坊网站官方客户端应用程序(Ethereum Wallet)也...

geek12345
22分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部