Removing Rows from Character Vector?

2 vues (au cours des 30 derniers jours)
Justin Alexander
Justin Alexander le 20 Juin 2019
The character vector Materials is a single column, 40 row vector with the names of the necessary materials.
The numeric vector Inventory is a single column, 40 row vector with the amount of each material in stock.
The numeric vector Needed is a single column, 40 row vector with the amount of each material we require.
The numeric vector Defecit is a single column, 40 row vector with the amount of each material we lack.
In order to parse down the final product to show just the rows of materials that we need to order, I wrote the following bit of code
DF = all (Deficit > 0 , length(Deficit)) %DF is a column vector the same length as Deficit that has a 1 if we need to order, a 0 if we do not.
DefecitFinal = Defecit(DF,:) %Similar code for the other numeric vectors to provide just the rows that we need to order
MaterialsFinal = Materials(DF,:) %Provides an error message
I feel like theres a really simple way that i'm just not familiar with to adjust the Materials data as well.
  2 commentaires
KALYAN ACHARJYA
KALYAN ACHARJYA le 20 Juin 2019
Please explain the question in simple maths way, not as per your subjects.
What you have?
What result you are expecting?
Justin Alexander
Justin Alexander le 20 Juin 2019
There’s a column of materials.
There’s a column of 0’s and 1’s.
I need only the materials next to 1’s.

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 20 Juin 2019
Modifié(e) : Matt J le 20 Juin 2019
Works fine for me,
Materials=["Iron";"Steel";"Wood";"Cheese"];
DF=logical([1 0 0 1].');
>> MaterialsFinal = Materials(DF)
MaterialsFinal =
2×1 string array
"Iron"
"Cheese"
  1 commentaire
Justin Alexander
Justin Alexander le 20 Juin 2019
Modifié(e) : Justin Alexander le 20 Juin 2019
I’ll give it another go then trying that once I get back. Thanks for the heads up.
UPDATE:
So i don't have DF as a logic array which is causing the problem. I'll try getting it as one brb.
SOLVED:
Yup, inserting the line
DF=logial(DF) ;
sovled the issue! Thanks!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by