A. 如何預測雙色球號碼
雙色球號碼預測方法:基於歷史數據的預測、基於數學模型的預測。
1、基於歷史數據的預測
根據歷史數據,出現頻率較高的號碼往往具有一定的規律性,有可能在未來的雙色球中再次出現。連號出現的頻率並不高,但在某些特定的時期中,連號的出現世攔臘頻率會明顯增加。我們衡頌可以根據歷史數據中連號的出現情況進行預測。
2、基於數學模型的預測
這種方法一般包括兩種模型:第一種:概率模型主要是利用數學概率理論進行預測。這種方法需要收集足夠多的歷史數據,通過統計學方法計算出每個號碼出現的概率,從而預測未來的號碼。概率模型的預測精度較高,但需要大量的歷史數據支持。
第二種:神經網路模型,通過訓練神經網路來預測雙色球的號碼。這種方法需要大量的數據進行訓練,訓練好的神經網路可以對未來的雙色球號碼進行預測。但需要大量的訓練數據和計算資源。
雙色球號碼介紹
投注號碼由6個紅色球號碼和1個藍色球號碼組成。紅色球號碼從01-33中選擇;藍色球號碼從01-16中選擇。購買彩票的時候,彩民可根據自己選擇的號碼或機選的號碼,與由搖獎機開出的中獎號碼或比賽結果對照來確定是否中獎,中了哪級獎,以及可得多少獎金。
獎金的設置可以是浮動的,也可以是固定的,在一個玩法中,一般都是混合使搜滑用的。如果是浮動獎,獎金的分配則與銷售量的多少、獎池積累的多少、中獎人數的多少密切相關。
B. MATLAB 高分求助
按照告轎二元線性回歸考慮,參考代碼如下:
R = [100 75 80 70 50 65 90 100 110 60];
I = [1000 600 1200 500 300 400 1300 1100 1300 300];
P = [5 7 6 6 8 7 5 4 3 9 ];
c = [I' P' I'*0+1] R';
r = c(1)*1000 + c(2)*6 + c(3)
clf, hold on
plot3(I,P,R,'o')
plot3(1000,6,r,'rh')
[x,y] = meshgrid(xlim,ylim);
z = c(1)*x + c(2)*y + c(3);
surf(x,y,z)
view(72,20)
alpha(0.4)
xlabel 平均收入; ylabel 商品價格; zlabel 需求量
可襪宏肆以預測平均收入為1000,價格為6時的商品需求量為82.8594。
原始數據(藍絕仔色圓圈)、預測數據(紅色六角星)和回歸平面如下圖所示。
C. 關於matlab的應用
了解了 MATLAB 的矩陣和向量概念與輸入方法之後,MATLAB 的二維繪圖再簡單也不過了。假設有兩個同長度的向量 x 和 y, 則用 plot(x,y) 就可以自動繪制畫出二維圖來。如果打開過圖形窗口,則在最近打開的圖形窗口上繪制此圖,如果未打開窗口,則開一個新的窗口繪圖。
〖例〗正弦曲線繪制:
>> t=0:.1:2*pi; %生成橫坐標向量,使其為 0,0.1,0.2,...,6.2
y=sin(t); % 計算正弦向量
plot(t,y) %繪制圖形
這樣立即可以得出如圖所示的二維圖 [4.1(a)]
plot() 函數還可以同時繪制出多條曲線,其調用格式和前面不完全一致,但也好理解。
>> y1=cos(t); plot(t,y,t,y1); %或 plot(t,[y; y1]), 即輸出為兩個行向量組成的矩陣。
圖形見 4.1(b)。
plot() 函數最完整的調用格式為:
>> plot(x1,y1,選項1, x2,y2, 選項2, x3,y3, 選項3, ...)
其中所有的選項如表 4.1 所示。一些選項可以連用,如 '-r' 表示紅色實線。
由 MATLAB 繪制的二維圖形可以由下面的一些命令簡單地修飾。如
>> grid % 加網格線
>> xlabel('字元串') % 給橫坐標軸加說明
>> ylabel('字元串') % 給縱坐標軸加說明,
%並自動旋轉90度
>> title('字元串') % 給整個圖形加圖題
得出的圖形如右圖所示。
axis() 函數可以手動地設置 x,y 坐標軸范圍
還可以使用 plotyy() 函數繪制具有兩個縱坐標刻度的圖形。
坐標系的分割在 MATLAB 圖形繪制中是很有特色的,比較規則的分割方式是用 subplot() 函數定義的,其標准調用格式為
subplot(n,m,k)
其中,n 和 m 為將圖形窗口分成的行數和列數,而 k 為相對的編號。例如在標準的 Bode 圖繪制中需要將窗口分為上下兩個部分 (即n=2, m=1), 分割後上部編號為 1,下部編號為 2。
MATLAB 的圖形對象簡介 ( 00-12-13)
MATLAB 從 4.0 版本開始就提出了句柄圖形學 (Handle Graphics) 的概念,為面向對象的圖形處理提供了十分有用的工具。和早期版本的 MATLAB 相比較,其最大區別在於,它在圖形繪制時其中每個圖形元素
(比如其坐標軸或圖形上的曲線、文字等) 都是一個獨立的對象。用戶可以對其中任何一個圖形元素進行單獨地修改,而不影響圖形的其他部分,具有這樣特點的圖形稱為向量化的繪圖。這種向量化的繪圖要求給每個圖形元素分配一個句柄 (handle), 以後再對該圖形元素做進一步操作時,則只需對該句柄進行操作即可。
MATLAB 5.0 版進一步加強了圖形繪制的功能,而 5.3 版繪圖又具有自己的新特色。例如它提供了新的圖形編輯程序,並定義了一些消洞新的三維繪圖函數等。本章將主要介紹 MATLAB 5.3 版本的應用與特性,並介紹部分有關句柄圖形學的內容。其餘有關句柄圖形學的問題,如窗口特性設置、圖形界面設計等項內容將在第 6 章中講述圖形界面設計內容時詳細介紹。MATLAB 6 也在圖形顯示,特別是三維圖形顯示與照相機參數設置等方面引入了新鮮的內容。
MATLAB 定義的各種圖形對象及其關系如下圖所示。
對象的通用屬性如下表所示。
獲取和改變對象的屬性可以採用 get() 和 set() 函數對來實現。
>> set(句柄, 屬性1,屬性值1, 屬性2,屬性值2,...)
>> 屬性值=get(句柄,屬性)
坐標軸對象時 MATLAB 圖形中常用的對象,坐標軸對象可以用 MATLAB 5.3 上的菜單項添加。添加之後,可以用滑鼠改變其大小和形狀,其他一些屬性說明如下:
Box 屬性: 表示是否需要坐標軸上寬哪的方框,選項可以為 'on' 和 'off', 默認的值為 'on'。本書中在後面介紹屬性值時,將把默認的屬性值列在前面。
ColorOrder 屬性: 設置多條曲線的顏色順序,應該為一個 n x 3 矩陣, 可以由 colormap() 函數來設置。
GridLineStyle 屬性: 網格線類型,如實線、虛線等,其設置類似於 plot() 函數的選項,默認值為 ':'拿巧枯,見前面的表格。
NextPlot 屬性: 表示坐標軸圖形的更新方式,'replace' 是默認的選項,表示重新繪制,而 'add' 選項表示在原來的圖形上疊印,它相當於直接使用 hold on 命令的效果。
Title 屬性: 本坐標軸標題的句柄。而其具體內容由 title() 函數設定,由此句柄就可以訪問到原來的標題了。
XLabel 屬性: x 軸標注的句柄,其內容由 xlabel() 函數設定。此外,類似地還有 YLabel 和 ZLabel 屬性等。
XDir 屬性: x 軸方向,可以選擇 'normal' (正向) 和 'rev' (逆向), 此外 YDir 和 ZDir 屬性也是類似的。
XGrid 屬性: 表示 x 軸是否加網格線,可選值為 'off' 和 'on', 此外還類似地有 YGrid 和 ZGrid 選項。
XLim 屬性: x 軸上下限,以向量 [xm,xM] 形式給出。此外,還有 YLim 和 ZLim 屬性,前面介紹的 axis() 函數實際上是對這些屬性的直接賦值。
XScale 屬性: x 軸刻度類型設置,可以為 'linear' (線性的) 和 'log' (對數的)。此外還有 YScale 和 ZScale 屬性。
XTick 和 XTickLabel 屬性: XTick 屬性將給出 x 軸上標尺點值的向量,而 XTickLabel 將存放這些標尺點上的標記字元串。對 y 和 z 軸也將有相應的標尺屬性,如 ZTick 等。
MATLAB 圖形上的文字修飾 ( 00-12-12)
字元對象及其屬性
文字標注是圖形修飾中的重要因素,它可以是用戶在窗口上隨意添加的字元說明,還可以是坐標軸對象中所用到的刻度標志等。字元對象的常用屬性如下:
Color 屬性: 字元的顏色。該屬性的屬性值是一個 1x3 顏色向量。
FontAngle 屬性: 字體傾斜形式。如正常 'normal' 和斜體 'italic' 等。
FontName 屬性: 字體的名稱。如 'Times New Roman' 與 'Courier' 等。
FontSize 屬性: 字型大小大小。默認以 pt 為單位,屬性值應該為實數。
FontWeight 屬性: 字體是否加黑。可以選擇 'light'、'normal' (默認值)、'demi' 和 'bold' 4 個選項, 其顏色逐漸變黑。
HorizontalAlignment 屬性: 表示文字的水平對齊方式。可以有 'left' (按左邊對齊)、'center'
(居中對齊)、'right'(按右邊對齊) 三種選擇。類似地,對字元矩陣的位置 還有VerticalAlignment 屬性。
FontUnits 屬性: 字體大小的單位。如 'points' (磅數,即 pt) 為默認的值,此外, 還可以使用如下單位 'inches' (英寸)、'centimeters' (厘米)、'normalized' (歸一值) 與 'pixels' (像素) 等。
Rotation 屬性: 字體旋轉角度。可以為任何數值。
Editing 屬性: 是否允許互動式修改。選項可以為 'on' 和 'off'。
String 屬性: 構成本字元對象的字元串。可以是字元串矩陣。
Interpreter 屬性: 是否允許 TeX 格式。選項為 'tex' (允許 TeX 格式) 和 'none' (不允許) 兩種,前者顯示的效果好,而後者速度快。
Extent 屬性: 字元串所在的位置范圍,是只讀型的,1x4 向量,前兩個值表示字元串所在位置的左下角坐標,而後兩個分量分別為字元對象的長和高。
MATLAB 字元串中可以直接使用的一些 TeX 命令見表 4-3。
〖例〗給出下面的MATLAB命令
>> t=['\partial(f_ip)/\partialt=-\Sigma_{i=1}^n\partial(f_ip)/',...
'\partialx_i + 0.5\Sigma_{i=1}^n\Sigma_{j=1}^n',...
'\partial^2(b_{ij}p)/\partialx_i\partialx_j'];
tt=str2mat(t,'Y(\omega)=\int_0^\infty y(t)e^{-j\omegat}dt');
[x,y]=ginput(1); text(x,y,tt);
則將得出如下圖所示的結果。看見較復雜的數學公式也可以在 MATLAB 窗口中顯示出來。
〖例〗分形理論是一個很有趣的領域,在這里我們給出一個簡單的例子。任意選定一個二維平面上的初始點坐標 (x0, y0),假設我們可以生成一個在 [0,1] 區間上均勻分布的隨機數 gi,那麼根據其取值的大小,可以按下面的公式生成一個新的坐標點 (x1,y1):
從新坐標再根據隨機數計算下一個點,如此類推。可以將上面的演算法編寫出下面的 MATLAB 函數
function [x,y]=frac_tree(x0,y0,v,N)
x=[x0; zeros(N-1,1)]; y=[y0; zeros(N-1,1)];
for i=2:N
vv=v(i);
if vv<0.05, y(i)=0.5*y(i-1);
elseif vv<0.45,
x(i)=0.42*(x(i-1)-y(i-1)); y(i)=0.2+0.42*(x(i-1)+y(i-1));
elseif vv<0.85,
x(i)=0.42*(x(i-1)+y(i-1)); y(i)=0.2-0.42*(x(i-1)-y(i-1));
else,
x(i)=0.1*x(i-1); y(i)=0.1*y(i-1)+0.2;
end
end
調用此函數,我們可以由下面的 MATLAB 命令生成 10,000 個這樣的點,並將這些點 在 MATLAB 圖形窗口中用點的形式表示出來,如圖所示。
>> N=10000; v=rand(N,1);
[x,y]=frac_tree(0,0,v,N);
h=plot(x(1:10000),y(1:10000),'.'),
給出下面的命令可以設置繪圖點的大小:
>> set(h,'MarkerSize',4)
對大的 N 值,計算量大,可以考慮採用MEX C格式改寫 MATLAB 函數以加快速度。
MATLAB 其他二維圖形繪制函數 ( 00-12-21)
除了標準的 plot() 函數外,MATLAB 還提供了一些其他函數,具體調用格式和意義請見下表
這里只給出幾個例子:
彗星狀軌跡繪制:考慮一個給定函數
f(x)=tan(sin(x))-sin(tan(x))
選定自變數~$x$ 的變化范圍為 x 屬於 [-p,p], 則可以由下面的函數繪制出不同模式的圖形。
>> x=-pi:pi/200:pi;
y=tan(sin(x))-sin(tan(x)); comet(x,y);
極坐標曲線繪制:用 polar(r,t) 函數,其中 r 為幅值向量,t 為角度向量。
〖例〗繪制 r=cos(5q/4)+1/3; 其中 q 屬於[0,8p], 繪制極坐標曲線。
〖解〗 MATLAB 命令
>> t=0:.1:8*pi; r=cos(5*t/4)+1/3;
polar(t,r)
利用下面的 MATLAB 提供的繪圖命令可以繪制出各種各樣的二維曲線。
>> x=-2:0.1:2; y=sin(x);
subplot(221);
feather(x,y); xlabel('(a) feather()')
subplot(222);
stairs(x,y); xlabel('(b) stairs()')
subplot(223);
stem(x,y); xlabel('(c) stem()')
subplot(224);
fill(x,y,'r'); xlabel('(d) fill()')
考察 MATLAB 的 Gauss 偽隨機數發生函數 randn() 的分布效果,首先生成 30,000 個 Gauss 偽隨機數,然後由 hist() 函數繪制出該偽隨機數的分布函數,並和概率密度的理論值
相比較。 這一分析的 MATLAB 語句如下
>> y=randn(1,30000); xx=-3.8:0.4:3.8;
zz=hist(y,xx); zz=zz/(30000*0.4);
x1=-3.8:0.1:3.8;
y1=1/sqrt(2*pi)*exp(-x1.^2/2);
bar(xx,zz),
hold on, plot(x1,y1); hold off
半對數與全對數坐標系: 可以使用 semilogx(), semilogy() 和 loglog()。
>> theta=0:0.1:6*pi; r=cos(theta/3)+1/9;
subplot(2,2,1), polar(theta, r);
subplot(2,2,2); plot(theta, r);
subplot(2,2,3); semilogx(theta, r); grid
subplot(2,2,4); semilogy(theta, r), grid
MATLAB 語言的三維曲線繪制( 00-12-27)
三維曲線繪制
類似於二維曲線,三維曲線的標准繪制函數為 plot3()。例如,x=cos(t), y=sin(t) 和 z=t 的數學關系可以由下面語句繪制出來:
>> t=0: pi/50: 2*pi;
x=sin(t); y=cos(t); z=t;
h=plot3(x, y, z, 'g-')
set(h,'LineWidth',4*get(h,'LineWidth'))
三維網格圖
可以由 mesh() 函數繪制,其調用方法是 mesh(x,y,z), 其中 x, y, z 是網格上的三坐標矩陣。一般情況下,x 和 y 由 meshgrid() 函數生成。
〖例4-17〗考慮下面給出的二元函數,在 x, y 平面內選擇一個區域,然後繪制出
的三維表面圖形。
首先可以調用 meshgrid() 函數生成 x 和 y 平面的網格表示。該函數的調用意義十分明顯,即可以產生一個橫坐標起始於-3, 中止於 3, 步距為 0.1; 縱坐標起始於-2, 中止於2, 步距 為 0.1 的網格分割。然後由公式計算出曲面的 z 矩陣。最後調用 mesh() 函數 繪制曲面的三維表面網格圖形。
>> [x,y] = meshgrid(-3:0.1:3,-2:0.1:2);
z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);
mesh(x,y,z)
三維表面圖
同樣的數據在 surf() 函數下能得出如下所示的表面圖 (a)。在繪圖後再給出 colorbar 目錄,則將得出如 (b) 圖所示的帶有高度指示的三維表面圖。
三維對象的設置
surf() 和 mesh() 函數繪制出來的三維圖實際上是一個 MATLAB 圖形對象,它有各種各樣的屬性,例如,其 MeshStyle 屬性表示其網格的類型,既可以設置成水平的,又可以設置成垂直的。下面的語句將得出下圖的網格效果:
>> [x,y] = meshgrid(-3:0.1:3,-2:0.1:2); z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);
h=surf(x,y,z), axis([-3 3 -2 2 -0.7 1.5]); set(h,'MeshStyle','row');
figure; h1=surf(x,y,z), axis([-3 3 -2 2 -0.7 1.5]); set(h1,'MeshStyle','column');
三維圖表面著色插值的修飾
MATLAB 在三維圖繪制時,表面著色採用了各種各樣的插值方法,其中 shading flat 和 shading interp 兩個命令將方便得出如下的圖形。前者將各個表面塊用同樣的顏色表示,而後者對表面塊的著色也進行了插值處理,使其表面顯得更光滑。
MATLAB 圖形的可視編輯
從 MATLAB 5.3 版開始,就提供了圖形編輯的方便功能。在標準的MATLAB圖形窗口中有一個「圖形編輯工具條」,其中提供了各種工具,允許用戶自由地在圖形上添加文字,箭頭、曲線等,還允許用戶任意地進行三維圖的視角變換。除了工具條上的工具外,還允許用戶自如地在圖形窗口上添加、調整坐標系或進行一些標注文字的修飾。典型窗口及編輯工具條如下所示。
如果想修改某個曲線的特徵,則可以在編輯狀態下(即按下工具條中左邊的箭頭按鈕),首先單擊想改動的對象來選擇它,然後右擊滑鼠鍵,得出相應的快捷菜單,從中選擇相應的菜單項,從得出的對話框中對選中對象的屬性進行修改。
對三維圖形對象,還可以用工具條中最右邊的按鈕來控制三維圖的旋轉。
&;2000 版權所有 轉載請註明出處並加上本站鏈接
(本站版面設計參考了CTeX網站的主頁,並得到網站版主aloft與eggs的極大幫助,特此致謝)
主頁維護: 薛定宇 自2000年11月3日訪問量 (「炎黃在線」計數器)
D. matlab新人,想把矩陣中的符號變數替換為數值變數,程序運行結果不對,問題出在哪
我橡正用matlab運行過你的程序,沒問題,A是25*4的矩陣,可能是你運行程序時,工作空態如芹間存在其他變數,建議在程帆畢序前面添加:
clear,clc
E. 請問各位有啥軟體可以科學預測雙色球
我這有個軟體,採用神經網路預測雙色球,叫dragon智能雙色球,挺好用可以免費使用全部功能
F. 數據較少時可以用bp神經網路預測嗎
想做出預測,主要看你的數據能不能看出其中的規律。比如現在我給你 0, 1, 2,3 和 1, 2, 4, 8.四個點就能很簡單的看出對應關系,第二組數是以2為底數,以第一組數為冪的規律。
如果你的數據具有非常復雜的對應關系,神改搜比如現在你分類到博彩類,用神經網路理論上講是可以預測的的,很多人發了論文,講怎麼用神經網路預測雙色球什麼的。實際上效果並不是非常理想。因為內在規律太復雜,有限的數據無法透徹游歷的歸納出來到底數據怎麼變化。這種情況下,縱使你又幾千個數據也不行。
比較保險的辦法還是用逆向工程方法建立一個一個的子模型,然後整理成一個大模型再做預測。往往殲悉會比因為數據量不夠引起的神經網路預測誤差要小得多。