2012-01-03 105 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