改变matlab分类器属性,matlab如何从原始类内的方法修改值类的属性?

我想创建一个存储并能够修改向量的类。看起来像这样:

classdef vect3d

properties

vec

rotate

end

methods

function obj = vec3d(a,b,c)

vec = [a,b,c];

rotate = rot(obj) ;

end

end

end

我还有一个类,叫做rot,它有旋转向量的函数。我想做的是:

MyVec = vec3d([1;2;3]);

MyVec2 = MyVec;

% Define a Directional cosine matrix to rotate the vector

MyDCM = ... ;

MyVec.rotate.byDCM(MyDCM) ;

% MyVec should now contain the rotated vector

% MyVec2 should remain as the original vector

如果我使用handle类而不是value类,我可以进行这种操作;但是如果我将另一个变量设置为myvec,它们就会链接(都指向同一个对象),这是我想要避免的。

我想将一个指向变量的指针传递给rot类,这样我就可以在rot类的函数中操纵它。

简而言之:

我想能用

MyVec.rotate.byDCM( MyDCM)

修改myvec,而不在内存中实际创建它的副本。我希望bydcm是rotate中的一种方法,而不是myvec中的方法。我希望能够安全地深入复制变量。

希望我能解释清楚。

谢谢你抽出时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值