create indexes of x in a for loop
Ältere Kommentare anzeigen
Hi all, I am trying to create and save some x values in an array in a format of A=[x(2)+x(3);x(3)+x(6);x(4)+x(9)];
so I tried something like that
for i=1:3
y=@(x) x(i+1)+x(3*i);
end
however I get for each i the same expression,
y=@(x)x(i+1)+x(3*i)
Is there any way to do that?
thanks
Nikolas
Antworten (1)
It is not very clear what you are trying to achieve, but it is possible to store a function handle in a cell array:
C = cell(1,3);
for k=1:3
C{k} = @(x) x(k+1)+x(3*k);
end
Although to be honest it is not clear why you are defining a function handle at all. If x is already defined, why not just get the numeric values directly:
N = nan(1,3);
for k=1:3
N(k) = x(k+1)+x(3*k);
end
9 Kommentare
Nikolas Spiliopoulos
am 14 Nov. 2018
Nikolas Spiliopoulos
am 14 Nov. 2018
Stephen23
am 14 Nov. 2018
"I am getting an error:"
Index exceeds array bounds
Then you are trying to access an element of x that does not exist.
Solution: do not try to access elements of x that do not exist.
Nikolas Spiliopoulos
am 15 Nov. 2018
"if there is any way of indexing a variable x which value is not known."
Of course it is possible to index a variable whos value is not known:
>> A = rand(4,4); % random matrix whos values I don't know
>> A(2,3) % index into it
ans = 0.77218
Now we know that value!
But it stands to reaon that you cannot retrieve the value of an element that does not exist.
I get the feeling that you don't want indexing, but perhaps you are trying to create a function of x. It would help if you explain a little about what you are actually trying to achieve here.
Nikolas Spiliopoulos
am 15 Nov. 2018
Bearbeitet: madhan ravi
am 15 Nov. 2018
Stephen23
am 15 Nov. 2018
"anyway my problem if there is any way to do symbolic indexing"
What exactly is "symbolic indexing"?
Perhaps a simple function of x is what you are looking for... nothing to do with indexing at all.
Nikolas Spiliopoulos
am 15 Nov. 2018
Kategorien
Mehr zu Matrix Indexing finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!