From stuct to array
Show older comments
Hello everyone,
I have created a struct S as:
syms x1 x2 nnX1 nnX2
p1Space = linspace(0,50,10);
p2Space = linspace(0,25,10);
for i=1:10
S(i) = vpasolve(x1^2 + x2^2 - p1Space(i) == 0, x1*x2 - p2Space(i) == 0, [x1 x2]);
end
and I get an error when I perfom the following for loop in order to store specific elements into two arrays (XX1 and XX2):
for k = 1:10
XX1(k) = S(k).x1(2,1);
XX2(k) = S(k).x2(2,l);
end
When I type in the command window for example S(4).x1(2,1), the number appears on the screen, but inside the for-loop, this doesn't work. Any ideas why is this happening and how can I store these spesific values into the XX1 and XX2 arrays?
Thank you
1 Comment
Ameer Hamza
on 18 Mar 2020
You are getting this error because S(1).x1 does not have two elements. Similar is the case for S(1).x2. All the other elements of S have two elements, therefore S(4).x1(2,1) in the command window. Try S(1).x1(2,1) in the command window.
Accepted Answer
More Answers (1)
Categories
Find more on Symbolic Math Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!