Changeset 14242
- Timestamp:
- 01/14/13 11:19:27 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/qmu/dakota_out_parse.m
r14196 r14242 112 112 elseif strncmp(fline,'Moments for each response function',34) 113 113 [dresp]=moments_read(fidi,dresp,fline); 114 elseif strncmp(fline,'Moment-based statistics for each response function',50) 115 [dresp]=mbstats_read(fidi,dresp,fline); 114 116 elseif strncmp(fline,'95% confidence intervals for each response function',51) 115 117 [dresp]=cis_read(fidi,dresp,fline); 116 elseif strncmp(fline,'Probabilities for each response function',40) 118 elseif strncmp(fline,'Probabilities for each response function',40) || ... 119 strncmp(fline,'Level mappings for each response function',41) 117 120 [dresp]=cdfs_read(fidi,dresp,fline); 121 elseif strncmp(fline,'Probability Density Function (PDF) histograms for each response function',72) 122 [dresp]=pdfs_read(fidi,dresp,fline); 118 123 elseif strncmp(fline,'Simple Correlation Matrix',25) 119 124 [scm]=corrmat_read(fidi,'Simple Correlation Matrix',fline); … … 137 142 else 138 143 display(['Unexpected line: ' deblank(fline)]); 139 fline=fgetl(fidi);140 144 end 141 145 fline=fgetl(fidi); … … 316 320 end 317 321 322 %% function to find and read the moment-based statistics 323 324 function [dresp]=mbstats_read(fidi,dresp,fline) 325 326 if ~exist('fline','var') || isempty(fline) || ~ischar(fline) 327 [fline]=findline(fidi,'Moment-based statistics for each response function'); 328 if ~ischar(fline) 329 return 330 end 331 end 332 333 display('Reading moment-based statistics for response functions:'); 334 335 % skip column headings of moment-based statistics 336 337 fline=fgetl(fidi); 338 339 while 1 340 fline=fgetl(fidi); 341 if isempty(fline) 342 break; 343 end 344 [ntokens,tokens]=fltokens(fline); 345 346 % add new response function and moment-based statistics 347 348 dresp(end+1).descriptor=tokens{1}{ 1}; 349 display(sprintf(' %s',dresp(end).descriptor)); 350 dresp(end ).mean =tokens{1}{ 2}; 351 dresp(end ).stddev =tokens{1}{ 3}; 352 dresp(end ).skewness =tokens{1}{ 4}; 353 dresp(end ).kurtosis =tokens{1}{ 5}; 354 end 355 356 display(sprintf(' Number of Dakota response functions=%d.',... 357 length(dresp))); 358 359 end 360 318 361 %% function to find and read the confidence intervals 319 362 … … 336 379 end 337 380 [ntokens,tokens]=fltokens(fline); 381 382 % check for column headings in Dakota 5.2 383 384 if (ntokens == 4) 385 fline=fgetl(fidi); 386 if isempty(fline) 387 break; 388 end 389 [ntokens,tokens]=fltokens(fline); 390 end 338 391 339 392 % find response function associated with confidence intervals … … 354 407 % add confidence intervals to response functions 355 408 356 dresp(i).meanci (1,1)=tokens{1}{ 5}; 357 dresp(i).meanci (2,1)=tokens{1}{ 6}; 358 dresp(i).stddevci(1,1)=tokens{1}{12}; 359 dresp(i).stddevci(2,1)=tokens{1}{13}; 409 if (ntokens == 14) 410 dresp(i).meanci (1,1)=tokens{1}{ 5}; 411 dresp(i).meanci (2,1)=tokens{1}{ 6}; 412 dresp(i).stddevci(1,1)=tokens{1}{12}; 413 dresp(i).stddevci(2,1)=tokens{1}{13}; 414 else 415 dresp(i).meanci (1,1)=tokens{1}{ 2}; 416 dresp(i).meanci (2,1)=tokens{1}{ 3}; 417 dresp(i).stddevci(1,1)=tokens{1}{ 4}; 418 dresp(i).stddevci(2,1)=tokens{1}{ 5}; 419 end 360 420 end 361 421 … … 372 432 [fline]=findline(fidi,'Probabilities for each response function'); 373 433 if ~ischar(fline) 374 return 434 [fline]=findline(fidi,'Level mappings for each response function'); 435 if ~ischar(fline) 436 return 437 end 375 438 end 376 439 end … … 425 488 dresp(idresp).cdf(icdf,i)=tokens{1}{itoken}; 426 489 end 427 end; 490 end 491 fline=fgetl(fidi); 492 end 493 end 494 end 495 496 display(sprintf(' Number of Dakota response functions=%d.',... 497 length(dresp))); 498 499 end 500 501 %% function to find and read the pdf's 502 503 function [dresp]=pdfs_read(fidi,dresp,fline) 504 505 if ~exist('fline','var') || isempty(fline) || ~ischar(fline) 506 [fline]=findline(fidi,'Probability Density Function (PDF) histograms for each response function'); 507 if ~ischar(fline) 508 return 509 end 510 end 511 512 display('Reading PDF''s for response functions:'); 513 514 while ischar(fline) && ~isempty(fline) 515 fline=fgetl(fidi); 516 if ~ischar(fline) 517 break; 518 end 519 520 % process header line of pdf 521 522 while ischar(fline) && ~isempty(fline) 523 [ntokens,tokens]=fltokens(fline); 524 525 % find response function associated with pdf 526 527 idresp=0; 528 for i=1:length(dresp) 529 if strcmpi(tokens{1}{ 3},dresp(i).descriptor) 530 idresp=i; 531 break; 532 end 533 end 534 if ~idresp 535 idresp=length(dresp)+1; 536 dresp(idresp).descriptor=tokens{1}{ 3}; 537 display(sprintf(' %s',dresp(idresp).descriptor)); 538 end 539 540 % skip column headings of pdf 541 542 fline=fgetl(fidi); 543 fline=fgetl(fidi); 544 545 % read and add pdf table to response function 546 547 fline=fgetl(fidi); 548 ipdf=0; 549 while ischar(fline) && ~isempty(fline) && ... 550 ~strncmpi(fline,'PDF for', 7) 551 [ntokens,tokens]=fltokens(fline); 552 ipdf=ipdf+1; 553 dresp(idresp).pdf(ipdf,1:3)=NaN; 554 for i=1:3 555 dresp(idresp).pdf(ipdf,i)=tokens{1}{i}; 556 end 428 557 fline=fgetl(fidi); 429 558 end
Note:
See TracChangeset
for help on using the changeset viewer.