亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我如何索引一個由函數返回的MATLAB數組,而不首先將它賦值給局部變量呢?

我如何索引一個由函數返回的MATLAB數組,而不首先將它賦值給局部變量呢?

森欄 2019-05-30 13:36:02
我如何索引一個由函數返回的MATLAB數組,而不首先將它賦值給局部變量呢?例如,如果我想從magic(5)我可以這樣做:M = magic(5);value = M(3,3);得到value == 13。我想做一些類似這樣的事情:value = magic(5)(3,3);value = (magic(5))(3,3);去掉中間變量然而,matlab抱怨Unbalanced or unexpected parenthesis or bracket之前的第一個括號。3.是否可以從數組/矩陣中讀取值,而不首先將其分配給變量?
查看完整描述

4 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

只是好博客在……上面洛倫談Matlab的藝術幾天前有幾顆可能有用的寶石。特別是,使用助手函數,如:

paren = @(x, varargin) x(varargin{:});curly = @(x, varargin) x{varargin{:}};

哪里paren()可以像

paren(magic(5), 3, 3);

會回來

ans = 16

我還推測這將比新手的回答更快,但我還沒有檢查(使用分析器!)。也就是說,您還必須在某個地方包含這些函數定義。我個人已經使他們在我的道路上獨立的功能,因為他們是超級有用的。

這些函數和其他功能現在可以在函數式程序設計結構可通過matlab外接程序資源管理器或文件交換.


查看完整回答
反對 回復 2019-05-30
?
largeQ

TA貢獻2039條經驗 獲得超8個贊

您對使用無文檔化的特性有何感想:

>> builtin('_paren', magic(5), 3, 3)               %# M(3,3)ans =
    13

或用于單元陣列:

>> builtin('_brace', num2cell(magic(5)), 3, 3)     %# C{3,3}ans =
    13

就像魔法:)


最新情況:

壞消息是,上面的黑客已經不起作用了R2015b!這很好,它是無文檔的功能,我們不能依賴它作為支持的特性:)

對于那些想知道在哪里可以找到這類東西的人,請查看文件夾。fullfile(matlabroot,'bin','registry')。有一堆XML文件列出了各種各樣的好東西。請注意,直接調用其中一些函數很容易導致MATLAB會話崩潰。


查看完整回答
反對 回復 2019-05-30
?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

至少在matlab 2013 a中您可以使用getfield比如:

a=rand(5);getfield(a,{1,2}) % etc

在(1,2)處得到元素


查看完整回答
反對 回復 2019-05-30
  • 4 回答
  • 0 關注
  • 1823 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號