我想创建一个存储并能够修改向量的类。看起来像这样:
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中的方法。我希望能够安全地深入复制变量。
希望我能解释清楚。
谢谢你抽出时间。