1. 程式人生 > >Matlab中的函式控制代碼@

Matlab中的函式控制代碼@

@是Matlab中的控制代碼函式的標誌符,即間接的函式呼叫方法。

1 控制代碼函式

主要有兩種語法:

  • handle = @functionname
  • handle = @(arglist)anonymous_function

handle = @functionname:返回一個特別的Matlab函式控制代碼,它提供了一種間接訪問函式的方式,也被成為函式的函式(function functions),是一種標準的Matlab資料型別。在C/C++中,有個類似的用法稱為引用(使用識別符號&),引用只是它繫結的物件的另一個名字,作用在應用上的所有操作事實上都會作用在該引用繫結的物件上。Matlab裡控制代碼函式,與前面講得引用有些類似,我們通過語句handle = @functionname

給名為functionname的函式取了個別名handle,也就是說你既可以用函式functionname實現你要實現的功能,也可以使用handle實現同樣的功能。在Python裡,你大可直接用變數賦值的方式handle = functionname達到這一目的。

基本用法如下:

% .m 檔案函式控制代碼
>>fh_mFile = @humps
fh_mFile = 
    @humps

% 內建函式控制代碼
>>fh_builtin = @cos
fh_builtin = 
    @cos
>>fh_builtin(pi)
ans =
    -1

handle = @(arglist)anonymous_function:也稱為匿名函式,@左邊為一個函式控制代碼,@後定義了匿名函式的輸入引數(多個引數用逗號分隔開),最後一部分為匿名函式的表示式。基本用法如下:

>>sqr = @(x) x.^2
>>a = sqr([1, 2, 3])
a =
     1     4     9

2 控制代碼處理函式

這裡列舉四個常見的控制代碼處理函式,如下表:

函式 說明
functions 返回一個控制代碼的詳細資訊
str2func 將一個函式名作為字串傳遞給此函式,建立該函式的函式控制代碼
func2str 從一個函式控制代碼中提取函式名,對於內建函式或m檔案函式控制代碼,返回函式的名稱,對於匿名函式,返回其表示式
structfun 將控制代碼結構體陣列的每一個控制代碼函式的依次作用於陣列,返回每個控制代碼函式的作用於陣列的值


逐一給出示例:

>> functions(sqr)
ans = 
     function: '@(x)x.^2'
         type: 'anonymous'
         file: ''
    workspace: {[1x1 struct]}


>>fh2 = str2func('sqr')
fh2 = 
    @sqr

>> func2str(fh2)
ans =
sqr
>> func2str(sqr)
ans =
@(x)x.^2

>> S.a = @sin; S.b = @cos; S.c = @tan;
>> structfun(@(x)x(linspace(1, 4, 3)), S, 'UniformOutput', false)
ans = 
    a: [0.8415 0.5985 -0.7568]
    b: [0.5403 -0.8011 -0.6536]
    c: [1.5574 -0.7470 1.1578]

相關推薦

matlab函式控制

函式控制代碼(function handle)是MATLAB中的一類特殊的資料結構,它的地位類似於其它計算機語言裡的函式物件(Javascript,Python),函式指標(C++),或者函式引用(Perl)。作用是將一個函式封裝成一個變數,使其能夠像其它變數一樣在程式的不同部分傳遞。

matlab set函式 控制操作函式

    MATLAB給每種物件的每一個屬性規定了一個名字,稱為屬性名,而屬性名的取值成為屬性值。例如,LineStyle是曲線物件的一個屬性名,它的值決定著線型,取值可以是'-' 、':'、'-.'、'--'或'none'。 2.屬性的操作     set函式的呼叫格式為:     set(控制代碼,

Matlab函式控制@

@是Matlab中的控制代碼函式的標誌符,即間接的函式呼叫方法。 1 控制代碼函式 主要有兩種語法: handle = @functionname handle = @(arglist)

matlab 函式控制(function handle)

前言 函式控制代碼是一種MATLAB的資料型別,它包含引用函式的資訊。 使用函式控制代碼的好處 傳遞函式訪問資訊給其它的函式 允許對子函式和私有函式更廣的訪問 減少需要定義的函式的數量 改善重複操作的效能 下面給出一個簡單的例子 建

MATLAB函式控制 Function Handle

作用: 將函式傳遞給另一個函式(function functions)。  指定回撥函式。 例如,響應UI事件或與資料採集硬體互動的回撥。  構造行內函數的控制代碼,而不是儲存在程式檔案(匿名

Matlab函式控制

Matlab中函式的呼叫方法分為直接呼叫法和間接呼叫法。直接呼叫函式:被呼叫的函式通常稱為子函式。但是子函式只能被與其M檔案同名的主函式或在M檔案中的其他函式所呼叫,同時在一個檔案中只能有一個主函式。而使用函式控制代碼對函式進行呼叫則避免了上述問題。函式控制代碼實際上提供了一

matlab函式控制介紹

問:[email protected](x)acos(x)表示什麼意思?其中@代表什麼?答:表示f為函式控制代碼,@是定義控制代碼的運算子。[email protected](x)acos(x) 相當於建立了一個函式檔案:% f.m function 

python控制操作

python中的控制代碼操作 製作人:全心全意 通過視窗標題獲取控制代碼 import win32gui hld = win32gui.FindWindow(None,u"Adobe Acrobat") #返回視窗標題為Adobe Acrobat的控制代碼    通過父視窗控制代碼獲取子

linux檔案控制洩露

1.檔案控制代碼洩露          在linux中,如果一個檔案正在被某個程序佔用,使用者操作rm刪除該檔案後,我們ls後發現檔案已經不存在了,但實際上該檔案仍然在磁碟上。直到使用它的程序退出後,檔案佔用的磁碟空間才會被釋放。         其原理如下:      

MFC視窗控制控制元件控制的獲取

1. 程式主視窗控制代碼的獲得     CWnd* p = AfxGetMainWnd();//函式AfxGetMainWnd()獲得主對話方塊的指標p     HWND h = p->m_hW

matlab_函式控制@

  or [email protected](arglist)anonymous_function 3、描述:函式控制代碼(function handle)是一種能夠提供函式間接呼叫的matlab value。你可以通過傳遞控制代碼來呼叫各種其他功能。你也可以將控制代碼儲存到資料結構中備用(例如Ha

檢視程式控制資訊

以管理員許可權開啟SysinternalsSuite中的procexp.exe 工具欄上右鍵-Select Columns,Handle全選 設定View-Update Speed-Paused

VC/MFC開發控制HWND

Windows開發中,經常會碰到一個常見的字眼HWND,如下 HWND hWnd; hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW | WS_VISIBLE, CW_US

MATLAB控制圖形物件的建立函式函式描述

物件型別 建立函式 物件描述 根 root 計算機螢幕 圖形視窗 figure 顯示圖形和使用者介面的視窗 座標軸 axes 在圖形中

MATLAB控制相關函式和程式碼示例(設定美化圖表屬性)

控制代碼的獲取 函式控制代碼:@函式名,比如@sin,@exp 當前圖形視窗figure控制代碼:gcf 當前座標軸控制代碼:gca 被滑鼠最近單擊物件的控制代碼:gco 圖形物件的屬性名 線寬:LineWidth 線形:LineStyle 顏色:Color x方向網格:x

MFC獲取其他類、視窗控制等相關函式

轉載自http://blog.csdn.net/xiaoyun8822/article/details/7939605 一般我們使用的框架是VC提供的Wizard生成的MFC App Wizard(exe)框架,無論是多文件還是單文件,都存在指標和控制代碼獲取和操作問

Matlab的圖形控制(轉載)

在matlab中,每一個物件都有一個數字來標識,叫做控制代碼.當每次建立一個物件時,matlab就為它建立一個唯一的控制代碼 控制代碼中包含有該物件的相關資訊引數,可以在後續程式中進行操作,改變其中的引數,以便達到不同的效果 例如:gcf 是返回當前被啟用的視窗的控制

emWin介面庫注意事項之自定義回撥函式之後,控制為0

        由於在嵌入式裝置上可供使用的介面庫很少,專案當中所使用的介面庫為德國SEGGER公司開發的emWin介面庫。使用上和windows的GDI大致類似,也提供了豐富的API介面。如果我們需要對控制元件進行自繪的話,一定要進行的一個操作是通過設定回撥

MFC獲取各個視窗之間的控制或者指標物件的方法

轉載:https://www.cnblogs.com/gavanwanggw/p/6743774.html MFC中獲取各個視窗之間的控制代碼或者指標物件的方法 MFC在非常多的對話方塊操作中,我們常常要用到在一個對話方塊中呼叫還有一個對話方塊的函式或變數.能夠用例如以下方法來解決.

ABAP 通過控制將內表資料寫入記憶體,然後在SMARTFORM呼叫

首先要在SMARTFORM 中定義控制代碼。在全域性設定-》表格介面中定義PRT_HANDLER1和PRT_HANDLER2. 在全域性定義中定義和程式中內表結構相同的內表,注意在全域性資料中要定義工作區方便呼叫。   然後在程式中呼叫SMARTFORM,利用S