フィルターのクリア

How to read values from 'Parameters' in a .ssc file?

5 ビュー (過去 30 日間)
Paola Martin
Paola Martin 2023 年 4 月 4 日
コメント済み: Mathieu NOE 2023 年 4 月 11 日
I am making a code where I would like to read from a component called 'source.ssc', the values that are included in the parameters section. The structure of the *.ssc file kind of looks like this:
component liquid_source
nodes
%%
%%
end
annotations
%
end
parameters
p = {0.01, 'Pa'};
T = {30, 'C' };
end
variables
%
%
end
branches
%
%
end
equations
$$
end
end
My system is called filler and I have tried to call the parameters from the block with get_param('filler/source','DialogParameters') which shows me all the data, but I would like only those in the parameters section. I have read that you can use readSSCfile but my Matlab does not recognize it. I have version 2022b update 5 with simulink and simscape.
  2 件のコメント
Stephen23
Stephen23 2023 年 4 月 5 日
@Paola Martin: please upload a sample data file by clicking the paperclip button.
Paola Martin
Paola Martin 2023 年 4 月 7 日
i uploaded the file, thanks for the suggestion and sorry for the delay.

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

採用された回答

Mathieu NOE
Mathieu NOE 2023 年 4 月 5 日
hello
maybe this can help you
the output is a structure (size depends of number of variables in your ssc file
here we get :
>> out(1) =
struct with fields:
name: 'p'
value: 0.0100
units: 'Pa'
>> out(2) =
struct with fields:
name: 'T'
value: 30
units: 'C'
code :
D=readlines('source.ssc'); % read as string array
ixP1=find(contains(D,'parameters')); % find the start line
ixP2=find(contains(D,'end')); % find the stop line
ixP2=ixP2(ixP2>ixP1);
ixP2=ixP2(1);
lines = ixP1+1:ixP2-1; % number lines
for ck=1:numel(lines)
tmp = D(lines(ck));
out(ck).name = char(strtrim(extractBefore(tmp,'=')));
out(ck).value = str2double(extractBetween(tmp,'{',','));
out(ck).units = char(strtrim(extractBetween(tmp,'''','''')));
end
  3 件のコメント
Paola Martin
Paola Martin 2023 年 4 月 7 日
It worked, thanks. What I didn't notice is that the file has two 'parameters' sections. Also is it possible to read the comments in the file or should I open another section to ask?
Mathieu NOE
Mathieu NOE 2023 年 4 月 11 日
hello
I can work on this without any extra charge :)
but maybe the file structure I used in the previous code is missing that second parameter section and also the comments section
how should the new *.ssc file look like then ?

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeFoundation and Custom Domains についてさらに検索

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by