Konwertuj tablicę komórek na ciąg w MATLAB
Wykonywałem pewne operacje w Strings. Mam ciąg „AGCT” w X. Zapisałem go w komórce za pomocą następującego polecenia
y(1,1)={x};
Jest teraz przechowywany w jednej komórce. Teraz chcę osobno wziąć każdą literę z łańcucha. Chcę najpierw wziąć literę „G” i tak dalej. W takim przypadku konieczna jest transformacja tablicy komórek. Jak więc ponownie przekonwertować zawartość komórki z powrotem na ciąg?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
1 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Możesz też łączyć operatory indeksowania w łańcuchy, aby uzyskać poszczególne znaki bezpośrednio z tablicy komórek. Na przykład:
Należy również pamiętać, że funkcja może przekształcić tablicę komórek zawierającą ciągi znaków w tablicę znaków 2D, łącząc ciągi w pionie, wypełniając w razie potrzeby spacje:
kiedy jest komórkową tablicą ciągów, umieszcza każdy element w ciągach . Użyj , aby przekonwertować z powrotem.
Możesz więc przekonwertować tylko całą tablicę komórek na tablicę znaków 2D za pomocą , ale myślę, że szukasz sposobu na indeksowanie poszczególnych znaków bezpośrednio z tablicy komórek, jak opisano powyżej.
A mówiąc o przekształcaniu tablicy komórek, spójrz na , którego można użyć do wykonania tej samej operacji na każdej komórce. Na przykład, jeśli masz komórkę taką jak i potrzebujesz drugiego znaku każdej komórki (tablicy znaków zawierającej ), możesz ulec pokusie zrobienia , ale to nie zadziała (pierwszy indeks musi być skalarny). Jest na to rozwiązanie: