WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

3d Plot mit Scilab

 

brummfritz
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 01.09.16
Wohnort: Düsseldorf
Version: Matlab R2015b
     Beitrag Verfasst am: 14.10.2016, 08:20     Titel: 3d Plot mit Scilab
  Antworten mit Zitat      
Hallo Scilab Nutzer.

Ich versuche derzeit einen Umstieg auf Scilab. Momentan habe ich Probleme die Plotfunktionen plot3d, plot3d1, plot3d2 und plot3d3 einzusetzen.

Das Plotten funktioniert soweit aber die farbliche Darstellung der z Achse krieg ich nicht hin.

1.
Die Signal-Amplitude auf der Z Achse soll entsprechend der Amplitudengröße einen farblichen Verlauf bekommen.

2.
Die Spreizung des Farbverlaufes soll einstellbar sein.

Das Ergebnis soll etwa dieser Darstellung entsprechen, mit größer werdenden Amplitude soll der Farbverlauf ins rötliche gehen.



Gibt es in diesem Forum aktive Nutzer von Scilab die mir Hilfestellung leisten können?

Gruß
Private Nachricht senden Benutzer-Profile anzeigen


helmat
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 92
Anmeldedatum: 18.12.11
Wohnort: ---
Version: R2020a
     Beitrag Verfasst am: 16.10.2016, 17:27     Titel:
  Antworten mit Zitat      
Lass dich von folgendem Code inspirieren:
Code:

xdel();
x=0:0.25:10; y=-5:0.25:5;
[X,Y]=ndgrid(x,y);
Z=X.^2+Y.^3;
plot3d( x, y, Z);
e = gce();        // Get current entity handle (handle of type "Plot3d").
e.color_flag = 1; // Color according to z
f = gcf();// Get current figure handle
f.color_map = jetcolormap(100);//  Color map from blue to red
ca=gca();
ca.rotation_angles = [15,200];
 


Ich finde Scilab in solchen "Polier"-Funktionen reichlich unintuitiv.
_________________

Herzliche Grüße
helmat

p.s.
Hard work beats talent if talent doesn't work hard.
Private Nachricht senden Benutzer-Profile anzeigen
 
brummfritz
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 01.09.16
Wohnort: Düsseldorf
Version: Matlab R2015b
     Beitrag Verfasst am: 18.10.2016, 00:21     Titel: 3d Plot mit Scilab
  Antworten mit Zitat      
Danke für Deinen Hinweis, habe die Funktion getestet.

Merkwürdiger Weise funktioniert das nur mit einer Funktion als Datenquelle.

Bei meinen Berechnungen ist das Ergebnis eine Matrix die als Datenquelle für die Plotfunktion genutzt wird, und da funktioniert es nicht.
Die Grafik wird wohl angezeigt aber der gewünschte Farbverlauf , wie bei der Funktion, stellt sich nicht ein.

Übrigens gab es auch Probleme mit Bugs in dem Scilab Programm.
Habe nun die neuste 64bit Beta2 Version installiert, und geht ganz gut.

Man muss halt vorsichtig agieren und nicht so wilde Eingaben machen, dann läuft das Programm ganz gut.

Leider sind die Lehr- und Anleitungs-Videos bei youtube nicht mehr aktuell, die dort gezeigten Scilab Anweisungen haben sich geändert.

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
helmat
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 92
Anmeldedatum: 18.12.11
Wohnort: ---
Version: R2020a
     Beitrag Verfasst am: 18.10.2016, 09:09     Titel: Re: 3d Plot mit Scilab
  Antworten mit Zitat      
brummfritz hat Folgendes geschrieben:
Merkwürdiger Weise funktioniert das nur mit einer Funktion als Datenquelle.
Bei meinen Berechnungen ist das Ergebnis eine Matrix die als Datenquelle für die Plotfunktion genutzt wird, und da funktioniert es nicht.


Ich verstehe, dass du eine der Varianten
Code:
plot3d(xf,yf,zf,[theta,alpha,leg,flag,ebox])
plot3d(xf,yf,zf,<opt_args>)

verwendest.
Sei so nett und schick mir deine Lösung der Farbsteuerung dafür. Kann ich sicher auch mal gebrauchen.
_________________

Herzliche Grüße
helmat

p.s.
Hard work beats talent if talent doesn't work hard.
Private Nachricht senden Benutzer-Profile anzeigen
 
helmat
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 92
Anmeldedatum: 18.12.11
Wohnort: ---
Version: R2020a
     Beitrag Verfasst am: 18.10.2016, 23:51     Titel:
  Antworten mit Zitat      
Vielleicht interessiert sich jemand anders später mal dafür, wie man die Farben einer plot3d-Graphik bei Verwendung von genfac3d() steuern kann. Hier ein Beispiel:
Code:
xdel();
y=[-1:0.05:1];
x=y';
z=exp(-x.^2)*exp(-y.^2);//Gaußglocke
[X,Y,Z]=genfac3d(x,y,z);
pos=X.^2+Y.^2>1;   //Beschränkung auf Kreisgebiet
Z(pos)=%nan;       //Beschränkung auf Kreisgebiet
minZ=min(Z);
ncol=50;//Anzahl Farben
slope=(ncol-1)/(max(Z)-minZ);
col=round(1+slope*(Z-minZ));//Lineare Abbildung von Z auf die Farbindizes der Facetten
plot3d(X,Y,list(Z,col))
f=gcf();
f.color_map = jetcolormap(ncol);

_________________

Herzliche Grüße
helmat

p.s.
Hard work beats talent if talent doesn't work hard.
Private Nachricht senden Benutzer-Profile anzeigen
 
brummfritz
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 01.09.16
Wohnort: Düsseldorf
Version: Matlab R2015b
     Beitrag Verfasst am: 23.10.2016, 06:49     Titel: Erste Ergebnisse
  Antworten mit Zitat      
Hallo Foristen.

Vielen Dank für die Unterstützung.

Ein Zwischenergebnis.

Ich benutze Scilab 6 Beta 2.
Viele der Dokumentationen der anderen Versionen stimmen nicht mehr mit der aktuellen überein.
Aber dank der Hilfe in diesem Forum habe ich erste Ergebnisse.
Es sieht ganz gut aus und bedarf noch einiger Arbeiten.


Code:
mode(0);
// Hier werden WAV Dateien analysiert
// Die Abtastrate muss 48000 sein
// Es wird nur 1 Kanal analysiert
// Überdeckung der Analyse 87,5 //
//  
//
mclose('all');
clear;
xdel();
//
cm2 = [0,0,0.5625;
       0,0.3333,0.7083;
       0,0.6667,0.8542;
       0,1,1;
       0.0625,1,0.9375;
       0.125,1,0.875;
       0.1875,1,0.8125;
       0.25,1,0.75;
       0.3125,1,0.6875;
       0.375,1,0.625;
       0.4375,1,0.5625;
       0.5,1,0.5;
       0.5625,1,0.4375;
       0.625,1,0.375;
       0.6875,1,0.3125;
       0.75,1,0.25;
       0.8125,1,0.1875;
       0.875,1,0.125;
       0.9375,1,0.0625;
       1,1,0;
       1,0.9565,0;
       1,0.913,0;
       1,0.8696,0;
       1,0.8261,0;
       1,0.7826,0;
       1,0.7391,0;
       1,0.6957,0;
       1,0.6522,0;
       1,0.6087,0;
       1,0.5652,0;
       1,0.5217,0;
       1,0.4783,0;
       1,0.4348,0;
       1,0.3913,0;
       1,0.3478,0;
       1,0.3043,0;
       1,0.2609,0;
       1,0.2174,0;
       1,0.1739,0;
       1,0.1304,0;
       1,0.087,0;
       1,0.0435,0;
       1,0,0;
       0.9762,0,0;
       0.9524,0,0;
       0.9286,0,0;
       0.9048,0,0;
       0.881,0,0;
       0.8571,0,0;
       0.8333,0,0;
       0.8095,0,0;
       0.7857,0,0;
       0.7619,0,0;
       0.7381,0,0;
       0.7143,0,0;
       0.6905,0,0;
       0.6667,0,0;
       0.6429,0,0;
       0.619,0,0;
       0.5952,0,0;
       0.5714,0,0;
       0.5476,0,0;
       0.5238,0,0;
       0.5,0,0];
// WAV Datei auswählen  
[dateiname,pfad]=uigetfile('*.wav','D:\Mdaten');
if isequal(dateiname,0);
    //
else
    //
    fe=pfad+'\'+dateiname;
    [Fs,bits]=wavread(fe);
    info = wavread(fe,'info');
    fd=fileinfo(fe);
    disp('////////////////////////////////////////////////////////////')
    disp('WAV-Datei: '+fe);
    p='Kanäle: '+string(info(2));
    disp(p);
    p='Samplerate: '+string(info(3));
    disp(p);
    p='Dateilänge : '+string(fd(1));
    disp(p);
    info(8)/info(3)*info(1);
    p='Laufzeit : '+string(info(8)/info(3)*info(2));
    disp(p);
        disp('////////////////////////////////////////////////////////////')
    if info(3)==48000 then
        samplmax=info(8);
        //
        start1=1;
        start2=48000;
        //
        kanal=1;
        frequenzen=1000;
        yF=wavread(fe,[start1 start2]);
        //channel
        yFFTL=fft(yF(kanal,:));
        // powerspektrum
        w=1;
        PyL = (yFFTL).* conj(yFFTL)/5760;
        //PyL(1:1000)=PyL(1:1000)./12000;
        alles(w,1:500)=PyL(1:500);
        start1=start1 + 6000;
        start2=start2 + 6000;
        // alle folgenden berechnen
        while start2<samplmax
            //
            w=w+1;
            yF=wavread(fe,[start1 start2]);
            yFFTL=fft(yF(kanal,:));
            start1=start1+6000;
            start2=start2+6000;
            // powerspektrum
            PyL = (yFFTL).* conj(yFFTL)/5760;
            alles(w,1:500)=PyL(1:500);
        end
    else  
    end
    // plot vorbereiten
    ////////////////////////
    alles=alles(:,:)+1;
    w=size(alles);
    fx=1:1:w(1);
    fy=1:1:w(2);
    fz=0:1:100;
    [X,Y,Z]=genfac3d(fx,fy,alles(fx,fy));
    col=Z,alles;
    plot3d(X,Y,list(Z,col),theta=8,alpha=57,flag=[-1,2,2]);
     ///////////////////////
    f=gcf();
    f.color_map = cm2;
    ///////////////////////
////////////////////////////////////////////////////////
e=gce();
//Handle of type "Plot3d" with properties:
//========================================
//e.parent: Axes
//e.children: []
//e.visible = "on"
//e.surface_mode = "on"
//e.foreground = -1
//e.thickness = 1
//e.mark_mode = "off"
//e.mark_style = 0
//e.mark_size_unit = "tabulated"
//e.mark_size = 0
//e.mark_foreground = -1
//e.mark_background = -2
//e.data.x = matrix 1x472
//e.data.y = matrix 1x500
//e.data.z = matrix 472x500
//e.color_mode = -9;
//e.color_flag = 2;
//e.hiddencolor = 4;
//e.clip_state = "clipgrf";
//e.clip_box = []
//e.ambient_color = [0,0,0]
//e.diffuse_color = [1,1,1]
//e.specular_color = [1,1,1]
//e.use_color_material = "on"
//e.material_shininess = 2
//e.user_data = []
//e.tag =
///////////////////////////////////////////////////////
f=gcf();
//Handle of type "Figure" with properties:
//========================================
//f.children: "Axes"
//f.figure_position = [1054,20]
//f.figure_size = [800,800]
//f.axes_size = [610,460]
//f.auto_resize = "off"
//f.viewport = [0,0]
//f.figure_name = "Grafik-Fenster Numer %d"
//f.figure_id = 0
//f.info_message = ""
//f.color_map=jetcolormap(100);
//f.pixel_drawing_mode = "copy"
//f.anti_aliasing = "off"
//f.immediate_drawing = "on"
//f.background =  -2
//f.visible = "on"
//f.rotation_style = "unary"
//f.event_handler = ""
//f.event_handler_enable = "off"
//f.user_data = []
//f.resizefcn = ""
//f.closerequestfcn = ""
//f.resize = "on"
//f.toolbar = "figure"
//f.toolbar_visible = "on"
//f.menubar = "figure"
//f.menubar_visible = "on"
//f.infobar_visible = "on"
//f.dockable = "on"
//f.layout = "none"
//f.layout_options = "OptNoLayout"
//f.default_axes = "on"
//f.icon = ""
//f.tag = ""
/////////////////////////////////////////////////////////
a=gca();
//Handle of type "Axes" with properties:
//======================================
//a.parent: Figure
//a.children: "Plot3d"
a.visible = "on"
a.axes_visible = ["on","on","on"]
a.axes_reverse = ["on","off","off"];
//a.grid = [-1,-1,-1]
//a.grid_position = "background"
//a.grid_thickness = [1,1,1]
//a.grid_style = [3,3,3]
//a.x_location = "bottom"
//a.y_location = "left"
a.title: "Powerspektrum"
a.x_label: "Zeit"
a.y_label: "Frequenz"
a.z_label: "Amplitude"
a.auto_ticks = ["on","off","on"]
//a.x_ticks.locations = [1;50;100;150;200;250;300;350;400;450;500]
//a.x_ticks.labels = ["1";"50";"100";"150";"200";"250";"300";"350";"400";"450";"500"]
a.y_ticks.locations = [1;50;100;150;200;250;300;350;400;450;500]
a.y_ticks.labels = ["1";"50";"100";"150";"200";"250";"300";"350";"400";"450";"500"]
//a.y_ticks.locations = [0;100;200;300;400;500]
//a.y_ticks.labels = ["0";"100";"200";"300";"400";"500"]
//a.z_ticks.locations = [0;50;100]
//a.z_ticks.labels = ["0";"50";"100"]
//a.ticks_format = ["","",""]
//a.ticks_st = [1,1,1;0,0,0]
a.box = "back_half";
//a.filled = "on"
//a.sub_ticks = [1,1,0]
//a.font_style = 6
//a.font_size = 1
//a.font_color = -1
//a.fractional_font = "off"
//a.isoview ="off";
//a.cube_scaling = "off";
//a.view = "3d"
//a.rotation_angles = [9,-30];
//a.log_flags = "nnn"
//a.tight_limits = ["off","off","off"]
//a.data_bounds = [1,1,9.924D-12;438,500,0.4693720]
//a.zoom_box = []
//a.margins = [0.125,0.125,0.125,0.125]
//a.auto_margins = "on"
//a.axes_bounds = [0,0,1,1]
//a.auto_clear = "off"
//a.auto_scale = "on"
//a.hidden_axis_color = -1
//a.hiddencolor = -1
//a.line_mode = "on"
//a.line_style = 1
//a.thickness = 1
//a.mark_mode = "off"
//a.mark_style = 0
//a.mark_size_unit = "tabulated"
//a.mark_size = 0
//a.mark_foreground = -1
//a.mark_background = -2
//a.foreground = -1
//a.background = -2
//a.arc_drawing_method = "lines"
//a.clip_state = "off"
//a.clip_box = []
//a.user_data = []
//a.tag = ;
///////////////////////////////////////////////////////

end

mclose('all')


 


Schade es geht nicht.
Wollte eine WAV Datei anhängen, mit Geräuschen einer Klimaanlage, zur Berechnung mit dem Skript.
Private Nachricht senden Benutzer-Profile anzeigen
 
helmat
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 92
Anmeldedatum: 18.12.11
Wohnort: ---
Version: R2020a
     Beitrag Verfasst am: 23.10.2016, 09:55     Titel: Re: Erste Ergebnisse
  Antworten mit Zitat      
brummfritz hat Folgendes geschrieben:

Schade es geht nicht. ...


Du kannst versuchen die WAV in txt umzubenennen. Lohnt sich aber nur. wenn dann Aussicht besteht, dass Dein langes Skript fehlerfrei läuft.
_________________

Herzliche Grüße
helmat

p.s.
Hard work beats talent if talent doesn't work hard.
Private Nachricht senden Benutzer-Profile anzeigen
 
brummfritz
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 01.09.16
Wohnort: Düsseldorf
Version: Matlab R2015b
     Beitrag Verfasst am: 23.10.2016, 12:19     Titel: Eine WAV Datei zum herunterladen.
  Antworten mit Zitat      
Hier habe ich eine WAV Datei angehängt.
Die Extension der Datei lautet txt und muss nach dem Herunterladen in wav umbenannt werden.

Die WAV Datei ist ein 2-minütiger Mono-Auszug einer Stereo WAV Datei die mit einem Mobilrecorder von Sony aufgenommen wurde.
Standort ein Luftauslass einer Klimaanlage, mit entsprechenden Geräuschen, im Umfeld eine vielbefahren Straße mit Ampelschaltung.

160923_03_MuseumLuftgitterboden_Mono .txt
 Beschreibung:

Download
 Dateiname:  160923_03_MuseumLuftgitterboden_Mono .txt
 Dateigröße:  22.63 MB
 Heruntergeladen:  870 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
helmat
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 92
Anmeldedatum: 18.12.11
Wohnort: ---
Version: R2020a
     Beitrag Verfasst am: 23.10.2016, 20:47     Titel:
  Antworten mit Zitat      
Bei mir lief einiges nicht (Vers. 5.5.2). Das Skript unten läuft bei mir fehlerfrei und tut, was es soll.

Code:

clear;
mode(0);
disp('1 Hier werden WAV Dateien analysiert')
// Die Abtastrate muss 48000 sein
// Es wird nur 1 Kanal analysiert
// Überdeckung der Analyse 87,5 //

//mclose('all');//Vorsicht!
xdel();
cm2 = [0,0,0.5625;
       0,0.3333,0.7083;
       0,0.6667,0.8542;
       0,1,1;
       0.0625,1,0.9375;
       0.125,1,0.875;
       0.1875,1,0.8125;
       0.25,1,0.75;
       0.3125,1,0.6875;
       0.375,1,0.625;
       0.4375,1,0.5625;
       0.5,1,0.5;
       0.5625,1,0.4375;
       0.625,1,0.375;
       0.6875,1,0.3125;
       0.75,1,0.25;
       0.8125,1,0.1875;
       0.875,1,0.125;
       0.9375,1,0.0625;
       1,1,0;
       1,0.9565,0;
       1,0.913,0;
       1,0.8696,0;
       1,0.8261,0;
       1,0.7826,0;
       1,0.7391,0;
       1,0.6957,0;
       1,0.6522,0;
       1,0.6087,0;
       1,0.5652,0;
       1,0.5217,0;
       1,0.4783,0;
       1,0.4348,0;
       1,0.3913,0;
       1,0.3478,0;
       1,0.3043,0;
       1,0.2609,0;
       1,0.2174,0;
       1,0.1739,0;
       1,0.1304,0;
       1,0.087,0;
       1,0.0435,0;
       1,0,0;
       0.9762,0,0;
       0.9524,0,0;
       0.9286,0,0;
       0.9048,0,0;
       0.881,0,0;
       0.8571,0,0;
       0.8333,0,0;
       0.8095,0,0;
       0.7857,0,0;
       0.7619,0,0;
       0.7381,0,0;
       0.7143,0,0;
       0.6905,0,0;
       0.6667,0,0;
       0.6429,0,0;
       0.619,0,0;
       0.5952,0,0;
       0.5714,0,0;
       0.5476,0,0;
       0.5238,0,0;
       0.5,0,0];

// WAV Datei auswählen  
[dateiname,pfad]=uigetfile('*.WAV','MyFolder');//<<<<<<<<<<<<<<<<<<<<<<<

if isequal(dateiname,0);
    disp('Hier werden WAV Dateien analysiert')
    //
else
    //
    fe=pfad+'\'+dateiname;
    [Fs,bits]=wavread(fe);
    info = wavread(fe,'info');
    fd=fileinfo(fe);
    disp('WAV-Datei: '+fe);
    p='Kanäle: '+string(info(2));
    disp(p);
    p='Samplerate: '+string(info(3));
    disp(p);
    p='Dateilänge : '+string(fd(1));
    disp(p);
    info(8)/info(3)*info(1);
    p='Laufzeit : '+string(info(8)/info(3)*info(2));
    disp(p);
    if info(3)==48000 then
        samplmax=info(8);
        //
        start1=1;
        start2=48000;
        //
        kanal=1;
        frequenzen=1000;
        yF=wavread(fe,[start1 start2]);
        //channel
        yFFTL=fft(yF(kanal,:));
        // powerspektrum
        w=1;
        PyL = (yFFTL).* conj(yFFTL)/5760;
        //PyL(1:1000)=PyL(1:1000)./12000;
        alles(w,1:500)=PyL(1:500);
        start1=start1 + 6000;
        start2=start2 + 6000;
        // alle folgenden berechnen
        while start2<samplmax
            //
            w=w+1;
            yF=wavread(fe,[start1 start2]);
            yFFTL=fft(yF(kanal,:));
            start1=start1+6000;
            start2=start2+6000;
            // powerspektrum
            PyL = (yFFTL).* conj(yFFTL)/5760;
            alles(w,1:500)=PyL(1:500);
        end
    else  
    end
    // plot vorbereiten
    ////////////////////////
    alles=alles(:,:)+1;
    w=size(alles);
    fx=1:1:w(1);
    fy=1:1:w(2);
    fz=0:1:100;
    [X,Y,Z]=genfac3d(fx,fy,alles(fx,fy));
    col=Z;alles;
    plot3d(X,Y,list(Z,col),theta=8,alpha=57,flag=[-1,2,2]);
     ///////////////////////
    f=gcf();
    f.color_map = cm2;
    a=gca();
    a.axes_visible = ["on","on","on"];
    a.axes_reverse = ["on","off","off"];
    ti=a.title; ti.text="Powerspektrum";
    xl=a.x_label;  xl.text= "Zeit";xl.visible="on";
    yl=a.y_label;  yl.text= "Frequenz";yl.visible="on";
    zl=a.z_label;  zl.text= "Amplitude";zl.visible="on";  
    a.auto_ticks = ["on","off","on"];
    a.y_ticks= tlist(["ticks", "locations", "labels"],..
                     [1;20;100;150;200;250;300;350;400;450;500],..
                     ["1";"20";"100";"150";"200";"250";"300";"350";"400";"450";"500"]);  
    a.box = "back_half";
end//if isequal(dateiname,0);
mclose('all');
 


Warum hast Du dich bei der colormap so angestrengt? Wäre jetcolormap nicht gegangen?
_________________

Herzliche Grüße
helmat

p.s.
Hard work beats talent if talent doesn't work hard.
Private Nachricht senden Benutzer-Profile anzeigen
 
brummfritz
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 01.09.16
Wohnort: Düsseldorf
Version: Matlab R2015b
     Beitrag Verfasst am: 23.10.2016, 23:37     Titel: 3d Plot mit Scilab
  Antworten mit Zitat      
Hallo helmat.
Es scheint bei den Scilab Versionen einige Unterschiede zu geben und die Dokumentation ist nicht immer vollständig.

Bei den Audio-Dateien suche ich meist Signale die unbeachtet im Hintergrund laufen, z.B. Aufnahmen in einem geschlossenen Kellerraum, Geräusche mit kleinen Amplituden, und zur Nachtzeit wenn alles andere ruhig ist. So kann man Geräusche erkennen, die sonst im steten Umweltlärm untergehen. Wir werden von Dauerschall berieselt dessen Pegelstärke nahe der biologischen Hörschwelle ist. Diese Geräusche sind als Linie in den Grafiken sichtbar.
Die eigene Colormap hat im unteren Bereich, von der blauen Färbung zur gelbroten Färbung, einen schmalen Übergang.
So werden kleine Signale, sehr deutlich und kontrastreich vor dem blauen Grund angezeigt, und die Signalspitzen gehen sehr schnell in gelbrote Färbung über.

Ich kenne Scilab nicht gut genug um die Möglichkeit abzuschätzen mit den in Scilab verfügbaren Colormap's in gleicher Weise zu verfahren.

Bei Matlab kann man den Z-Bereich für die Colormap manipulieren und kann ähnliche Ergebnisse erreichen, wie das mit Scilab möglich ist vermag ich nicht zu sagen. Muss Scilab erst noch mehr kennen lernen.

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
helmat
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 92
Anmeldedatum: 18.12.11
Wohnort: ---
Version: R2020a
     Beitrag Verfasst am: 24.10.2016, 13:01     Titel: Re: 3d Plot mit Scilab
  Antworten mit Zitat      
brummfritz hat Folgendes geschrieben:
Bei Matlab kann man den Z-Bereich für die Colormap manipulieren und kann ähnliche Ergebnisse erreichen, wie das mit Scilab möglich ist vermag ich nicht zu sagen. Muss Scilab erst noch mehr kennen lernen.


Du kannst Z nichtlinear auf die Indizes der colormap abbilden. Ich hab das im folgenden Codeabschnitt mit der Potenzfunktion gemacht.

Code:
alles;
   
    Z=real(Z);
    Zmin=min(Z);
    Zspan=max(Z)-Zmin;
    colex=0.4;//controls the color distribution. With jetcolormap enlarging (reducing) shifts to blue (red) INPUT PARAMETER
    ncol=100;
    cm2=jetcolormap(ncol);
    col=1+(ncol-1)*((Z-Zmin)/Zspan).^colex;  
    plot3d(X,Y,list(Z,col),theta=8,alpha=57,flag=[-1,2,2]);
     ///////////////////////
    f=gcf();
    f.color_map = cm2;
   
    a=gca();
    a.axes_visible = ["on","on","on"];

_________________

Herzliche Grüße
helmat

p.s.
Hard work beats talent if talent doesn't work hard.
Private Nachricht senden Benutzer-Profile anzeigen
 
brummfritz
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 01.09.16
Wohnort: Düsseldorf
Version: Matlab R2015b
     Beitrag Verfasst am: 21.06.2017, 21:18     Titel: Die Lösung
  Antworten mit Zitat      
Habe die Lösung gefunden:

Eine Matrix mit Daten aus einer FFT soll als Plot in drei Dimensionen dargestellt werden.

V ist die Matrix mit den Daten für drei Dimensionen.
Code:

m=size(v);
[xx,yy,zz]=genfac3d(1:m(1),1:m(2),v());
plot3d(xx,yy,list(zz,zz),theta=-20,alpha=16,flag=[-1,2,2]);
 

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.