how to subs element of strucs in a loop?

1 Ansicht (letzte 30 Tage)
Amirhosein Ghenaati
Amirhosein Ghenaati am 26 Jan. 2016
Beantwortet: Walter Roberson am 27 Jan. 2016
i want to write a program to solve indefinite eqs. answers are located in sol(struct) e.g sol.x1 mean x1 and etc cause number of variable is unknown and they are assigned to symbolic variable(z), I must substitude z with 1 my problem is define a for loop to write following code because I cant define sol.x(i) in a loop
sol=solve(EQ==0)
subs(sol.x1,z,1)
subs(sol.x2,z,1)d
  1 Kommentar
Stephen23
Stephen23 am 27 Jan. 2016
Bearbeitet: Stephen23 am 27 Jan. 2016
Amirhosein Ghenaati's "Answer" moved here:
how can i make a n*n matrix K which has symbolic class and contains all symbolic elements as k11 k12...k1n.I can't obtain K with a for loop
@Amirhosein Ghenaati: please use the comment fields for writing comments.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 27 Jan. 2016
K = sym('k', n, n)
varnames = fieldnames(sol);
numvars = length(varnames);
solz = struct();
for K = 1 : numvars
thisvar = varnames{K};
solz.(thisvar) = subs(sol.(thisvar), z, 1);
end

Weitere Antworten (0)

Kategorien

Mehr zu Construct and Work with Object Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by