畫網格演算法
㈠ 網格圖怎麼畫
網格圖需要用的PS軟體,教程如下:
1.首先打開你的素材
畫格子,如果你有足夠的信心且不擅長PS,可以使用照片編輯器,選擇裁剪選項,但不裁剪,此時截圖,將得到一張被劃分為3×3的照片,再以此起稿,會稍微困難,但作用也是明顯的
㈡ 如何在matlab中進行圖像的網格劃分。
可以使用meshgrid函數
meshgrid是MATLAB中用於生成網格采樣點的函數。在使用MATLAB進行3-D圖形繪制方面有著廣泛的應用,函數效果如下圖所示:
函數功能:
生成繪制3-D圖形所需的網格數據。在計算機中進行繪圖操作時, 往往需要一些采樣點,然後根據這些采樣點來繪制出整個圖形。在進行3-D繪圖操作時,涉及到x、y、z三組數據,而x、y這兩組數據可以看做是在Oxy平面內對坐標進行采樣得到的坐標對(x, y)
例如, 要在「3<=x<=5,6<=y<=9,z不限制區間」 這個區域內繪制一個3-D圖形,如果只需要整數坐標為采樣點的話。可能需要下面這樣一個坐標構成的矩陣:
(3,9),(4,9),(5,9);
(3,8),(4,8),(5,8);
(3,7),(4,7),(5,7);
(3,6),(4,6),(5,6);
在matlab中可以這樣描述這個坐標矩陣:
把各個點的x坐標獨立出來,得:
3,4,5;
3,4,5;
3,4,5;
3,4,5;
再把各個點的y坐標也獨立出來:
9,9,9;
8,8,8;
7,7,7;
6,6,6;
這樣對應的x、y結合,便表示了上面的坐標矩陣。meshgrid就是產生這樣兩個矩陣,來簡化我們的操作。然後根據(x, y)計算獲得z,並繪制出三維圖形。
在Matlab命令窗口中鍵入type meshgrid可以查看該函數的源代碼(由此可以理解meshgrid的演算法思想), 鍵入doc meshgrid或者help meshgrid可以獲得幫助文檔。
語法
[X,Y] =meshgrid(x,y)
meshgrid返回的兩個矩陣X、Y必定是行數、列數相等的,且X、Y的行數都等於輸入參數y中元素的總個數,X、Y的列數都等於輸入參數x中元素總個數(這個結論可以通過查看meshgrid的源代碼得到,可以通過示常式序得到驗證)。
[X,Y]=meshgrid(x)與[X,Y]=meshgrid(x,x)是等同的
[X,Y,Z]=meshgrid(x,y,z)生成三維數組,可用來計算三變數的函數和繪制三維立體圖
相關函數: plot3、mesh、surf、automesh、ndgrid
㈢ 網格演算法有哪些
3.2演算法
3.2.1演算法的概念
3.2.1.1 什麼叫演算法
演算法(Algorithm)是解題的步驟,可以把演算法定義成解一確定類問題的任意一種特殊的方法。在計算機科學中,演算法要用計算機演算法語言描述,演算法代表用計算機解一類問題的精確、有效的方法。演算法+數據結構=程序,求解一個給定的可計算或可解的問題,不同的人可以編寫出不同的程序,來解決同一個問題,這里存在兩個問題:一是與計算方法密切相關的演算法問題;二是程序設計的技術問題。演算法和程序之間存在密切的關系。
演算法是一組有窮的規則,它們規定了解決某一特定類型問題的一系列運算,是對解題方案的准確與完整的描述。制定一個演算法,一般要經過設計、確認、分析、編碼、測試、調試、計時等階段。
對演算法的學習包括五個方面的內容:① 設計演算法。演算法設計工作是不可能完全自動化的,應學習了解已經被實踐證明是有用的一些基本的演算法設計方法,這些基本的設計方法不僅適用於計算機科學,而且適用於電氣工程、運籌學等領域;② 表示演算法。描述演算法的方法有多種形式,例如自然語言和演算法語言,各自有適用的環境和特點;③確認演算法。演算法確認的目的是使人們確信這一演算法能夠正確無誤地工作,即該演算法具有可計算性。正確的演算法用計算機演算法語言描述,構成計算機程序,計算機程序在計算機上運行,得到演算法運算的結果;④ 分析演算法。演算法分析是對一個演算法需要多少計算時間和存儲空間作定量的分析。分析演算法可以預測這一演算法適合在什麼樣的環境中有效地運行,對解決同一問題的不同演算法的有效性作出比較;⑤ 驗證演算法。用計算機語言描述的演算法是否可計算、有效合理,須對程序進行測試,測試程序的工作由調試和作時空分布圖組成。
3.2.1.2演算法的特性
演算法的特性包括:① 確定性。演算法的每一種運算必須有確定的意義,該種運算應執行何種動作應無二義性,目的明確;② 能行性。要求演算法中有待實現的運算都是基本的,每種運算至少在原理上能由人用紙和筆在有限的時間內完成;③ 輸入。一個演算法有0個或多個輸入,在演算法運算開始之前給出演算法所需數據的初值,這些輸入取自特定的對象集合;④ 輸出。作為演算法運算的結果,一個演算法產生一個或多個輸出,輸出是同輸入有某種特定關系的量;⑤ 有窮性。一個演算法總是在執行了有窮步的運算後終止,即該演算法是可達的。
滿足前四個特性的一組規則不能稱為演算法,只能稱為計算過程,操作系統是計算過程的一個例子,操作系統用來管理計算機資源,控製作業的運行,沒有作業運行時,計算過程並不停止,而是處於等待狀態。
3.2.2演算法的描述
演算法的描述方法可以歸納為以下幾種:
(1) 自然語言;
(2) 圖形,如N�S圖、流程圖,圖的描述與演算法語言的描述對應;
(3) 演算法語言,即計算機語言、程序設計語言、偽代碼;
(4) 形式語言,用數學的方法,可以避免自然語言的二義性。
用各種演算法描述方法所描述的同一演算法,該演算法的功用是一樣的,允許在演算法的描述和實現方法上有所不同。
人們的生產活動和日常生活離不開演算法,都在自覺不自覺地使用演算法,例如人們到商店購買物品,會首先確定購買哪些物品,准備好所需的錢,然後確定到哪些商場選購、怎樣去商場、行走的路線,若物品的質量好如何處理,對物品不滿意又怎樣處理,購買物品後做什麼等。以上購物的演算法是用自然語言描述的,也可以用其他描述方法描述該演算法。
圖3.3用流程圖描述演算法的例子,其函數為:
圖3.3是用流程圖圖形描述演算法
3.2.3演算法的復雜性
演算法的復雜性是演算法效率的度量,在評價演算法性能時,復雜性是一個重要的依據。演算法的復雜性的程度與運行該演算法所需要的計算機資源的多少有關,所需要的資源越多,表明該演算法的復雜性越高;所需要的資源越少,表明該演算法的復雜性越低。
計算機的資源,最重要的是運算所需的時間和存儲程序和數據所需的空間資源,演算法的復雜性有時間復雜性和空間復雜性之分。
演算法在計算機上執行運算,需要一定的存儲空間存放描述演算法的程序和演算法所需的數據,計算機完成運算任務需要一定的時間。根據不同的演算法寫出的程序放在計算機上運算時,所需要的時間和空間是不同的,演算法的復雜性是對演算法運算所需時間和空間的一種度量。不同的計算機其運算速度相差很大,在衡量一個演算法的復雜性要注意到這一點。
對於任意給定的問題,設計出復雜性盡可能低的演算法是在設計演算法時考慮的一個重要目標。另外,當給定的問題已有多種演算法時,選擇其中復雜性最低者,是在選用演算法時應遵循的一個重要准則。因此,演算法的復雜性分析對演算法的設計或選用有著重要的指導意義和實用價值。
在討論演算法的復雜性時,有兩個問題要弄清楚:
(1) 一個演算法的復雜性用怎樣的一個量來表達;
(2) 怎樣計算一個給定演算法的復雜性。
找到求解一個問題的演算法後,接著就是該演算法的實現,至於是否可以找到實現的方法,取決於演算法的可計算性和計算的復雜性,該問題是否存在求解演算法,能否提供演算法所需要的時間資源和空間資源。
㈣ 什麼是網格演算法
網格化是解釋流程中構造成圖的比較重要的一步,演算法種類也比較多。在SMT中就列出了許多種演算法供選擇,當然每種演算法有自己的特點和適應性,所以在真正網格化操作時為了提高預測的精度需要選擇合適的演算法。如下為SMT中提供的幾種演算法簡單對比。
Collocated Cokriging
協克里金演算法
層位、斷層、網格、XYZ數據、層段屬性、鑽井分層(較好用於井數據與地震屬性匹配)
Cubic Spline
樣條插值
三維的層位、網格、斷層、XYZ數據
Flex Gridding
彈性網格化
層位、斷層、網格、XYZ數據、層段屬性、鑽井分層
Gradient Projection
梯度投影
二維、三維的層位、網格、斷層、等值線、XYZ數據(較好用於構造數據)
Inverse Distance to a Power
反距離加權
二維、三維的層位、網格、斷層、等值線、XYZ數據、層段屬性、鑽井分層(較好用於速度成圖)
Natural Neighbor
自然鄰點插值
XYZ數據、層段屬性、鑽井分層(較好用於非地震類數據)
Ordinary Kriging
普通克里金插值
XYZ數據、層段屬性、鑽井分層(較好用於滲透率成圖)
Simple Kriging
簡單克里金插值
XYZ數據、層段屬性、鑽井分層(較好用於滲透率成圖)
Universal Kriging
廣義克里金
XYZ數據、層段屬性、鑽井分層(較好用於滲透率圖件和有整體變化趨勢的數據)
這里對兩種演算法做個介紹:
1、SMT8.2版本中新出現的Flex Gridding 彈性網格化演算法
該演算法利用差分方程系統原理,產生的網格節點處數值需要滿足以下兩種原則:
. 內插面與實際數據產生的趨勢面一致或者很接近;
. 該面的RMS曲率值盡可能小。
如果在一個節點處應用每一種方程都計算差分的話,而且將鄰近點都考慮在內的話,其結果會形成一個組合,但越遠的點影響越弱、越不直接。因此,在計算時都假設鄰近節點為常數,每個方程就會得到一個網格數值。如此重復應用於其它節點處。這樣可以解決單個節點的問題,我們將方程稱為「調和器」。該方法產生的曲率面會趨於最小,而且逼近實際數據。
由於每個節點在進行調和濾波計算時都需要一個局部的調和器,網格節點多時就會有許多次迭代計算過程。迭代次數差不多為N的e次方(N為數據列/行數)。因此初始網格一般時非常小的。
2、Collocated Cokriging 協克里金插值
協克里金插值與克里金演算法原理基本一樣,都是通過差異比較來計算網格數值,同時產生方差圖,但是該方法假設事件都是多屬性的,可以利用第二種協數據(如層位)輔助第一種主數據進行稀疏數據點(如井控制點)的內插。
協克里金插值利用第二種協數據指導主數據的網格化,可以提高克里金插值的准確性。該演算法中斷層可以參與運算。在使用時用稀疏數據(如井數據)作為主數據,另外一種密集分布數據作為協數據。
在具體計算中網格點處主數據有值的地方都用主數據的值,如果網格點處沒有值時則用協數據作為輔助進行計算。並且會同時產生一個方差模型。
最終的協方差網格結果為主數據進行克里金插值,同時受協數據影響。
因此,如果主數據為密集分布的數據,計算產生的網格也會接近主數據。例如,數據中包括測井解釋的孔隙度數據(稀疏分布),從地震屬性中預測的偽孔隙度數據(密集分布)。數據單位是一致的,但來源可能不一樣。
對於這種情況下協克里金插值就是一種很好的網格演算法,還可以建立起振幅與孔隙度之間的關系。
在應用時有以下注意事項:
1)在主數據為稀疏分布,協數據偽密集分布時應用效果最好。
2)如果主數據與協數據之間有一定聯系的話效果最好。
3)數據類型最好一致。
㈤ 如何用matlab畫網格圖
繪制網格圖:mesh(X,Y,Z);
1、三維曲面或網線圖的數據准備:
要繪制函數z=f(x,y)所代表的三維空間曲面,需要做以下准備:
(1) 確定自變數x,y的取值范圍和間隔,x=x1:dx:x2,y=y1:dy:y2;
(2)構成xoy面上的自變數格點矩陣,[X,Y]=meshgrid(x,y);
(3)獲得自變數在格點上的函數值,即Z=f(X,Y)。
2、繪制曲面或網線圖的命令:
繪制曲面:surf(X,Y,Z);
繪制網線:mesh(X,Y,Z);
(5)畫網格演算法擴展閱讀:
二維繪圖函數plot:
1、經典調用格式:plot(x,y,'s')
說明:x,y分別為自變數和對應的因變數,以確定橫坐標和縱 坐標;輸入量s用來確定線性和顏色,可以組合使用。
2、plot衍生調用格式 :plot(X,Y, 's')/plot(X,Y)
說明:當X和Y均為m×n數組時,將選取X的第i列和Y的第i列 作為一對自變數和因變數,繪制出n條曲線。
參考資料:網路-MATLAB
㈥ 怎麼才可以快速的畫網格
你可以用Photoshop中打開標尺,然後用鉛筆工具,選定適當的顏色,按住Crtl+Shift就可以畫了。用ICECreateDIBSection可建立設備無關點陣圖,在地址裡面直接寫數據,之後DrawDibDraw,速度最快。也不知道你習慣用什麼。看下希望對你有用
㈦ cad中如何畫網格線
1、打開計算機中已經安裝的CAD軟體,打開後默認顯示的是dwg文件視圖界面。
㈧ 用python 畫一個網格
print函數是輸出字元串,所以用 print輸出形成的 grid其實質是具有某特定形狀的字元串,而plt.grid() 繪制出的網格是 圖片。
字元串是可以用文字處理軟體(如 word、記事本等)直接編輯處理的,而圖片則只能用圖片編輯軟體(如畫筆)打開處理。
如問題所要求的最簡單的「編寫一個能畫出如下網格(grid)的函數」代碼,可以簡單的用 print函數就可以了:
㈨ ICEM畫網格
你沒設置節點數量啊,所以只有四個角有節點。左側按鈕,就是meshing paramenters下面的,第三個是設置節點數量的。建結構化網格的時候,軟體把建網格的各種操作全權交給用戶,不像非結構化那樣,設置一個全局大小,網格靠系統拓撲演算法給你建出來。你必須自己設置數量
㈩ Word文檔裡面怎麼畫網格圖
1、電腦打開word,點擊頁面設置的圖標。