Printing out the element values in a mxDouble array (C++ script in Matab)

9 ビュー (過去 30 日間)
Amanda Zong
Amanda Zong 2019 年 5 月 31 日
編集済み: James Tursa 2019 年 5 月 31 日
Hi,
I am using Matlab 2017b and am having trouble printing out the values stored in a mxDouble array.
I have written a mexFunction in a C++ script that takes in a 2-d array as input. Using mxGetPr, I create a pointer of type double * to this array. Let's call this pointer "x."
I try to print out the first element of the array, using the following code:
mexPrintf("x value is%d\n",*x);
However, it appears that the integer printed is address of the value pointed to by x, not the value itself.
How do I print out the value pointed to instead of the address?
Thanks!

採用された回答

James Tursa
James Tursa 2019 年 5 月 31 日
編集済み: James Tursa 2019 年 5 月 31 日
%d is a decimal integer format for use with short, int, long, etc. This doesn't work with floating point. Try e.g. %f or %g instead.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMATLAB Data API for C++ についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by