Zaloguj się
Blog na Matlab.pl
Forum polskich użytkowników
 
UŻYTKOWNICY GRUPY PROFIL Zaloguj się, by sprawdzić wiadomości FAQ
 



Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Symulacja powtarzalnych pomiarów - puste wykresy Idź do strony 1 2  Następny
Forum MATLAB Strona Główna-> Przetwarzanie obrazów, grafika
Post Wysłany: 5 Styczenia 2017, Czw 10:16 pm Temat postu: Symulacja powtarzalnych pomiarów - puste wykresy Odpowiedz z cytatem
 
AUTOR:
maladie001
Początki pisania


Dołączył: 05 Sty 2017
Posty: 9


Ogląda profil użytkownika Wyślij prywatną wiadomość
Witam,
w prostym przepisywaniu skryptu z książki napotkałam problem. Na starcie chciałam zaznaczyć, że zaczynam przygodę z MatLabem. Plik, z którym jest problem to components.m Początkowo wgrywany jest plik uzyskany z kamery termowizyjnej *.img (G1215-02.img). Następnie dodane są parametry:
temperatura obiektu - 330 K
emisyjność - 1
temperatura otoczenia - 295 K
temperatura atmosferyczna - 295K
wilgotność powietrza - 0.31
odległość od kamery - 1m
Liczba powtórzeń - 100

wprowadzone też są minimalne i max niepewności dla każdej z tych wartości:
emisyjność: min 0%, max 30%
temp. ot.: min 0%, max 3%
temp. atm.: min 0%, max 3%
wilgotność: min 0%, max 30%
odległość: min 0%, max 30%

korzystając z pliku plotcomponents.m wygenerowane powinny zostać wykresy błędów uzyskanej temperatury od błędów danego parametru. Niestety, mimo faktu, że nie wyskakują żadne błędy w skryptach a same okna, na których powinny być wykresy się wyświetlają, to brak na nich krzywych.

Czy byłby ktoś w stanie przeanalizować te skrypty i wskazać błędy? Będę wdzięczna za wszelką pomoc Smile

Niezbędne pliki znajdują się na koncie dropbox (niestety wystąpił problem aby dodać je bezpośrednio na forum)

https://www.dropbox.com/sh/8u5s6idu4jjvh9w/AAAkszFn7fWjrb1gmHcRdY0wa?dl=0


 

Post Wysłany: 6 Styczenia 2017, Pią 5:09 pm Temat postu: Kłopoty ze skryptem `components.m` Odpowiedz z cytatem
 
AUTOR:
Jacek Konieczny
Może pisać książki


Dołączył: 31 Mar 2009
Posty: 315
Skąd: Poznań


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Skrypt `components.m` korzysta z kilku funkcji "zewnętrznych", które też warto byłoby zamieścić na DROPBOX, aby móc zrozumieć działanie skryptu głównego. Mam tu na myśli takie funkcje jak : 'loadimgheader.m' oraz
'temptosignal.m' ; zwłaszcza wątpliwości budzi nazwa tej funkcji : czy na pewno 'loadimgheader', a może miało być 'loadingheader' ?


 

Post Wysłany: 6 Styczenia 2017, Pią 7:31 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
maladie001
Początki pisania


Dołączył: 05 Sty 2017
Posty: 9


Ogląda profil użytkownika Wyślij prywatną wiadomość
Brakujące pliki uzupełnione Smile

Nazwa tamtego pliku to mimo wszystko loadimgheader.m

https://www.dropbox.com/sh/8u5s6idu4jjvh9w/AAAkszFn7fWjrb1gmHcRdY0wa?dl=0


 

Post Wysłany: 6 Styczenia 2017, Pią 9:56 pm Temat postu: Zewnętrzne pliki funkcyjne Odpowiedz z cytatem
 
AUTOR:
Jacek Konieczny
Może pisać książki


Dołączył: 31 Mar 2009
Posty: 315
Skąd: Poznań


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Dobrze byłoby udostępnić wszystkie pliki funkcyjne ( pliki z funkcjami 'zewnętrznymi' ), z których korzysta ten program. Dlatego warto byłoby udostęonić pliki z funkcjami : `estlogpars` oraz `estunifrpars`.
A jeszcze lepiej byłoby załączyć plik - raport z przebiegu uruchamiania owego skryptu. Plik taki można utworzyć przy pomocy funkcji o nazwie
'diary'. Jako argument funkcji 'diary' podaje się proponowaną nazwę pliku,
do którego zostanie zapisana kopia zawartości ekranu Matlaba ( ekranu 'Command Window' ). Zatem do tego pliku zostaną zapisane zarówno nasze komendy, jak i odpowiedzi Matlaba ( w tym - komunikaty Matlaba o błędach ). Jeżeli błąd programu mieści się wewnątrz którejś z funkcji, Matlab to zasygnalizuje odpowiednim komunikatem. Zatem z tego pliku - raportu będzie łatwo zorientować się, w czym tkwi zródło kłopotów.


 

Post Wysłany: 6 Styczenia 2017, Pią 10:17 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
maladie001
Początki pisania


Dołączył: 05 Sty 2017
Posty: 9


Ogląda profil użytkownika Wyślij prywatną wiadomość
Mam nadzieję, że teraz są już udostępnione wszystkie pliki.

https://www.dropbox.com/sh/q972ubwffeg02j7/AADPzTw7SxMcVxQSEteRXv9va?dl=0


 

Post Wysłany: 7 Styczenia 2017, Sob 12:51 am Temat postu: Przesłane pliki Odpowiedz z cytatem
 
AUTOR:
Jacek Konieczny
Może pisać książki


Dołączył: 31 Mar 2009
Posty: 315
Skąd: Poznań


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Starałem się ściągnąć wszystkie pliki, ale nie wszystkie mnie się udało. Przede wszystkim nie udało mnie się ściągnąć "właściwego" pliku typu 'diary' ; piszę "właściwego", ponieważ ściągnąłem plik o nazwie 'components1.txt' , w którym widnieje tylko jeden zapis : "diary ('plotcomponents')". Rozumiem, że właściwy plik 'diary' to plik o nazwie `plotcomponents` ( ewentualnie z rozszerzeniem 'txt' ). Niestety takiego pliku nie oferował Dropbox. Ponadto nie udało mnie się ściągnąć niektórych plików funkcyjnych ; zwłaszcza brakuje pliku o nazwie 'readimgdatablock.m' ; z tej funkcji korzysta dość często funkcja 'loadimgheader'. Zatem bez funkcji 'readimgdatablock' nie sposób zrozumieć działania funkcji 'loadimgheader'.


 

Post Wysłany: 7 Styczenia 2017, Sob 10:12 am Temat postu: Odpowiedz z cytatem
 
AUTOR:
maladie001
Początki pisania


Dołączył: 05 Sty 2017
Posty: 9


Ogląda profil użytkownika Wyślij prywatną wiadomość
Myślę że tym razem udało się zamieścić wszystkie potrzebne pliki.
https://www.dropbox.com/sh/q972ubwffeg02j7/AADPzTw7SxMcVxQSEteRXv9va?dl=0

Gdyby znów wystąpił problem z pobraniem pliku:


Kod:
function y = readimgdatablock(name, start, adress, ...
typeOfAdress, typeOfData)
%
READIMGDATABLOCK Reads single typed value from the *.img file
% Y = READIMGDATABLOCK(NAME, START, ADRESS,
%
TYPEOFADRESS, TYPEOFDATA)
%
%
NAME - File name
% START - Starting block address
% ADRESS - Data address relative to
% starting block
% address
% TYPEOFADRESS - Data address type:
%    (
0) - hexadecimal,
% (
1) - decimal
% TYPEOFDATA - Data type: ’f’ - float32, ’lu’ - uint32,
%
’l’ - int32, ’s’ - uint16
%
%
Copyright Feb, 2008 by Sebastian Dudzik.
fid = fopen(name,'r','b');
if
typeOfAdress == 0
adres
= start+hex2dec(adress);
else
adres=adress+start;
end
if typeOfData == 'f'
status = fseek(fid,adres,'bof');
[
y,count] = fread(fid,1,'float32');
elseif
typeOfData == 'lu'
status = fseek(fid,adres,'bof');
[
y,count] = fread(fid,1,'uint32');
elseif
typeOfData == 'l'
status = fseek(fid,adres,'bof');
[
y,count] = fread(fid,1,'int32');
elseif
typeOfData == 's'
status = fseek(fid,adres,'bof');
[
y,count] = fread(fid,1,'uint16');
end
status
= fclose(fid);
%
End of READIMGDATABLOCK


 

Post Wysłany: 7 Styczenia 2017, Sob 4:13 pm Temat postu: Przesłane pliki Odpowiedz z cytatem
 
AUTOR:
Jacek Konieczny
Może pisać książki


Dołączył: 31 Mar 2009
Posty: 315
Skąd: Poznań


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Tym razem odebrałem ( prawie wszystkie ) pliki. Przede wszystkim odebrałem plik funcyjny `readimgdatablock`. Niestety nie udało się odebrać pliku o nazwie `plotcomponents` ( z rozszerzeniem `txt` ? ). Plik na Dropboxie jest pusty, tk. liczy 0 bajtów. Domyślam się, że miał to być plik typu 'diary'. Aby poprawnie zarejestrować taki plik, należy wykonać :

diary plotcomponents.txt

diary ( 'plotcomponents.txt' )

Potem uruchomić testowany program i ewentualnie pouruchamiać osobno
poszczególne funkcje. Na zakończenie należy dać polecenie :

diary off

I w tym momencie plik - dziennik ( plik - raport ) powinien się zamknąć.
Na wszelki wypadek można też dolożyć polecenie :

close all

Po wykonaniu tych komend końcowych możem mieć pewność, że plik 'diary' został zamknięty i nie będzie miał zerowej długości.


 

Post Wysłany: 7 Styczenia 2017, Sob 4:55 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
maladie001
Początki pisania


Dołączył: 05 Sty 2017
Posty: 9


Ogląda profil użytkownika Wyślij prywatną wiadomość
Wykonałam ten raport wg powyższych poleceń. Obawiam się, że błąd występuje w plotcomponents.m, bo wykresy się wyświetlają, jednak bez krzywych. W samym raporcie jednak nie jest to uwzględniane.

Dziękuję za poświęcony czas, przepraszam też za lekkie roztargnienie, ale tak jak wspominałam jest to pierwsza rzecz jaką wykonuję w tym programie i mam nadzieję, że ten raport coś pomożeSmile

https://www.dropbox.com/s/kglj6b6sfrmm5ex/plotcomponents.txt?dl=0


 

Post Wysłany: 7 Styczenia 2017, Sob 9:22 pm Temat postu: Pierwsze wnioski Odpowiedz z cytatem
 
AUTOR:
Jacek Konieczny
Może pisać książki


Dołączył: 31 Mar 2009
Posty: 315
Skąd: Poznań


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Dziękuję za przesłanie pliku 'diary'. Dzięki niemu przekonałem się, że wykonanie skryptu 'components.m' odbywa się bez przeszkód. Domyślam się, że wpierw ma być wykonany program `components.m` , który dokonuje pewnych obliczeń, a następnie uruchamia się program 'plotcomponents.m', który sporządza wykresy ( w domyśle : na podstawie uprzednio wykonanych obliczeń ). Rzecz w tym, że program 'plotcomponents.m' nie ma skąd pobrać danych to wyświetlania ! Wezmy pod uwagę zmienne, które są argumentami funkcji 'plot' w programie 'plotcomponents.m', np. zmienne : `emissUn/emiss` , `emissStdRel` , `tAmbUn/tAmb` czy `tAmbStdRel`. Rzecz w tym, że program `plotcomponents.m` w żadnym miejscu nie pyta o te zmienne. ; w skrypcie `plotcomponents.m` nie występują funkcje : 'input',
'inputdlg' czy inne, które mogą służyć do wprowadzenia danych. Te funkcje nie są niezbędne, zmienne do wyświetlania mogłyby być wygenerowane jako zmienne globalne przez wcześniej uruchomiony program 'components.m` ; rzecz jednak w tym, że zmienne odpowiadające rzędnym ( czyli `emissStdRel" czy `tAmbStdRel` ) są generowane w programie `components.m` jako skalary ( tj. pojedyncze liczby ). Takim zmiennym odpowiadać mogą jedynie pojedyncze punkty na wykresie. Aby móc sporządzić "prawdziwy" wykres, zmienne te powinny być wektorami ( tablicami ).


 

Post Wysłany: 7 Styczenia 2017, Sob 9:29 pm Temat postu: Jeszcze jedno spostrzeżenie Odpowiedz z cytatem
 
AUTOR:
Jacek Konieczny
Może pisać książki


Dołączył: 31 Mar 2009
Posty: 315
Skąd: Poznań


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Proszę ewentualnie sprawdzić typ i rodzaj wymienionych przeze mnie zmiennych przy pomocy funkcji : `whos` oraz `size`. Sam tego nie sprawdzę, ponieważ na komputerze domowym nie ma oryginalnego Matlaba ( tylko jego darmowe zamiennki ), a tych plików - skryptów jest zbyt dużo, aby wszystkie przerabiać do pakietu `Octave` lub do pakietu `Scilab`.


 

Post Wysłany: 7 Styczenia 2017, Sob 10:07 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
maladie001
Początki pisania


Dołączył: 05 Sty 2017
Posty: 9


Ogląda profil użytkownika Wyślij prywatną wiadomość
Stsrsm się lepiej zrozumieć program, x tego co widze zmienna np emissStd i emissStdRel są liczone w pliku components.m w wierszach 264,265.

Spróbowałam przeprowadzić raz jeszcze program i oto wynik :
Kod:
****************************************
* *
*
Calculation of components of the *
*
combined standard uncertainty *
*
of the object temperature *
* for
FLIR ThermaCAM infrared cameras *
* *
****************************************
 
***
FILE NAME AND MEASURED TEMPERATURE BLOCK ***
 
Name of *.img recorded file:(must be in the same dir): g1215-02.img
Value of measured temperature
(K):333
 
*** REFERENCE CONDITIONS BLOCK ***
 
Value of emissivity: 1
Value of ambient temperature
(K): 295
Value of temperature of atmosphere
(K): 295
Value of relative humidity
: 0.31
Value of camera
-to-object distance (m): 1
 
*** RANGES OF THE STANDARD UNCERTAINTIES OF INPUT VARIABLES BLOCK ***
 
Minimum uncertainty of emissivity (%): 0
Maximum uncertainty of emissivity
(%): 30
Minimum uncertainty of ambient temperature
(%): 0
Maximum uncertainty of ambient temperature
(%): 3
Minimum uncertainty of temperatureof atmosphere
(%): 0
Maximum uncertainty of temperature of atmosphere
(%): 3
Minimum uncertainty of relative humidity
(%): 0
Maximum uncertainty of relative humidity
(%): 30
Minimum uncertainty of camera
-to-object distance (%): 0
Maximum uncertainty of camera
-to-object distance (%): 30
Number of simulation points
: 100
 
*** THE DISTRIBUTIONS OF THE INPUT RANDOM VARIABLES BLOCK ***
 
1 - Lognormal distribution
2
- Uniform distribution
 
Enter type of distribution
(1/2): 2
>> plotcomponents
>> who

Your variables are
:

a                   emissComponent      humRelDistribution  maxTAtmUn           tAmbComponent       tAtmStdRel         
b                   emissDistribution   humRelStd           minDistUn           tAmbDistribution    tAtmUn             
dist                emissStd            humRelStdRel        minEmissUn          tAmbStd             tObject             
distComponent       emissStdRel         humRelUn            minHumRelUn         tAmbStdRel          typeOfDist         
distDistribution    emissUn             i                   minTAmbUn           tAmbUn             
distStd             fileName            maxDistUn           minTAtmUn           tAtm               
distStdRel          h                   maxEmissUn          nPoints             tAtmComponent       
distUn              humRel              maxHumRelUn         signal              tAtmDistribution   
emiss               humRelComponent     maxTAmbUn           tAmb                tAtmStd             

>> whos
  Name                        Size                 Bytes 
Class     Attributes

  a                           1x1                      8  double             
  b                           1x1                      8  double             
  dist                        1x1                      8  double             
  distComponent           10000x100              8000000  double             
  distDistribution          100x10000            8000000  double             
  distStd                     1x100                  800  double             
  distStdRel                  1x100                  800  double             
  distUn                      1x100                  800  double             
  emiss                       1x1                      8  double             
  emissComponent          10000x100              8000000  double             
  emissDistribution         100x10000            8000000  double             
  emissStd                    1x100                  800  double             
  emissStdRel                 1x100                  800  double             
  emissUn                     1x100                  800  double             
  fileName                    1x12                    24  char               
  h                           1x1                   3496  struct             
  humRel                      1x1                      8  double             
  humRelComponent         10000x100              8000000  double             
  humRelDistribution        100x10000            8000000  double             
  humRelStd                   1x100                  800  double             
  humRelStdRel                1x100                  800  double             
  humRelUn                    1x100                  800  double             
  i                           1x1                      8  double             
  maxDistUn                   1x1                      8  double             
  maxEmissUn                  1x1                      8  double             
  maxHumRelUn                 1x1                      8  double             
  maxTAmbUn                   1x1                      8  double             
  maxTAtmUn                   1x1                      8  double             
  minDistUn                   1x1                      8  double             
  minEmissUn                  1x1                      8  double             
  minHumRelUn                 1x1                      8  double             
  minTAmbUn                   1x1                      8  double             
  minTAtmUn                   1x1                      8  double             
  nPoints                     1x1                      8  double             
  signal                      1x1                      8  double             
  tAmb                        1x1                      8  double             
  tAmbComponent           10000x100              8000000  double             
  tAmbDistribution          100x10000            8000000  double             
  tAmbStd                     1x100                  800  double             
  tAmbStdRel                  1x100                  800  double             
  tAmbUn                      1x100                  800  double             
  tAtm                        1x1                      8  double             
  tAtmComponent           10000x100              8000000  double             
  tAtmDistribution          100x10000            8000000  double             
  tAtmStd                     1x100                  800  double             
  tAtmStdRel                  1x100                  800  double             
  tAtmUn                      1x100                  800  double             
  tObject                     1x1                      8  double             
  typeOfDist                  1x1                      8  double   


>> size emissStdRel

ans
=

    
1    11

>> size tAmbStdRel

ans
=

    
1    10         



Czy mozliwe ze program wygenerował punkty, których nie widać na wykresie gdyż jest ustawione blędnie ustawiona widoczność ?

Czy bez dużej znajomosci programu Matlab jestem w stanie sama zmienic dane rzędnych na wektory ? Jeśli tak to w jakim miejscu w programie musiałabym to zmienić ? Czy w każdym miejscu, w którym ta zmienna jest wymieniona ?

na początku dodaję plik *.img, jakie jest prawdopodobieństwo że program wlaśnie tam program pobiera błędne dane i w jakim stopniu są one brane pod uwagę w działaniu programu skoro dane wejściowe wprowadzam sama z klawiatury.

Dziękuję Ci bardzo za pomoc.


 

Post Wysłany: 8 Styczenia 2017, Nie 12:55 am Temat postu: Dalsze wnioski Odpowiedz z cytatem
 
AUTOR:
Jacek Konieczny
Może pisać książki


Dołączył: 31 Mar 2009
Posty: 315
Skąd: Poznań


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Dziękuję za dołączenie ( zrzutu ) pliku - raportu, w którym zrealizowano funkcję "whos". Okazało się, że te zmienne `emissStdRel` oraz `tAmbStdRel` są jednak wektorami ( 100 - elementowymi ). Podejrzewałem, że mogą być skalarami, ponieważ były liczone wewnątrz skryptu 'components.m' przy pomocy funkcji 'std' ; ta funkcja ( std ) służy do obliczanie odchylenia standardowego, jej argumentem jest wektor, a sama zwraca skalar. Dlaczego wykres nie jest widoczny ? Sam się temu dziwię. W programie 'plotcomponents.m' funkcja `plot` używana jest we wersji minimalnej, tj. tylko z dwoma parametrami. W przypadku funkcji 'plot' może być więcej parametrów ( argumentów ) ; regulują one wówczas wygląd i kolor krzywych na wykresie. Jeżeli używa się ( standardowo ) tylko dwóch parametrów, wówczas tworzony jest standardowy wykres w postaci czarnej, ciągłej linii na białym ekranie. Czemu tego nie widać. Proszę zapytać o własności rysunku przy pomocy funkcji 'get' ( w ewentualnym połączeniu z funkcją 'gcf' ) ; może wówczas ukaże się informacja o kolorze linii wykresu. Przychodzi mnie do głowy jeszcze jeden pomysł : proszę spróbować zapisać te zmienne, które są argumentami funkcji 'plot' ( którejś z funkcji 'plot' ) do pliku tekstowego. Zapisu tego można dokonać przy pomocy funkcji 'save' ( z obowiązkowym dodatkowym deklaratorem '-ascii' ). Uzyskany plik proszę spróbować wczytać do Excela ( lub do jakiegoś programu graficznego ) i w tym środowisku proszę spróbować odtworzyć wykres. Jeżeli nie uda się sporządzić wykresu również w tym "obcym" środowisku, to wina będzie leżeć po stronie danych ( być może są zbyt małymi liczbami ).


 

Post Wysłany: 8 Styczenia 2017, Nie 11:07 am Temat postu: Odpowiedz z cytatem
 
AUTOR:
maladie001
Początki pisania


Dołączył: 05 Sty 2017
Posty: 9


Ogląda profil użytkownika Wyślij prywatną wiadomość
nie jestem w stanie pojąć działania funkcji get i jej użycia, w przypadku gcf dla pierwszego z wykresów właściwości wyglądają następująco :
Kod:
>> fig=gcf

fig
=

 
Figure (1) with properties:

      
Number: 1
        Name
: ''
      
Color: [0.9400 0.9400 0.9400]
    
Position: [403 246 560 420]
      
Units: 'pixels'

 
Show all properties

                 Alphamap
: [1x64 double]
            
BeingDeleted: 'off'
              
BusyAction: 'queue'
            
ButtonDownFcn: ''
                
Children: [2x1 Graphics]
                
Clipping: 'on'
          
CloseRequestFcn: 'closereq'
                    
Color: [0.9400 0.9400 0.9400]
                
Colormap: [64x3 double]
                
CreateFcn: ''
              
CurrentAxes: [1x1 Axes]
        
CurrentCharacter: ''
            
CurrentObject: []
            
CurrentPoint: [0 0]
                
DeleteFcn: ''
            
DockControls: 'on'
                
FileName: ''
        
GraphicsSmoothing: 'on'
        
HandleVisibility: 'on'
            
IntegerHandle: 'on'
            
Interruptible: 'on'
          
InvertHardcopy: 'on'
              
KeyPressFcn: ''
            
KeyReleaseFcn: ''
                  
MenuBar: 'figure'
                    
Name: ''
                
NextPlot: 'add'
                  
Number: 1
              NumberTitle
: 'on'
        
PaperOrientation: 'portrait'
            
PaperPosition: [0.6350 6.3500 20.3200 15.2400]
        
PaperPositionMode: 'manual'
                
PaperSize: [21.0000 29.7000]
                
PaperType: 'A4'
              
PaperUnits: 'centimeters'
                  
Parent: [1x1 Root]
                  
Pointer: 'arrow'
        
PointerShapeCData: [16x16 double]
      
PointerShapeHotSpot: [1 1]
                
Position: [403 246 560 420]
                
Renderer: 'opengl'
            
RendererMode: 'auto'
                  
Resize: 'on'
            
SelectionType: 'normal'
          
SizeChangedFcn: ''
                      
Tag: ''
                  
ToolBar: 'auto'
                    
Type: 'figure'
            
UIContextMenu: []
                    
Units: 'pixels'
                
UserData: []
                  
Visible: 'on'
      
WindowButtonDownFcn: ''
    
WindowButtonMotionFcn: ''
        
WindowButtonUpFcn: ''
        
WindowKeyPressFcn: ''
      
WindowKeyReleaseFcn: ''
    
WindowScrollWheelFcn: ''
              
WindowStyle: 'normal'




Patrząc na plik plotcomponent zauważyłąm że do figury 1 brane są dane zawarte w wierszu 3 plot(100*(dane_osi_X,dane_osi_Y)
Kod:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
Plot the emissivity component
plot
(100*(emissUn/emiss),emissStdRel);
xlabel(['Standard uncertainty of the emissivity ' ...
'u[\epsilon_{ob}]\rm (%)']);
ylabel(['Component of the standard uncertainty ' ...
'u[T_{ob}]\rm (%)']);
set(gca,'XMinorTic','on');
set(gca,'YMinorTic','on');
grid on;
legend(['T_{ob} = ' num2str(tObject) ' K']);
%
Plot the ambient temperature component


Postanowiła, zapisać dane do pliku zgodnie z Twoimi wskazówkami:
Kod:
>> save ('danefig1.txt','emissUn','emiss','emissStdRel','-ascii')


w efekcie otrzymałam plik txt
Kod:
   0.0000000e+00   3.0303030e-03   6.0606061e-03   9.0909091e-03   1.2121212e-02   1.5151515e-02   1.8181818e-02   2.1212121e-02   2.4242424e-02   2.7272727e-02   3.0303030e-02   3.3333333e-02   3.6363636e-02   3.9393939e-02   4.2424242e-02   4.5454545e-02   4.8484848e-02   5.1515152e-02   5.4545455e-02   5.7575758e-02   6.0606061e-02   6.3636364e-02   6.6666667e-02   6.9696970e-02   7.2727273e-02   7.5757576e-02   7.8787879e-02   8.1818182e-02   8.4848485e-02   8.7878788e-02   9.0909091e-02   9.3939394e-02   9.6969697e-02   1.0000000e-01   1.0303030e-01   1.0606061e-01   1.0909091e-01   1.1212121e-01   1.1515152e-01   1.1818182e-01   1.2121212e-01   1.2424242e-01   1.2727273e-01   1.3030303e-01   1.3333333e-01   1.3636364e-01   1.3939394e-01   1.4242424e-01   1.4545455e-01   1.4848485e-01   1.5151515e-01   1.5454545e-01   1.5757576e-01   1.6060606e-01   1.6363636e-01   1.6666667e-01   1.6969697e-01   1.7272727e-01   1.7575758e-01   1.7878788e-01   1.8181818e-01   1.8484848e-01   1.8787879e-01   1.9090909e-01   1.9393939e-01   1.9696970e-01   2.0000000e-01   2.0303030e-01   2.0606061e-01   2.0909091e-01   2.1212121e-01   2.1515152e-01   2.1818182e-01   2.2121212e-01   2.2424242e-01   2.2727273e-01   2.3030303e-01   2.3333333e-01   2.3636364e-01   2.3939394e-01   2.4242424e-01   2.4545455e-01   2.4848485e-01   2.5151515e-01   2.5454545e-01   2.5757576e-01   2.6060606e-01   2.6363636e-01   2.6666667e-01   2.6969697e-01   2.7272727e-01   2.7575758e-01   2.7878788e-01   2.8181818e-01   2.8484848e-01   2.8787879e-01   2.9090909e-01   2.9393939e-01   2.9696970e-01   3.0000000e-01
   1.0000000e+00
             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN             NaN


wg programu dana emissstdRel nie jest liczbą. Widziałam że są sposoby przekształcania nie-liczby w liczbę ale nie do końca je rozumiem.


 

Post Wysłany: 8 Styczenia 2017, Nie 12:26 pm Temat postu: Dziękuję za wyjaśnienia Odpowiedz z cytatem
 
AUTOR:
Jacek Konieczny
Może pisać książki


Dołączył: 31 Mar 2009
Posty: 315
Skąd: Poznań


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Funkcja 'get' związana jest z programem obiektowym. Przy programowaniu obiektowym program konstruuje się podobnie, jak konstruowałoby się jakieś urządzenie techniczne ( jakiś obiekt ). Obiekt można opisać w sposób podobny do konstruowania struktur ( w języku Matlaba ), tj. podając listę elementów tego obiektu, podając właściwości tych elementów oraz podając listę czynności, które mogą wykonywać te elementy albo które można wykonać nad tymi elementami. Każdy rysunek, każdy wykres ( deklaracja 'figure' ) jest obiektem. Funkcja 'get' zwraca listę jego własności. Ale wracając do tego pliku ; deklarator 'NaN' oznacza, że dany element nie jest liczbą. Istnieją funkcje konwersji, ale do innych typów zmiennych. Zmienną łańcuchową ( napisową ) można przekształcić do liczby używając funkcji " 'str2num', 'str2mat' , itp. ; do przekształcenia elementu tablicy komórkowej można użyć funkcji o nazwie 'cell2mat', itp. Jednak `NaN` nie da się przekształcić na liczbę. Trzeba sprawdzić, dlaczego program 'components.m' generuje akurat takie dane.


 

Forum MATLAB Strona Główna-> Przetwarzanie obrazów, grafika
Wyświetl posty z ostatnich:   
Idź do strony 1 2  Następny

Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Wszystkie czasy w strefie CET (Europa)

Skocz do:  

Statystyki forum:



Od dnia 08.06.2006 forum odwiedzano 36588907
Najwięcej użytkowników 266 było obecnych 19 Lutego 2015, Czw 7:03 pm

Aktualnie online:




Najnowsze posty na forum:
Przetwarzanie strumienia ASCII odebranego protokołem UDP  (24 Czerwca 2017, Sob 5:55 pm)
zamiennik funkcji smooth  (23 Czerwca 2017, Pią 1:30 pm)
Warto robić szkolenia?  (22 Czerwca 2017, Czw 8:40 am)
Rysowanie sygnałów Sygnały okresowe  (21 Czerwca 2017, Sro 6:52 pm)
Błąd przy inicjowaniu sieci LVQ  (21 Czerwca 2017, Sro 4:39 pm)
Czy wypada być z byłym chłopakiem przyjaciółki?  (21 Czerwca 2017, Sro 2:19 pm)
Artykuły o Matlab  (21 Czerwca 2017, Sro 9:46 am)
Czy wasz człowiek też jest dziwny?  (20 Czerwca 2017, Wto 1:59 pm)
Poprawianie matury to wstyd?  (20 Czerwca 2017, Wto 8:53 am)
Gdzie po szybką pożyczkę?  (17 Czerwca 2017, Sob 12:43 pm)
Twoje prawa:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać plików na tym forum