gpt4 book ai didi

c# - MATLAB Builder NE (.NET Assembly) 数据类型问题

转载 作者:太空宇宙 更新时间:2023-11-03 20:31:56 25 4
gpt4 key购买 nike

我正在使用 MATLAB Builder NE(MATLAB 的集成 .NET 程序集生成器),但我遇到了数据类型问题。

我在 MATLAB 中编译了一个非常简单的小函数,并为 .NET 构建了它。我能够很好地调用命名空间甚至函数。但是,我的函数返回一个值,而 MATLAB 默认将其作为 object[] 数据类型返回。但是,我知道该值是一个整数,但我不知道如何转换它。

我的 MATLAB 函数如下所示:

function addValue = Myfunction(value1, value2)

addValue=value1+value2;

end

很简单吧?

然后在 .NET 中我可以将其称为:

xClass.addValue (1, 3, 4);

其中 xClass 是 MATLAB 构建类的名称,但是当我尝试时:

int x = xClass.addValue (1, 3, 4);

C# 错误。典型的 .NET 转换 (int) 不起作用。编译器声明它不能将 object[] 转换为 int。

有没有人有使用 MATLAB 中的 .NET 构建器的经验可以帮助我解决这个问题?这真的让我陷入困境。我在零帮助下浏览了大部分 MATLAB BUILDER 文档(484 页!)。

最佳答案

我不再有 Builder NE,但如果我没记错的话你可以这样做:

using MathWorks.MATLAB.NET.Utility;
using MathWorks.MATLAB.NET.Arrays;

int x = ((MWNumericArray)(xClass.addValue(1, 3, 4)).ToScalarInteger();

MWArrayMWCellArrayMWStructArrayMWNumericArray 类型上使用 IntelliSense 和类浏览器是一个比 MATLAB 文档更有用。

尽管如此,我还是对您的 addValue 调用中的第一个参数感到困惑?

关于c# - MATLAB Builder NE (.NET Assembly) 数据类型问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2542049/

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