在MATLAB,如果我想繪製的變量V
我有密度做Matlab的情節ksdensity沒有先存儲它的論據
[x, y] = ksdensity(V);
plot (y, x);
如果我做plot(ksdensity(V))
,它只繪製x
而不是x
Vs的y
。
是否有更簡單的替代給ksdensity()
作爲參數傳遞給plot()
,做同樣的工作plot(y, x)
?
在MATLAB,如果我想繪製的變量V
我有密度做Matlab的情節ksdensity沒有先存儲它的論據
[x, y] = ksdensity(V);
plot (y, x);
如果我做plot(ksdensity(V))
,它只繪製x
而不是x
Vs的y
。
是否有更簡單的替代給ksdensity()
作爲參數傳遞給plot()
,做同樣的工作plot(y, x)
?
你可以重構它到,需要一個功能在V
和情節y
VS x
:
function h = plot_ksdensity(V, varargin)
[x, y] = ksdensity(V);
h = plot (y, x, varargin{:});
end
使用varargin
意味着您仍然可以訪問顏色等plot
選項。 hold on
也將繼續工作,因爲這只是調用常規的plot
函數。
不幸的是沒有。如果不明確指定輸出,則函數將始終返回輸出參數列表中最左邊的一個。要說服自己有關,在MATLAB路徑創建功能ftest()
地方:
function [x, y] = ftest()
x = 1;
y = 2;
end
然後調用它在命令窗口,而無需指定輸出
>> ftest()
ans =
1
'plot(y,x)'有什麼問題? – Dan
@丹我有多個變量,要繪製在同一個圖中。所以我想要做一些像'plot(density_of_variable_1,'color1');等一下;繪圖(density_of_variable_2,'color2'),..'等等。如果我去繪製(y,x)路線,我需要輸入兩倍的額外變量。 – user13107