how to subs element of strucs in a loop?

1 回表示 (過去 30 日間)
Amirhosein Ghenaati
Amirhosein Ghenaati 2016 年 1 月 26 日
回答済み: Walter Roberson 2016 年 1 月 27 日
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 件のコメント
Stephen23
Stephen23 2016 年 1 月 27 日
編集済み: Stephen23 2016 年 1 月 27 日
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.

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2016 年 1 月 27 日
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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeConstruct and Work with Object Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by