24小时热门版块排行榜    

查看: 540  |  回复: 3

Carpathia

银虫 (小有名气)


[交流] matlab的全局类如何实现

在一个m文件里定义了class  myclass
如果在另一个m文件function里将其变为类的一个实例,并且在function下指明global:
CODE:
global instant; instant = myclass();

出错,原因是matlab把所有global过的变量设为double,因此无法把instant实例化。

尝试另一种方法:
可以把实例保存在cell里,同时对cell进行global处理,方法可行,不过略显麻烦;

另一种方法:
CODE:
k = evalin('base','k'); assignin('base','k',k);

用assignin函数把变量存在base里,即workspace里,要用evalin函数取出,方法可行,还是显得麻烦。

请问大家如何考虑这个问题的?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Carpathia(金币+1): 谢谢参与
用matlab这么久,从来没用过class,或许有其可取之处
但是class可以完成的任务,都可以用struct完成,
因为matlab的函数组织非常灵活,是不是member function不是那么严格,
如果是data member,可以用struct的fields来模拟
2楼2012-06-06 16:05:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Carpathia

银虫 (小有名气)


引用回帖:
2楼: Originally posted by libralibra at 2012-06-06 16:05:43
用matlab这么久,从来没用过class,或许有其可取之处
但是class可以完成的任务,都可以用struct完成,
因为matlab的函数组织非常灵活,是不是member function不是那么严格,
如果是data member,可以用struct的fields来 ...

谢谢您的回答
struct只有数据成员,却没有成员函数
因为现在做的工作本身就是一个面向对象的计算工作(多体动力学)
再者matlab里充斥着各种object,用class来组织程序会方便很多
当然用matlab仅仅用来验证方法,不是用来做实际工作
3楼2012-06-06 17:00:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
ecnufsy4楼
2017-11-07 08:58   回复  
Carpathia(金币+1): 谢谢参与
发自小木虫IOS客户端
相关版块跳转 我要订阅楼主 Carpathia 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见