# Quick Reference: Sincronizzazione MATLAB β†’ Python ## πŸš€ Quick Start ### Per aggiornare Python da modifiche MATLAB: 1. **Fornisci lista file modificati**: ``` - CalcoloBiax_TuL.m - CalcoloRSN.m ``` 2. **Descrizione modifiche** (opzionale): ``` - TuL: Corretto calcolo correlazione Y - RSN: Aggiunto handling per valori negativi ``` 3. **Io farΓ²**: - Leggo i file MATLAB - Identifico le modifiche - Aggiorno il codice Python corrispondente - Eseguo validazione - Creo commit con descrizione ## πŸ“‹ Mapping Veloce MATLAB β†’ Python ### RSN Module ``` CalcoloRSN.m β†’ src/rsn/elaboration.py CalcoloRSNHR.m β†’ src/rsn/elaboration.py CalcoloLoadLink.m β†’ src/rsn/elaboration.py ConvRSN.m β†’ src/rsn/conversion.py MediaRSN.m β†’ src/rsn/averaging.py ``` ### Tilt Module ``` CalcoloTLHR.m β†’ src/tilt/elaboration.py CalcoloBL.m β†’ src/tilt/elaboration.py CalcoloPL.m β†’ src/tilt/elaboration.py CalcoloKLHR.m β†’ src/tilt/elaboration.py arot.m β†’ src/tilt/geometry.py asse_a.m β†’ src/tilt/geometry.py asse_b.m β†’ src/tilt/geometry.py ConvTilt.m β†’ src/tilt/conversion.py ``` ### ATD Module ``` CalcoloRL.m β†’ src/atd/elaboration.py::elaborate_radial_link_data() CalcoloLL.m β†’ src/atd/elaboration.py::elaborate_load_link_data() CalcoloPL.m β†’ src/atd/elaboration.py::elaborate_pressure_link_data() Calcolo3DEL.m β†’ src/atd/elaboration.py::elaborate_extensometer_3d_data() CalcoloCrL.m β†’ src/atd/elaboration.py::elaborate_crackmeter_data() CalcoloBiax_PCL.m β†’ src/atd/elaboration.py::elaborate_pcl_data() CalcoloBiax_TuL.m β†’ src/atd/elaboration.py::elaborate_tube_link_data() corrTuL.m β†’ src/atd/elaboration.py (incluso in elaborate_tube_link_data) CalcoloStella.m β†’ src/atd/star_calculation.py ConvATD.m β†’ src/atd/conversion.py ``` ### Common ``` database_definition.m β†’ src/common/database.py carica_parametri.m β†’ src/common/config.py carica_calibrazione.m β†’ src/common/config.py ValidaTemp.m β†’ src/common/validators.py Despiking.m β†’ src/common/validators.py ``` ## πŸ“ Template Richiesta ### Minimo (sufficiente) ``` File modificati: - CalcoloBiax_TuL.m - CalcoloRSN.m ``` ### Ideale ``` File modificati: 1. CalcoloBiax_TuL.m - Corretto calcolo correlazione Y (bug fix) - Aggiunto parametro correction_factor 2. CalcoloRSN.m - Gestione valori negativi inclinazione - Validazione range angoli ``` ## βœ… Validazione Post-Update Dopo ogni aggiornamento Python: ```bash # 1. Test base python -m src.main CU001 A # 2. Validazione vs MATLAB python -m src.validation.cli CU001 A --output report.txt # 3. Check report cat report.txt | grep "VALIDATION" ``` Se vedi `βœ“βœ“βœ“ VALIDATION PASSED βœ“βœ“βœ“` β†’ tutto OK! βœ… ## πŸ” Identificare File MATLAB Modificati Se hai git nel repo MATLAB: ```bash # Modifiche dall'ultimo sync git log --since="2025-10-01" --name-only --pretty=format: | sort -u # Modifiche rispetto a un tag git diff v1.0..HEAD --name-only | grep "\.m$" ``` Se non hai git: ```bash # Per data modifica find . -name "*.m" -mtime -30 # ultimi 30 giorni ``` ## πŸ’‘ Esempi ### Esempio 1: Bug Fix Singolo ``` File: CalcoloRSN.m Modifica: Linea 234, conversione angolo da radianti a gradi ``` β†’ Tempo: ~15 minuti ### Esempio 2: Multiple Files ``` File: - CalcoloBiax_TuL.m (nuovo parametro) - CalcoloBiax_PCL.m (correzione formula) - ConvATD.m (nuova calibrazione) ``` β†’ Tempo: ~45 minuti ### Esempio 3: Nuovo Sensore ``` Nuovo sensore: WireExtensometer (WEL) File nuovi: - CalcoloWEL.m - ConvWEL.m - MediaWEL.m ``` β†’ Tempo: ~2 ore (implementazione completa) ## 🎯 Best Practices ### βœ… Do - Fornire lista file modificati - Aggiungere breve descrizione - Testare dopo ogni sync - Committare incrementalmente ### ❌ Don't - Non accumulare troppe modifiche - Non skippare la validazione - Non modificare Python manualmente dopo sync ## πŸ“ž Richiesta Aggiornamento Basta scrivere: ``` "Ho aggiornato questi file MATLAB: - CalcoloBiax_TuL.m (corretto bug correlazione) - CalcoloRSN.m (aggiunto range validation) Puoi sincronizzare Python?" ``` Oppure ancora piΓΉ semplice: ``` "File MATLAB modificati: - CalcoloBiax_TuL.m - CalcoloRSN.m" ``` --- **TL;DR**: Fornisci lista file MATLAB modificati β†’ Io aggiorno Python corrispondente β†’ Validiamo β†’ Commit βœ… Vedi [MATLAB_SYNC_GUIDE.md](MATLAB_SYNC_GUIDE.md) per dettagli completi.