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

4 visualizzazioni (ultimi 30 giorni)
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 Commento
Azzi Abdelmalek
Azzi Abdelmalek il 29 Lug 2014
Modificato: Azzi Abdelmalek il 29 Lug 2014
There is no simpler way. I think also that you tried what you are asking about and it didn't work

Accedi per commentare.

Risposta accettata

Image Analyst
Image Analyst il 29 Lug 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 Commenti
Image Analyst
Image Analyst il 29 Lug 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 il 29 Lug 2014
Great, thanks for the answer. Just thought I'd check.

Accedi per commentare.

Più risposte (1)

Michael Haderlein
Michael Haderlein il 29 Lug 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 Commenti
Image Analyst
Image Analyst il 29 Lug 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 il 30 Lug 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.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by