ich auf einem Matlab-Skript arbeite und ich in folgendem Problem leite:MATLAB: Ändern einer bekannten Zeichenfolge zu einem Variablennamen
Innerhalb einer Schleife ich eine Zeichenfolge Erstellen von strcat
verwenden. Diese Zeichenfolge ist eigentlich der Name einer Variablen. Allerdings wird es immer noch als String klassifiziert und deshalb kann ich es nicht in meiner while-Schleife verwenden.
Daher meine Frage ist: Wie ändere ich eine Zeichenfolge in eine Variable im Rahmen von MATLAB?
Dies bezieht dich auf das folgende Stück Code:
WingType = strcat(Airfoiltype,TwistType);
AR = Input.Surface.AR;
Sweep =Input.Surface.SweepQC;
AR_vec = [5 6 8 10];
switch WingType
case 'UncamberedUntwisted' %% ----------------------------------------------------------------------------------------------------------------------------
Data_vec =['X5' 'X6' 'X8' 'X10'];
load('UnsweptUncambered.mat')
if Sweep <= 0 || Sweep >= 50
Inflex_Ratio = 1;
elseif Sweep > 0 && Sweep < 50
if sum(ismember(AR_vec,AR)) == 1;
pos = find(ismember(AR_vec,AR)==1);
AR_data = Data_vec(pos);
interpvec1 = strcat(AR_data,'(:,1)');
interpvec2 = strcat(AR_data,'(:,2)');
Inflex_Ratio = interp1(interpvec1,interpvec1,Sweep,'linear');
end
zum Beispiel: Ich mag die Variable X5(:,1)
und X5(:,2)
erstellen. Diese sind jetzt in den Variablen interpvec1
bzw. interpvec1
gespeichert. Sie bleiben jedoch eine Zeichenfolge und ich kann sie daher nicht mit dem Befehl interp1
verwenden.
Vielen Dank!
Bitte tun Sie dies nicht. Verwenden Sie ein Zellen-Array oder eine andere Struktur, um Ihre Daten zu speichern. – Suever
@Suever Möchten Sie es erklären? Warum wird das nicht empfohlen? –
Bitte lesen Sie den verlinkten Beitrag oben. Es gibt drei Links zu der MATLAB-Dokumentation und zugehörigen Blogs, die erklären, warum es eine schlechte Idee ist. – Suever