二維區間統計方法

2022-06-16 12:00:09 字數 1107 閱讀 6225

1、滿足第一列同時滿足第二列中的行數

例子:

a=[123

4243

5]b=[121

2442

6]x=find(a>1 & a<4

)y=find(b(x)>1& b(x)<4)

x(y)

輸出結果(格式已規整,非matlab格式):

a =1 2 3 4 2 4 3 5   b =1 2 1 2 4 4 2 6   x =2 3 5 7  y =1 4 ans =2 7

2、區間統計的方式:

m=20;n=20

;x6=x6(:,6);y6=y(:,6); %匯入資料

%求最大值最小值

x6_min=min(x6);x6_max=max(x6);y6_min=min(y6);y6_max=max(y6);

%區間間隔,及區間的邊界

x6_m=(x6_max-x6_min)/m;

y6_n=(y6_max-y6_min)/n;

for i=1:m+1

x_m(i)=x6_min+x6_m*(i-1

)end

for i=1:m+1

x_m(i)=x6_min+x6_m*(i-1

)end

xy_mn=zeros(m,n);

%判斷是否在某乙個區間

for j=1

:n i=1

:m x_m_n=find(x6>x_m(i) & x61

)); y_n_n=find(y6(x_m_n)>y_n(j) & y6(x_m_n)< y_n(i+1

)); xy_mn(i,j)=length(y_n_n)

%  xy_n=x_m_n( y_n_n)

endfigure(

1);bar3(xy_mn);

figure(

2);bar(sum(xy_mn));

figure(

3);bar(sum(xy_mn'

);

ps: 如果需要獲取某個二維區間的元素,需要在2中最後乙個迴圈新增   xy_n=x_m_n( y_n_n)

棋盤分割(二維區間DP)

題目大意 給乙個棋盤,棋盤上每個格仔中都有乙個值,現在需要將棋盤切成n個矩形,總共切n 1刀,求最小的均方差。均方差定義為 其中。題目分析 將均方差化簡得到 均方差2 xi 2 n 平均值2。顯然,平均值2是定值,為數字總和除以n。只需讓矩形的和的平方和最小即可。先預處理出陣列s x1,y1,x2,...

二維陣列統計單詞個數

題目 讀取幾行文字 不超過五行,每行不超過20個字元,且每行行首可能有空格,單詞之間得空格可以多於乙個,每行末尾可能有多個空格 編寫函式,統計單詞出現得次數 思路 這道題困擾了我許久,我一直對於二維字元陣列不太感冒,一直也做不出來。今天終於做出來了。所以發部落格紀念一下。我先輸入乙個n,用來控制我一...

C 二維陣列統計不同整數

題目 編寫函式int stat int a,int n,int c 2 a指向的陣列中儲存了由n個1位整數組成的數列 n為偶數 函式從前至後依次將 a陣列中每兩個相鄰元素拼成乙個不超過 2位的整數,從而生成有 n 2個元素組成的整數數列 統計該數列中不同整數各自出現的次數,並將統計結果儲存到 c指向...