2012-01-03 32 views
1

我有一個奇怪的問題,我解決不了,不能在互聯網上找到任何解決冒號操作怪異的行爲在線作品:test.bla{:}。不過,這並不當我使用它在另一個類中:與MATLAB中的類常量屬性

classdef foo 
    properties 
    end 

    methods 
     function this = foo() 
      test.bla 

      a = test.bla; 
      a{:} 

      test.bla{:}    
     end 
    end  
end 

這是非常繁瑣的使用a = test.bla; a{:}所有的時間... 任何意見,對此有何看法? 非常感謝!

+0

'test.bla {:}'可能不是你打算做什麼。它實際上會返回多個答案,正如您可以從命令行的輸出中看到的那樣。你可以在你實際使用你的解決方法的地方發佈你的代碼嗎?請注意'test.bla(:)'在兩個地方都有效。 – Kavka 2012-01-03 19:22:51

+0

我實際上想要這樣做,因爲我想使用'plot(x,y,test.bla {:})'來擴展爲單個參數! – tim 2012-01-03 19:58:24

+0

您還可以將'bla'定義爲結構,其中的字段是屬性名稱,然後使用'test.bla'調用圖。 – Jonas 2014-02-13 12:34:57

回答

1

事實上,這是行不通的!我真的很驚訝。

我發現,你可以使用:

x = {test.bla(:)}; 

這會給你所有的元素。

+0

謝謝,但我需要使用它作爲單個函數參數,因此我不得不使用'x = {test.bla(:)}; my_function(x {:})'這是痛苦的(可能甚至更多:))使用'x = test.bla; my_function(x {:})'...但沒關係,我沒有在上面的帖子中發佈這個關於我的函數調用!雖然謝謝!也許我找到了一個matlab錯誤,yey! ; D – tim 2012-01-09 12:56:35

+0

哦,是的,忘了upvoting。其實,這不是一個真正的解決方案,因爲你剛纔肯定是我還沒有發佈,但儘管我會接受它,否則我不會有100%的acept率了:) :)也許別人會最終幫助了這裏未來 :) – tim 2012-01-09 14:19:39