Kursinnehåll
Matlab-Grunder
Matlab-Grunder
Systemfunktion
Lär dig hur du får Matlab att flytta, byta namn på och kopiera filer och mappar på din dator, samt hämta innehållet i mappkataloger. Dessa praktiska funktioner kan spara dig mycket arbete, och i nästa avsnitt kommer vi att använda dem för att automatisera grafritning och analyser över hela mappkataloger som innehåller datafiler.
Uppgift
Experimentera! Skapa några testfiler och mappar och låt Matlab flytta, byta namn på och kopiera dem på din dator.
Placera 4 eller fler kopior av Excel-filen från kapitel 3 i en mapp på din dator. Gör sedan följande:
Använd funktionen dir för att returnera en struktur av katalogen med alla Excel-filer i denna mapp;
Skapa en tom cell-array;
Använd en for-loop för att fylla cell-arrayen med enskilda strängar som innehåller hela filsökvägen (plats + filnamn) för alla Excel-filer i mappen.
Observera: det du bygger i denna andra del kommer att användas i det första kapitlet i nästa avsnitt.
Variabeln du tilldelar för att fånga katalogen som returneras från dir kommer att ha formen av en struktur: en array där variabler tilldelas varje element i arrayen.
Strukturen kommer endast att ha en enda kolumn; därför kommer referenser till andra kolumner, såsom (1,2), att utlösa ett fel.
Använd funktionen length för att avgöra hur många element (filer) som finns i strukturen.
Indexering av det första elementet i din strukturvariabel, t.ex. directory(1,1), visar en lista över alla variabelnamn som lagras för varje fil.
Specifika variabler hämtas sedan genom att lägga till en punkt, följt av variabelnamnet, efter denna indexering: t.ex. directory(1,1).name.
Använd strcat för att sammanfoga filnamnet (en sträng) med mappens plats som du valt (en annan sträng), eventuellt med ett mellanliggande /
, för att få en enda sträng med hela filsökvägen + namn.
Att testa med endast en Excel-fil i mappen och att mata in kod manuellt i kommandofönstret för att manipulera variablerna till det du vill ha, kan hjälpa till att förtydliga fel och är enkelt att göra i detta fall.
Tack för dina kommentarer!