Finding category/string in table and converting values

Alright so I'm having trouble knowing how to write a script to convert values.
Basically, I want to 1) Read in a file or Access a table 2) Find all the instances in the rows of the table with the string "CBEAM" 3) In said row, go to the 4th column and multiply that number by 0.5 4) Find all instances in the rows of the table with the string "CQUADR" 5) In said row, go to the 6th column and multiply that number by 0.6
So I can envision lots of if, then statements, which is totally fine. But I really don't know how to get started or what to write at all. Can anyone help

 Risposta accettata

Don't do that. Assume T is your data stored in a table containing a categtorical variable named SomeVarName whose categories are 'CBEAM' 'CQUADR', ... . Then
i = (T.SomeVarName == 'CBEAM');
T.SixthVarName(i) = .5 * T.SixthVarName(i);
etc.

3 Commenti

And if you don't have your data stored in a table containing a categorical variable, can you show us in a bit more detail about how you read your file into MATLAB (ideally along with a SMALL sample of the file or description of how your data is stored in your Access database)?
If you can there may be a different way to import or organize your data inside MATLAB that may make the four steps you want to perform after "Read in a file or Access a table" easier.
Thanks Steven, this works well! I didn't realize it was that simple. I'll let you know if I have any further questions later.
Ran into an issue. So I have this 'PBEAM' info on two lines, with commas indicating new columns.
PBEAM,46,1,3.8750077499845,1.251e+00,1.251e+00,,1.001e+01,,+C1
+C1,0.9842519685,0.9842519685,-0.9842519685,0.9842519685,0.9842519685,-0.9842519685,-0.9842519685,-0.9842519685
In matlab, I can find the word 'PBEAM' go to the 4th column and replace the value by multiplying the value with a constant. However, it can't find the next line. EVEN if it did, the constant I multiply with is different, yet falls under the same column as the line above. Not sure how to solve this issue.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by