/ / Перетворення коду matlab у c - c, matlab

Перетворення коду MATLAB, в c - c, MATLAB

У мене є функція matlab, яка читає велику матрицюта обчислює SVD сингулярного значення декомпозиції. Однак мені потрібно запустити це в системі Linux без необхідності встановлення matlab на кожній новій системі, так що я люблю перетворювати її у вихідний код c. Код дійсно простий:

function singular(m)
load c:sommatlab.txt
[U,S,V]=svd(matlab);
m = str2num(m);
U1=U(:,1:floor(sqrt(m)));
V1=V";
Vt=V1(1:floor(sqrt(m)),:);
S1=S(1:floor(sqrt(m)),1:floor(sqrt(m)));
matlab1=U1*S1*Vt;
matlab2=abs(matlab1);
save c:sommatlab1.txt matlab1 -ascii
save c:sommatlab2.txt matlab2 -ascii

Відповіді:

0 для відповіді № 1

Ви можете скористатись Кодер Matlab, але я раджу зробити це вручну, оскільки деякі функції не конвертовані, а продуктивність не набагато краща, ніж його вручну.

Щоб зробити SVD вручну: SVD