How do I associate specific values to specific verbiage?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Brad
el 9 de Oct. de 2013
Editada: John Kelly
el 18 de Nov. de 2024 a las 15:01
I've got 2 arrays: A = [1; 2; 3; 1; 2; 3]; and B = [ ];
I need array B to contain [Lost; Found; Unk; Lost; Found; Unk] based on the values found in A.
I'm using the find function to locate the indices of the values 1, 2, and 3. But I'm not sure what to do next.
Any ideas are appreciated. Thanks.
0 comentarios
Respuesta aceptada
Azzi Abdelmalek
el 9 de Oct. de 2013
A = [1; 2; 3; 1; 2; 3]
v={'Lost'; 'Found'; 'Unk'}
B=v(A)
4 comentarios
Más respuestas (1)
Karen
el 23 de Sept. de 2024
Editada: John Kelly
el 18 de Nov. de 2024 a las 15:01
To achieve the desired transformation of array A into array B, you can use a combination of the find function and logical indexing in MATLAB. Here’s a step-by-step solution:
matlab
Copy code
A = [1; 2; 3; 1; 2; 3];
B = strings(size(A)); % Initialize B as a string array of the same size as A
% Find indices for each value in A
index1 = find(A == 1);
index2 = find(A == 2);
index3 = find(A == 3);
% Assign the corresponding strings to the indices
B(index1) = "Lost";
B(index2) = "Found";
B(index3) = "Unk";
% Display the result
disp(B);
Here’s how it works:
- Initialization: We initialize B as a string array with the same size as A.
- Finding Indices: Using the find function, we locate the indices of elements in A that are equal to 1, 2, and 3.
- Assigning Values: We assign the corresponding string values ("Lost", "Found", "Unk") to the respective indices in B.
- Displaying Result: Finally, we display the resulting array B.
The output will be:
matlab
Copy code
6×1 string array
"Lost"
"Found"
"Unk"
"Lost"
"Found"
"Unk"
0 comentarios
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!