Need to access the structure values in numerical form and store it in an array each time the loop runs

1 Ansicht (letzte 30 Tage)
Hi all,
I am trying to access the structure values from the followign code and want to store it in the form of an array each time the loop runs. I have tried using stryct2cell and cell2mat but they give certain errors. I need the numerical values of x and y by solving the two equations.
Since I am very new to MATLAB programming, I do not much of an idea what does the structure hold in this case and how can we access the numerical values. Kindly help me.
for i = 1:127
syms x y
sol = solve([(1-x)*(1-exp(-y))+ A32T22_array(i)*(1-x)*exp(-y)+ T2T12_array(i) + R2_array(i) == 1, x + R1_array(i)*(1-x)*exp(-y) == R2_array(i), x>0, y>0], [x,y]);
R12T12_array(i) = solxy(1,1);
ad_array(i) = solxy(2,1);
end

Akzeptierte Antwort

darova
darova am 2 Aug. 2021
Make some modifications
An example
syms x y
sol = solve([5*x-y y-1])
sol = struct with fields:
x: [1×1 sym] y: [1×1 sym]
  3 Kommentare
darova
darova am 4 Aug. 2021
Looks like you have several roots
just type in the other line
sol.x
And see how many roots you have. Maybe you need something lke this:
R12T12_array = nan(127,5); % assuming max number of roots: 5
for i = 1:127
% code
n = numel(sol.x);
R12T12_array(i,1:n) = sol.x; % write roots
end
RAVI SINGH
RAVI SINGH am 5 Aug. 2021
@darova: thank you very much for your help.
Though there was a small mistake in one of the equations, however, what you suggested really helped. I also checked it for a different set of simpler equations to test it. Though I need to learn it much better, I understand a bit of it now, thanks to you.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by