Hello,
I am using Matlab for a college aplicattion where I have to read and operate about 200 vectors. My problem is that I do not know any way of coding able to do this authomatically, I mean, I wouldn't like to write the whole vectors one by one.
The way of operating is the next: I have about 100 electric voltage vectors with their respective values in time, and, in the same way, another 100 current vectors. What I want to do is get them divided one by one and put the results into another vector which shows electric resistance. Obiously, this division must be point by point.
Every vector is in the workspace and I made a little programm that doesn't seem to work at all. I have named them using a suffix so that I know which vector is everyone (V1, V2, V3 ... V100 and I1, I2, I3 ... I100).
In my code I use the function "strcat" to link my "V" and "I" vector with their respective number that I take from a for loop and then operate them, but the problem comes when I try to access these variables because they are only string names. How could I get the variable values from those strings?
Thank you a lot
Nicolás González

댓글 수: 6

Adam Danz
Adam Danz 2019년 6월 17일
"The way of operating is the next: I have about 100 electric voltage vectors with their respective values in time, and, in the same way, another 100 current vectors. What I want to do is get them divided one by one and put the results into another vector which shows electric resistance. "
If each vector is the same length, I would put all 100 voltage vectors into a matrix and all 100 current vectors into a matrix. Then you can divide the two matrices element-wise which will give you a 3rd matrix "M" where M(i,j) is the resistence of voltage(i,j) and current(i,j).
Nicolás González
Nicolás González 2019년 6월 17일
Mr. Danz,
Such an iteresting way. And yes, each vector has same length so I'm going to try that. It looks simple for my begginer level.
Thank you a lot,
Nicolás G.
Stephen23
Stephen23 2019년 6월 17일
"I have named them using a suffix so that I know which vector is everyone (V1, V2, V3 ... V100 and I1, I2, I3 ... I100)."
Do NOT do this!
Numbering variables is a sign that you are doing something wrong in your code design.
Dynamically accessing variable names is one way that beginners force themselves into writing slow, complex, obfuscated, buggy code that is hard to debug. Read this to know why:
You should use indexing (e.g. in one matrix as Adam Danz suggested). Indexing is neat, simple, easy to debug, and very efficient (unlike what you are trying to do).
Nicolás González
Nicolás González 2019년 6월 17일
Mr. Cobeldick,
I had no idea about this issue. I will try indexing every vector into its matrix and, of course, I will read the whole article in detail.
Thank you a lot for the information!
Nicolás G.
Adam Danz
Adam Danz 2019년 6월 17일
If you get stuck, you can update us where you're at here in the comment section.
Nicolás González
Nicolás González 2019년 6월 17일
Fantastic, probably I will so thanks again for your help!
Greetings!!

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

질문:

2019년 6월 17일

댓글:

2019년 6월 17일

Community Treasure Hunt

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

Start Hunting!

Translated by