试图从“mxArray”提取字段“价值”。

142(30天)
在仿真金宝app软件中,我试图从一个细胞获取值在Excel电子表格,但是每次我试着运行模型,得到这个错误…
试图从“mxArray”提取字段“价值”。
为什么?我怎么解决它。
PS:错误来自disp (iiTHEVALUE.Value);(现在我只是显示matlab命令窗口中的值,一旦我得到它,我将开始做)
这是我的代码在仿真软件Matlab函数盒……金宝app
函数count_oute = Excel(女伯爵)
% # codegen
% %让仿真软金宝app件知道读命令,Matlab命令
%保持在顶级
coder.extrinsic (“pwd”);
coder.extrinsic (“strcat”);
coder.extrinsic (“actxserver”);
coder.extrinsic (“调用”);
coder.extrinsic (“得到”);
coder.extrinsic (“设置”);
coder.extrinsic (“删除”);
% %全局变量?
% %可编辑的变量
Excel_File =“If_actxserver.xlsx”;
% %定义变量
Current_Directory = pwd;
excel_filename = strcat (Current_Directory,“\”,Excel_File);
% % COM。通过迭代处理活动在这个特定的功能块
% Excel处理变量
持续的h_Excel;
如果isempty (h_Excel)
%如果处理为空,定义(它的模型)
h_Excel = actxserver (“Excel.Application”);
结束
持续的Excel_Workbook;
如果isempty (Excel_Workbook)
%如果处理为空,定义(它的模型)
Excel_Workbook =调用(get (h_Excel,“工作簿”),“开放”,excel_filename);
结束
% %如果第一次迭代
如果(女伯爵= = 1)
集(h_Excel,“可见”1);
disp (“开始Mathcad应用程序”);
结束
% % Excel进行迭代
disp (“Excel迭代#”);
disp(女伯爵);
% %保存,关闭,退出actxservers最后迭代
如果(女伯爵= = 11)
iTHEVALUE =调用(get (Excel_Workbook,“工作表”),“项目”,“InitialVars”);
iiTHEVALUE =调用(iTHEVALUE,“范围”,A1: B4的);
disp (iiTHEVALUE.Value);
调用(Excel_Workbook“关闭”);
调用(h_Excel“退出”);
调用(h_Excel“删除”);
disp (“Excel关闭”);
结束
%值的价值是一样的,只是显示了
count_oute =女伯爵;
结束
2的评论
巴拉萨勃拉曼尼亚
巴拉萨勃拉曼尼亚 2019年3月18日
你好布莱恩,
我也有同样的错误。
目前,在我的例子中,我将值从一个数据存储块的积分器。
这个数据存储块的输出是一个PV农场- >信号转换从直流到交流。
然而在主代码中,它显示了“mxArray”错误。
因为我需要将信号存储为一个数组吗?或使其全球主代码可以直接访问它的数组而不是阅读整个光伏农业文件?
谢谢你!

登录置评。

接受的答案

瑞安·利文斯顿
瑞安·利文斯顿 2014年3月26日
编辑:瑞安·利文斯顿 2014年3月26日
当使用一个外部函数的输出,它可能经常需要preinitialize变量被分配。这样做是告诉代码生成软件类型,返回值的大小和复杂性。如果 喷火 是外在的,那么您可以使用:
x = 0 (3、4);
x = foo (y);
打电话给 喷火 了外在的和分配输出 3×4 数组中。看到的:
为更多的细节。
然而,在你的情况下,调用的输出很可能不会支持一种代码生成,因为它可能是一个ActiveX或COM对象。金宝app是这样我更容易把所有的不支持的功能,成为一个单一的函数,然后调用该函数非固有地。金宝app
在你的例子中,您可以编写一个单独的MATLAB函数 女伯爵 和文件名作为参数,并返回数据作为数字数组。然后您可以使用上面的preinitialization技术当调用新函数仿真软件知道它是什么类型。金宝app
4评论
瑞安·利文斯顿
瑞安·利文斯顿 2014年3月27日
确定的事情。一般来说,它可能会或可能不会提高性能通过调用了外在的。这取决于功能块代码比较MATLAB在做什么。如果你有MATLAB代码支持的代码生成和MATLAB代码主要依赖其金宝app他MATLAB文件,那么性能可能更好的使用功能块中的代码。
但是,如果您的代码使用构造是不受支持的代码生成,然后调用了外在的是唯一的办法。金宝app我不太熟悉s区工作,我会让别人评论。

登录置评。

更多的答案(0)

类别

找到更多的在金宝app仿真软件编码器帮助中心文件交换

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!