gpt4 book ai didi

Matlab,输入参数太多错误?

转载 作者:太空宇宙 更新时间:2023-11-03 19:52:21 26 4
gpt4 key购买 nike

我刚遇到 matlab 编程方面的问题。我想尝试从一个类中调用一个方法我的课很简单,就像这样

classdef Addition
properties
a;
b;
end

methods
function obj = Addition(a, b)
obj.a = a;
obj.b = b;
end

function add(c, d)
fprintf(c + d);
end
end
end

我初始化了 a 并尝试通过

调用 add 函数
a = Addition(1, 2)  
a.add(2,4)

但是,matlab 给我的错误是:

Error using Addition/add
Too many input arguments.

有人能告诉我为什么会发生这种奇怪的事情吗?

最佳答案

无论何时在类中定义方法,都必须始终将实例 obj 作为参数传递。请参阅文档 here .

在 Matlab 中处理类的实例时,代码

a.add(2,4)

相当于

add(a, 2, 4)

由于您(错误地)将实例方法定义为 function add(c, d) Matlab 正在检测 3 个参数而不是 2 个。

您的方法声明必须是function add(obj, c, d)

阅读更多关于 static methods 的信息和 instance methods来决定您是否需要其中之一。

由于您没有在方法/函数 add 中使用任何属性,看来您需要静态方法而不是实例方法。

关于Matlab,输入参数太多错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25382369/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com