我正在尝试实现此人的代码: http: //iris.lib.neu.edu/civil_eng_theses/30/但我无法在 Visual Studio 中生成工作可执行文件,因为我缺少 2 个文件:myoutput.cpp 和 PrintTimeReferencedVariable.cpp . 我不清楚 Matlab 构建器是应该生成它们还是我编写它们。
myoutput.cpp 应该是一个本质上执行 dlmwrite 的 C++ 文件。它的用法如下:
function [] = Output_01(FileName, FileNameLenght, OutputData, OutputSize1, OutputSize2)
coder.inline('never')
coder.ceval( 'myoutput', FileName, FileNameLenght, OutputData, OutputSize1, OutputSize2);
end
% %% Matlab Version: to run the model in Matlab uncomment below, comment above
% function [] = Output_01(FileName, FileNameLenght, OutputData, OutputSize1, OutputSize2)
% dlmwrite(FileName, OutputData,'-append','coffset',0,'delimiter','\t','precision','%6.6G')
% precision = 4;
% disp( num2str( OutputData,precision))
% end
注释掉的是文件的 matlab 版本,顶部是 C++ 中内置的内容。这些文件应该写入目录:C:\matlab-results-from-cpp。
PrintTimeReferencedVariable.cpp 看起来像一个日期函数,应该这样做:
% Date = datestr(now, 'yyyy-mm-dd-HH-MM-SS' );
%% Matlab Version: to run the model in Matlab uncomment above, comment below
Date = '2012-09-16-09-19-20';
coder.ceval('PrintTimeReferencedVariable', coder.wref(Date));
对此的任何见解都会有很大帮助。我仍在等待作者的回复,但听到您的所有意见仍然会有所帮助,因为这是我第一次使用 C++ 并在 Matlab 中构建项目。
谢谢!