#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 /…