日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab私有函数,MATLAB 嵌套函数,子函数,私有函数,重载函数

發布時間:2025/3/19 循环神经网络 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab私有函数,MATLAB 嵌套函数,子函数,私有函数,重载函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MATLAB函數嵌套

MATLAB中M文件有兩種類型,腳本M文件和函數M文件。腳本M文件是將可執行程序語句放入M文件中,就像在命令窗口那樣,按其語句順序及邏輯關系執行,可以理解為一般的順序執行程序語句。函數文件一般是聲明一個函數,方便以后操作中的調用。下面就函數文件中函數嵌套的使用做簡單分析。

對于函數文件,一個M文件只能定義一個總函數,即第一句function所定義的函數,而且整個M文件在外部使用時候表現出來的也只有這一個函數。如果需要多個函數嵌套,與其定義順序無關。下面結合一個簡單的例子來分析。

function y=average(x) %聲明一個函數,y=average(x),這個函數是取x的平均值,返回值是y

y=mymean(x); %再次使用函數mymean,此處該函數并沒有定義算法,而是在后面對其進行描述

function a=mymean(v) %定義函數mymean,對于上級函數來說,此處為定義子函數,進行函數嵌套%a=mean(v); %此處為了簡便,使用內部求均值函數mean,當然也可以自己寫,如下句。

a=sum(v)/length(v); %對v求和并除以總長度可得其平均

我們設一個向量z=[1,2,3,4,5,6,7],然后求其平均,在命令窗口輸入average(z)即可。相當于將z分別賦給x和v,由子函數得出返回值a,a和y是等價的,外層可輸出返回值。若去掉y=mymean(x)這句,則總函數外部無返回值輸出。

Matlab子函數

在matlab的函數定義中,如果函數如果函數較長或較多,往往可以將各函數分別寫在多個.m文件中,但有時函數可能很短,就幾行,可能希望將多個函數定義放在同一個.m文件中,這里就存在一個子函數的定義問題。

在matlab中一個.m文件中可以有多個的子函數,但僅能有一個主函數,并且M文件名必須和主函數相同[1]。(注:本人經自己試驗發現,自己使用的matlab7.5版本并不要求主函數名和.m文件名相同,但調用的時候使用的仍然必須是.m文件名,所以為了理解和記憶的方便,仍然建議M文件名和主函數名同名。)

其使用方法如下圖,圖1:

圖1

在這個.m文件中共有三個函數,其中subfunction是主函數,而add和subtract是兩個子函數,在函數調用是使用的是文件名subfunction_cxd(x,y),如[a,b]=subfuction_cxd(1,1),而如果僅是調用主函數的話,則會出現未定義的錯誤提示,如下圖,圖2:

圖2

我們甚至可以將函數的調用也寫到同一個.m文件中,如以下這個例子,見圖3:

圖3

這里我們定義了一個沒有輸入沒有輸出的函數該函數將作為主函數,而其他的函數均為子函數,由主函數調用子函數,而子函數間是可以互相調用,但不能調用主函數。這時的m文件不需要任何輸入,調用時可以直接點運行m文件的快捷鍵,或者在命令框中輸入m文件名然后回車運行,如上例輸入命令subfunction_cxd回車即可得到結果。

M文件中以下這種將函數的調用直接寫到m文件中的情況是不允許的,如圖4,出現錯誤提示如圖5,必須也把調用寫成函數的形式,或者將子函數都寫成單獨的m文件。

圖4

圖5

有時若有需要,子函數的定義甚至可以放在主函數中,即函數的嵌套,如圖6。這種嵌套函數是在函數第一次調用時就加以定義,一旦使用了嵌套函數,無論是嵌套函數還是主函數都必須以end作為函數的結束。當然子函數一旦定義將可在主函數中任意位置調用,如例子中求a時,定義了加法,但求c時仍然可以調用,無需再次定義。注:主函數結束時有一個end表示主函數結束切不可少。

圖6

編寫完函數后,如果有需要,可以吧自己所定義的函數成組的存儲在公共目錄下,即存在工具箱中,通過修改搜索路徑進行訪問,修改MATLAB的搜索路徑可以在主菜單File中的Set Path進行,也可以在命令框中輸入pathtool,獲取下圖路徑設置,見圖7。存儲后的函數在路徑下將可以直接調用。

圖7

matlab子函數私有函數

1.private與子函數:

子函數只能在主函數內容中調用,在函數外無法使用

function MainFunction%主函數內容

function SubFunction1%子函數內容

end

function SubFunction2%子函數內容

end

function SubFunction3%子函數內容

end

end

private函數是matlab軟件中廣泛使用的一種技術,其作用是限定某一些函數(private文件夾內)只能被令一些函數(private文件夾所在文件夾中的函數)使用,其他函數不能使用,這樣的話就可以避免一些無用(因為一般的matlab函數是全局可見的,而private函數只能被private文件夾所在文件夾中的函數調用。

2.ezplot和fplot

ezplot是easy plot的簡稱,意思就是簡化畫圖,只需給出函數體而無需變量范圍,例如想畫個圓,用ezplot就很方便:

syms x y

ezplot(‘x^2+y^2=1‘,[-1.5 1.5],[-1 1])

fplot的意思是function plot,就是畫某一函數的曲線。顧名思義,若要畫一條函數的曲線,只要給出函數名和自變量范圍即可,例子如下:

fplot(‘sin‘,[-2 2])

matlab函數重載

C語言中可以通過參數的個數和數據類型來區分同名函數,實現函數的重載。

matlab的函數重載是通過檢查函數調用時輸入輸出的項數來實現。

nargin和nargout分別返回它所在函數當前被調用時實際輸入的項數

nargchk()檢查輸入的參數個數是否符合指定的范圍:

msgstr=nargchk(minargs,maxargs,numargs)

msgstr=nargchk(minargs,maxargs,numargs,‘string‘)

其中,minargs和maxargs合法的最大值最小值,numargs為求得的輸入項的項數,可直接為函數nargin

如果輸入變量個數超出范圍,則返回錯誤信息;如果變量個數在范圍內則返回空矩陣。

例:實現兩個數相加或者三個數相乘

function B =addd(varargin)%varargin是matlab內部變量,cell型,依次存儲函數的所有輸入變量% 如add(A1, A2, A3), 則 varargin{1} = A1, varargin{2} = A2, varargin{3} =A3%nargin同樣也是matlab內部變量, 為函數輸入 變量的個數%如果變量個數小于2大于3,則報錯

error(nargchk(2,3,nargin));if nargin == 2A1= varargin{1};

A2= varargin{2};

B=A1+A2;elseA1= varargin{1};

A2= varargin{2};

A3=varargin{3};

B=A1*A2*A3;

end ;>> addd(1)

Errorusing addd (line 2)

Not enough input arguments.>> addd(1,2,3,4)

Errorusing addd (line 2)

Too many input arguments.>> addd(7,2,3)

ans=

42

varargin變量用法靈活,如 function add(var1,var2,varargin)

此時varargin存儲的是var1和var2之后的變量

原文:http://www.cnblogs.com/MarshallL/p/4048846.html

總結

以上是生活随笔為你收集整理的matlab私有函数,MATLAB 嵌套函数,子函数,私有函数,重载函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本一区二区在线免费 | 激情播播网 | 在线一二三区 | 阿的白色内裤hd中文 | 久久精品亚洲精品 | 好吊操av | 日韩第四页 | 蜜桃传媒 | 久久久久久网址 | 胖女人毛片 | 欧美日韩午夜爽爽 | 女女综合网| 日韩精品一区二区三区丰满 | 三级在线网站 | 在线a免费 | 性视频免费看 | 日韩av不卡在线 | 亚洲一级影片 | 婷婷欧美 | 69国产精品视频免费观看 | 天堂无乱码 | 色噜噜色狠狠 | 美女扒开尿口让男人桶 | 19韩国主播青草vip | 日韩精品视频在线免费观看 | 处破痛哭a√18成年片免费 | 五十路熟母 | 日本亲与子乱ay中文 | 国产制服丝袜在线 | 国产精品久久久久久久久久久久久 | 青青草视频在线观看免费 | 精品一区免费 | 亚洲av日韩av永久无码下载 | 女人高潮被爽到呻吟在线观看 | 和黑帮大佬的365 | 操女人逼逼视频 | 开心色婷婷 | 99久久视频 | 在线免费看黄 | 在线视频观看 | 婷婷六月色 | 国产男男gay网站 | 国产51精品| 插插射射 | 亚洲成熟丰满熟妇高潮xxxxx | 国产成人无遮挡在线视频 | 日韩精品极品视频在线观看免费 | 亚洲观看黄色网 | 99久久99久久免费精品蜜臀 | 美女无遮挡免费网站 | 粉嫩在线 | 久久国产精品免费观看 | 天天干天天爱天天操 | 国产精品视频合集 | 撒尿free性hd | 天天干夜夜夜 | 日韩免费网址 | 日韩在线电影一区二区 | 青青草福利视频 | 色狠狠av老熟女 | 欧美三级午夜理伦三级老人 | 欧美性极品少妇xxxx | 久久精品大片 | 中文在线字幕av | 中文字幕高清在线免费播放 | 久久免费观看视频 | 玖玖网| 女同久久另类69精品国产 | 久久精品视频播放 | 爱福利视频网 | 国产精品伊人久久 | 中文区中文字幕免费看 | 999成人网| 欧美三级韩国三级日本三斤 | 婷婷综合社区 | 国产精品久久久久一区二区 | 大肉大捧一进一出好爽视频动漫 | 教练含着她的乳奶揉搓揉捏动态图 | 亚洲乱码日产精品bd在线观看 | a视频| 成人国产精品久久久网站 | 亚洲精品乱码久久久久久9色 | 久久久久久久久久久久久女过产乱 | 美女又黄又免费 | 久久久久夜 | 国产真实夫妇交换视频 | 国产suv精品一区二区 | 国内精品久 | 色八戒av | 成人国产精品入口 | 中文字幕精品视频 | 99视频在线播放 | 国产又粗又猛又爽又黄的视频一 | 欧美乱妇高清无乱码 | 男人插女人的网站 | 爱爱视频欧美 | 中文日本在线 | 91看黄| 欧美日韩国产精品成人 |