这可能是一个非常基本的问题,但我没有在互联网上找到任何东西。 我正在编写一个matlab类,它具有各种类属性。我正在设置所有这些(一些带有输入参数,一些默认值)。 我在另一个类方法中更改了一个类变量。 这不起作用(当超出函数范围时,变量将被删除)。 解决这个问题的最佳方法是什么? 把所有东西都放在构造函数中?
classdef MyClass
properties
matrix1
matrix2
matrix3
end
methods
function obj = MyClass()
obj.matrix1 = zeros(2)
obj.matrix2 = ones(3)
end
function obj = func(obj)
obj.matrix2 = 3*ones(3)
end
function obj = func2(obj)
obj.matrix3 = obj.matrix2 %this does not work. matrix2 has its original value, not 3*ones(3)
end
end
end
我称之为
object = MyClass()
object.func()
object.func2()
答案 0 :(得分:1)
MATLAB支持值类型和引用类型。
您定义类的方式,它本身就是一个值类型,这意味着每个函数调用都使用对象的副本,而不是引用调用对象的数据。
要使类表现为引用类型,然后根据需要修改对象的数据,从<?php
$text= "hello%0A%0Ahow%20are%20you";
$txt = urldecode($text);
echo nl2br($txt);
继承您的类。
执行:
handle