Как написать матрицу A (:,1) из Matlab на C#

#c# #winforms #matlab

#c# #winforms #matlab

Вопрос:

Я хочу написать матрицу из MATLAB на C #, используя ссылку на приложение Matlab MLApp.MLApp matlab = new MLApp.MLApp();

Код Matlab: freqmag(:,2) = abs(Y(1: NFFT / 2 1));

потому что matlab дает только короткий пример: https://www.mathworks.com/help/matlab/matlab_external/call-matlab-function-from-c-client.html я понятия не имею, как это сделать?

Комментарии:

1. Передайте все, как вы бы, из c # в c в списке параметров. Таким образом, у вас будет метод в Matlab: MyFFT(*double), где freqmag будет возвращен ссылкой на c # . В c # затем matlab. Feval(«MyFFT», out freqmag); Затем вы должны использовать: IntPtr buffer = Marshal . AllocHGlobal((NFFT / 2 1) * sizeof(двойной));

2. меня беспокоит то, что я могу создать матрицу, подобную matlab, на c # (столбец и строка). есть ли какая-либо команда, или я должен создать обычный массив array. ie. freqmag[1][2], который означает строку 1 столбец 2 freqmag?

3. Вам нужно переместить данные из неуправляемого в управляемое пространство, поэтому вы хотите убедиться, что размеры объектов данных известны. Вы также должны помнить, что строки в Matlab — это язык c, который заканчивается байтом [] с ‘ 0’ . В c # символы — это два объекта класса. Таким образом, вы можете захотеть вернуть массив структуры. Смотрите mathworks.com/help/matlab/matlab_prog /…