Matlab OOP:如何更新对象的属性
现在我做以下几点:Matlab OOP:如何更新对象的属性,matlab,oop,Matlab,Oop,现在我做以下几点: 构建对象DDD和对象公文包 我开始开始交易(DDD,投资组合) 结果:对象DDD和投资组合的属性值与 建造的 我所期望的是,他们已经更新了值(preis=50,handeln='buy')。 我犯了什么错?谢谢大家! 您已经在MATLAB中创建了一个值对象。将这些对象传递给函数时,将为它们创建一个副本。这些副本由您在函数内部修改。除非返回这些副本,否则函数外只有未修改的原始对象 您可以从函数中返回对象并将它们赋回相同的变量,也可以通过从handle继承来使用handle对象。
开始交易(DDD,投资组合)
我犯了什么错?谢谢大家! 您已经在MATLAB中创建了一个值对象。将这些对象传递给函数时,将为它们创建一个副本。这些副本由您在函数内部修改。除非返回这些副本,否则函数外只有未修改的原始对象
您可以从函数中返回对象并将它们赋回相同的变量,也可以通过从handle继承来使用handle对象。参见在中比较句柄和值类的文档,也许您可以考虑将值声明为依赖属性,每次检索时都自动更新该值。在这里看到更多:嘿,伙计们!我阅读了所有关于句柄和值的内容,尝试了两种方法。没什么区别。你能给我更多关于如何使我的代码工作的细节吗?那太好了。将函数签名更改为函数[DDD,portfolio]=StartTrading(DDD,portfolio)。调用时,请提供与rhs相同的lhs参数。它有效。这是有道理的。我需要说它应该保存在哪里。谢谢你,祝你有一个很棒的星期!(很遗憾,我不能给你+1,因为我没有15个代表:D
classdef PortfolioX
properties
name;
anzahl=0;
myValue=0;
handeln;
preis=0;
end
function [this, portfolio1] = setAnzahl(this, portfolio1, AktienAnzahl, AktienPreis)
....
this.preis = AktienPreis;
portfolio1.value = AktienAnzahl;
...
end
end
function StartTrading(DDD, Portfolio)
%if text.mat
load test.mat
%end
%Aktie = DDD;
DDD.handeln = 'buy';
%Anzahl an Aktien die gehandelt werden und deren aktueller Preis
[DDD, Portfolio] = setAnzahl(DDD, Portfolio, 200, 5);
save test.mat
load test.mat