Ho diversi script (m File) ei nostri clienti hanno versioni Matlab diverse. Esiste uno strumento per verificare la compatibilità di ogni script con determinate versioni di Matlab?Strumento per verificare la compatibilità con le versioni Matlab?
risposta
A seconda della versione di Matlab in cui si sta eseguendo la migrazione, esiste una funzionalità denominata Upgrade Advisor che può controllare questo tipo di cose (è molto simile a Simulink Model Advisor).
Puoi descrivere come usarlo - Sono su 2011b e non riesco a trovare la funzione. – bdecaf
e dove trovarlo. Grazie! – Durin
Le mie apprensioni, mi sembra di aver avuto un momento un po 'senior qui. Upgrade Advisor è disponibile solo nelle versioni più recenti di Matlab (anche se Model Advisor eseguirà ancora gran parte del controllo che ritengo sia necessario). La soluzione di @Mark qui sotto dovrebbe fare esattamente quello che stai cercando. – BigA
Potrebbe essere possibile eseguire ciò che si desidera con la funzione checkcode
. In alternativa, è possibile utilizzare funzioni come version
e verLessThan
per scrivere script e funzioni tali da controllare la versione su cui vengono eseguiti e adottare le misure appropriate.
per MATLAB R2017b e successivi SOLO:
Sì, noi abbiamo uno strumento per creare un codeCompatibilityReport per la cartella di lavoro corrente e sottocartelle. Questa funzione è stata introdotta in MATLAB R2017b. Il rapporto sulla compatibilità del codice si apre nel browser Web MATLAB. Dopo l'aggiornamento a una versione più recente di MATLAB, è possibile utilizzare questo report per identificare potenziali problemi di compatibilità nel codice esistente.
Passare alla directory che ospita i file M per i quali si desidera eseguire il report sulla compatibilità del codice, all'interno di MATLAB. Quindi, eseguire il seguente comando:
>> codeCompatibilityReport
Il codice di rapporto di compatibilità contiene le informazioni utili per aggiornare il codice per una nuova versione di MATLAB. Contiene queste sezioni.
Incompatibilità e errori di sintassi - Tabella con dettagli sugli errori di sintassi e considerazioni di incompatibilità nel codice analizzato. Ad esempio, "L'uso di ~ per ignorare un valore non è permesso in questo contesto o 'wavfinfo' è stato rimosso. Usa 'AUDIOINFO' invece."
Avvertenze e altri consigli - Tabella con dettagli sugli avvisi e altre opportunità per migliorare il codice. Ad esempio, "L'uso programmatico di DISPLAY non è raccomandato, utilizzare invece DISP o FPRINTF."
Controlli eseguiti - Dettagli i controlli eseguiti sul codice specificato.
File - Elenco di file che MATLAB ha analizzato per la compatibilità del codice.
Ecco un link al MATLAB Answers Messaggio con più informazioni: https://www.mathworks.com/matlabcentral/answers/364764-is-there-a-tool-to-check-for-compatibility-between-different-matlab-versions
+1 grande domanda, piacerebbe che se MathWorks ha sviluppato un tale strumento. Forse dovresti fare una [richiesta di funzionalità] (http://blogs.mathworks.com/community/2008/01/14/making-a-feature-request/) – Amro
Purtroppo, non c'è. Penso che sarebbe un incubo mantenere uno strumento del genere dall'inondazione di cambiamenti incompatibili che introducono con ogni versione di Matlab. Sarebbe già d'aiuto, se avessero inserito il numero di versione quando hanno introdotto/modificato/deprecato/rimosso alcune funzionalità nella documentazione, ma non gliene importa (l'ho provato come richiesta di funzionalità tramite il loro supporto, ma non l'hanno fatto Forse se più persone lo chiedessero ...) –