Визуализировать экспорт из COMSOL Multiphysics в MATLAB? - PullRequest
0 голосов
/ 13 октября 2019

Я экспортировал .txt-файл в COMSOL Multiphysics и хотел бы визуализировать его в MATLAB. Получил файл M.file / скрипт от друга, но не заставил его работать с моим экспортированным .txt-файлом.

Получение следующего сообщения об ошибке в MATLAB:

Index exceeds the number of array elements (2).

Error in Extract_COMSOL (line 22)
    z = str2num(line(ndSP(2)+1:ndSP(3)));

M-файл:

clear
folderName = 'C:\Users\erf\Documents\Exported_COMSOL';
cd(folderName)

fid = fopen('EdgeData__1700mm.txt')
for I=1:1:9
    line = fgetl(fid);
end
I = find(line=='=');
freq = str2num(line(66:end));
PA = [];
FI = [];
n=1;

while ~feof(fid)
    line = fgetl(fid);
    SP = isspace(line);
    dSP = diff(SP);
    ndSP = find(dSP~=0);
    r = str2num(line(1:ndSP(1)+1));
    z = str2num(line(ndSP(2)+1:ndSP(3)));
    Pa1 = line(ndSP(4)+1:end);
    plus = find(Pa1=='+' | Pa1=='-');
    plus = plus(end);
    Pa2 = str2num(Pa1(1:plus-1));
    Pa3 = str2num(Pa1(plus+1:end-1));
    Pa = sqrt(Pa2^2+Pa3^2);
    fi = atan(r/z)*180/pi;
    if fi<0
        fi = fi+180;
    end
    FI = [FI fi];
    disp(max(size(FI)))
    PA = [PA Pa];
    disp(max(size(PA)))
    n = n+1;
end
fclose(fid)
PAPA = [20*log10(PA*1e6),20*log10(PA*1e6)]
max(PAPA)
% 1.5 10300 121.7 - 2 123.1 -  110.2 - 2.5 10900 124.6 - 4mm 11700 114.5  -
% 2.5mm 10870Hz 126.2 dB
%%
[FI, I] = sort(FI); 
% FI = FI(1:end-1); % special for 1.5-error
PA = PA(I);

disp(['DONE'])

%%

% plot(FI,PA,'.')
figure(10); clf
polarplot(FI*pi/180,PA.^2./max(PA.^2))
title('10870 Hz')
print TR10700Hz25mmpolar -dpng
figure(20); clf
FIFI = [-FI,FI];
PAPA = [20*log10(PA*1e6),20*log10(PA*1e6)]
plot(FIFI,PAPA,'.')
title('10700 Hz')
print TR10700Hz25mmxy -dpng

max(PAPA)

%%

И текстовый файл (EdgeData__1700mm.txt), экспортированный в COMSOL, который я пытаюсь визуализировать:

% Model:              1700mm_Water.mph
% Version:            COMSOL 5.4.0.388
% Date:               Oct 13 2019, 11:42
% Dimension:          2
% Nodes:              149
% Expressions:        0
% Description:        
% Length unit:        mm
% r                       z
1700.0000000000002        -4.163799117101001E-13
1699.6170229119728        -36.08289661103763
1698.4682716284349        -72.14936085314768
1696.5542558009954        -108.18344200260644
1693.8758169111825        -144.16905660880994
1690.4341404097322        -180.09002453553626
1686.2307639816431        -215.93010582567052
1681.2675818931866        -251.67303803752705
1675.5468454046138        -287.302573700007
1669.0711592598288        -322.80251753518246
1661.8434742915483        -358.1567631004564
1653.8670762072104        -393.349328508154
1645.145570646869         -428.3643908881653
1635.6828646293545        -463.18631926894034
1625.4831445268146        -497.7997055636116
1614.5509754909979        -532.1890148632041
1602.891341632592         -566.3385444407514
1590.5094829381328        -600.2329420182419
1577.4109811119838        -633.8569212900716
1563.6017510275076        -667.1952968836877
1549.0880282146074        -700.2330189602453
1533.8763527552028        -732.955206310998
1517.9735597975784        -765.3471576712541
36.083108151277266        -1699.6170184209573
0                         -1700.0000000000002
1501.3868255398233        -797.3942563722488
72.14996970517421         -1698.4682457648548
1484.123599638509         -829.0821075116951
108.18435623936914        -1696.5541975030076
1466.1916533024369        -860.3964410585784
144.1700121815242         -1693.875735580264
1447.5990794307954        -891.3231205523131
180.09069157970617        -1690.4340693461972
1428.354276715017         -921.8481763229346
215.93019473650298        -1686.2307525961733
1408.4659303327555        -951.9578368246592
251.6724026271935         -1681.2676770091834
1387.9429894149437        -981.6385577868821
287.30120643455814        -1675.5470798462359
1366.794682465959         -1010.8769934976154
322.8005806608642         -1669.0715338549783
1345.030547003764         -1039.6599576913384
358.1545496551934         -1661.843951326744
1322.6603567687039        -1067.9745224641292
393.34716153308415        -1653.867591590653
1299.6941918031075        -1095.8079246808115
428.3625247101126         -1645.1460565627533
1276.142422482257         -1123.147593836677
463.18484373097976        -1635.6832824657433
1252.0156875662594        -1149.9811816234153
497.7984540561679         -1625.483527796972
1227.324869255907         -1176.2965890054984
532.1877723827273         -1614.5513850374382
1202.0810654847317        -1202.0819905493527
566.3373109317107         -1602.8917774593015
1176.2956445154516        -1227.3257744763525
600.231718036222          -1590.509944848911
1149.980218131429         -1252.016572536638
633.8557073876373         -1577.4114688983716
1123.1466117765635        -1276.1432868039647
667.1940936091102         -1563.6022644691704
1095.8069244958774        -1299.6950350858801
700.2318268562732         -1549.0885670798575
1067.9735046062438        -1322.6611786315714
732.9540259136872         -1533.8769168016447
1039.658922619904         -1345.0313470759036
765.3459895119921         -1517.974148771286
1010.8759416784552        -1366.7954603874336
797.3931009769983         -1501.387439175607
981.6374896923962         -1387.9437448363717
951.9567529370893         -1408.466662913068
829.0809653998007         -1484.1242376606262
860.3953127451639         -1466.192315423237
891.3220065470468         -1447.5997653512336
921.8470771288578         -1428.3549861252914
5.204748896376249E-13     1700.0000000000002
36.08289661103773         1699.6170229119728
72.14936085314778         1698.4682716284349
108.18344200260658        1696.5542558009954
144.16905660881008        1693.8758169111825
180.09002453553632        1690.4341404097322
215.93010582567075        1686.230763981643
251.67303803752722        1681.2675818931864
287.3025737000073         1675.5468454046136
322.80251753518274        1669.0711592598284
358.15676310045654        1661.843474291548
393.34932850815414        1653.8670762072097
428.3643908881654         1645.1455706468687
463.18631926894045        1635.6828646293545
497.79970556361195        1625.4831445268146
532.1890148632042         1614.5509754909976
566.3385444407517         1602.8913416325922
600.2329420182423         1590.5094829381328
633.8569212900716         1577.4109811119838
667.1952968836879         1563.6017510275076
700.2330189602453         1549.0880282146074
732.9552063109982         1533.8763527552026
765.3471576712545         1517.9735597975782
797.394256372249          1501.3868255398236
829.0821075116954         1484.123599638509
860.3964410585788         1466.1916533024362
891.3231205523131         1447.5990794307954
921.848176322935          1428.3542767150168
951.9578368246592         1408.4659303327555
981.6385577868825         1387.9429894149434
1010.876993497616         1366.7946824659587
1039.6599576913388        1345.0305470037638
1067.9745224641304        1322.6603567687034
1095.8079246808122        1299.6941918031073
1123.1475938366773        1276.1424224822567
1149.9811816234153        1252.0156875662592
1176.296589005499         1227.3248692559068
1202.0819905493524        1202.0810654847312
1227.325774476353         1176.2956445154514
1252.0165725366385        1149.9802181314287
1276.143286803965         1123.1466117765626
1299.6950350858806        1095.806924495877
1322.6611786315716        1067.9735046062435
1345.0313470759043        1039.6589226199037
1366.7954603874336        1010.875941678455
1387.9437448363722        981.6374896923959
1408.4666629130686        951.9567529370887
1428.3549861252914        921.8470771288577
1447.599765351234         891.3220065470464
1466.1923154232368        860.395312745163
1484.124237660627         829.0809653998001
1501.3874391756074        797.3931009769979
1517.974148771286         765.345989511991
1533.8769168016445        732.9540259136861
1549.0885670798577        700.2318268562725
1563.6022644691707        667.1940936091098
1577.411468898372         633.8557073876368
1590.509944848911         600.2317180362218
1602.891777459302         566.3373109317104
1614.5513850374386        532.187772382727
1625.483527796972         497.79845405616754
1635.6832824657436        463.18484373097914
1645.1460565627535        428.36252471011227
1653.8675915906529        393.3471615330836
1661.843951326744         358.1545496551931
1669.0715338549783        322.8005806608637
1675.5470798462354        287.3012064345576
1681.2676770091837        251.67240262719315
1686.2307525961735        215.93019473650233
1690.4340693461968        180.09069157970552
1693.875735580264         144.17001218152362
1696.5541975030076        108.18435623936848
1698.4682457648546        72.14996970517356
1699.617018420957         36.083108151276626
...