What is the syntax to access a particular member in an array?

3 vues (au cours des 30 derniers jours)
Rainer
Rainer le 29 Juil 2014
Hi, I have an array x=[1 2 3 4 5].
I then manipulate x, e.g. (A*x/B+C-D)...How can I determine the third member of the manipulated array?
This works but i feel there is a simpler way:
temp=(A*x/B+C-D);
temp(3)
Is there a way to do something like
(A*x/B+C-D)(3)?
  1 commentaire
Azzi Abdelmalek
Azzi Abdelmalek le 29 Juil 2014
Modifié(e) : Azzi Abdelmalek le 29 Juil 2014
There is no simpler way. I think also that you tried what you are asking about and it didn't work

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 29 Juil 2014
No other way. You're doing it correctly. That (temp(3)) is about as simple as it gets. What do you want - just a single character? You will write programs that are thousands of lines long, and referring to temp(3) is so so very trivial in comparison to the rest of your program that you should not worry about it.
  2 commentaires
Image Analyst
Image Analyst le 29 Juil 2014
By the way, I think the alternate way you suggested is more confusing/ambiguous/deceptive. Someone might think you wanted to multiply that expression by the number 3. The first way is much more explicit and obvious what you meant and memory is cheap and plentiful so don't worry about using a few dozen or a few million more elements.
Rainer
Rainer le 29 Juil 2014
Great, thanks for the answer. Just thought I'd check.

Connectez-vous pour commenter.

Plus de réponses (1)

Michael Haderlein
Michael Haderlein le 29 Juil 2014
Actually, I sometimes also don't want to assign some intermediate result to an extra variable. Tucker McClure has included a function in his collection of functional programming constructs which I use in this case:
>> x=1:5;
>> paren(x.^2,3)
ans =
9
  3 commentaires
Image Analyst
Image Analyst le 29 Juil 2014
Just gives an error for me:
>> x=1:5;
>> paren(x.^2,3)
Attempt to execute SCRIPT paren as a function:
C:\Program Files (x86)\MATLAB\R2014a\toolbox\matlab\ops\paren.m
Michael Haderlein
Michael Haderlein le 30 Juil 2014
Have you downloaded the collection I have linked? According to your error message, Matlab doesn't find the paren function.
Even if you don't want to use this particular function: there are lots of helpful little functions included, it's really worth a look in my opinion.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by