1. 程式人生 > >2017.3.20 MATLAB(一)資料型別

2017.3.20 MATLAB(一)資料型別

資料型別

1數值型別


@整數

    *浮點型轉整數型的轉換函式,將數值轉換為最為接近的整數值,若分數部分為0.5時,轉換為最接近的兩個整數中絕對值較大的一個。

    *取整函式:

     floor(x)向下取整

     ceil(x)向上取整

     round(x)取最接近的整數

     fix(x)向0取整

@浮點數型別

  • 系統預設的數值型別是double的,所以使用double時可以省略double符號
  • double型別的數值與其他型別的數值運算時,結果為其他型別的數值,single型別的數值不能和整型直接運算,各種不同位數的整形之間也不能直接運算。

@複數

複數由實部和虛部兩部分構成,在Matlab中,字元i或j預設作為虛部標誌,關於複數的相關函式如下:


函式 說明 函式 說明
complex(a,b) 構造以a為實部,以b為虛部的複數 i,j 虛部標識
real(z) 返回複數z的實部 image(z) 返回複數z的虛部
abs(z) 返回複數z的模 angle(z) 返回複數z的輔角
conj(z) 返回複數z的共軛複數

@無窮量Inf、非數值量NaN

2邏輯型別

@關係運算符

     ==等於   ~=不等於   =賦值

@邏輯運算子

    &與    |或    ~非

3字元和字串

一個字串儲存在一個行向量中

字串一般是ASCII值的數值陣列,字串裡的每個字元是數組裡的一個元素

單引號括起來string='every good boy does fun'

字串內的單引號string='It''s not the manual!'            顯示string= 

                                                                                                                  It's not the manual!

字串陣列主要用於視覺化程式設計內容,如介面設計和圖形繪製。

1.字串變數的建立

字元變數的建立方法是:在指令視窗中先把待建的字元放在“單引號對”中,再按回車鍵。注意,該“單引號對”必須在英文狀態下輸入。這“單引號對”是MATLAB用來識別字符串變數所必須的。如:
>>a='This is an example.'
a =
    This is an example.
>>msg = 'You''re right!' %建立帶單引號的字串
msg =
    You're right!

2.字串陣列的標識

字串變數的每個字元(英文字母、空格和標點都是平等的)佔據一個元素位,在陣列中元素所處的位置用自然數標識。如:

>>a='Thisis an example.'
>>b=a(1:4) % 提出一個子字串
b =
    This
ra=a(end:-1:1) % 字串的倒排
ra =
    .elpmaxe na si sihT
又如:
>>A='這是一個算例。';
>>B=size(A) % 符號陣列 A 的“大小”
B =
    1   7
>>C=A([5 6]) % 提出一個子字串
C =
    算例

3.字串的ASCII

字串的儲存是用ASCII碼實現的。指令abs和double都可以用來獲取串陣列所對應的ASCII碼數值陣列。指令char可把ASCII碼陣列變為串陣列。如
>>d=double(a)
d =
    84 104 105 115 32 105 115 32 97 110 32 101 120 97 109 112108 101 46
>>char(d)
ans =
    This is an example.

例:對字串ASCII碼陣列的操作:使字串中字母全部大寫>>w=find(a>='a'&a<='z');%找出串陣列a中,小寫字母的元素位置。
>>d(w)=d(w)-32; %大小寫字母ASCII值差32用數值加法改變部分碼值。
>>char(d) %把新的ASCII碼翻成字元
ans =
     THIS IS AN EXAMPLE.

4.字串陣列的運算(主要是連線)

4.1 連線成一行

>>Aa=[A,a]    可將字串連線成一行長字串  
Aa =
    這是一個算例。This is an example.
>>name = strcat('Thomas',' R.',' Lee') %連線兩個字串,每個字串最右邊的空格被裁切
name =
      Thomas R. Lee

4.2多個字串形成多行字串矩陣

l         用中括號則要求兩個字串一般長

>> Aa=[A;a];  %操作錯誤,不能成生成二行的矩陣,長度不一致

l         用char或strvcat函式進行連線

>>D=strvcat('Hello','Yes','No','Goodbye')%利用串操作函式(chat也可以)建立多行串陣列, 連線多行字串,每行長度可不等,自動把非最長字串最右邊補空格, 使與最長字串相等,會忽略空字串。
D =
    Hello
    Yes
    No
    Goodbye

5. 字串替換和查詢

strrep—進行字串替換,區分大小寫>>strrep(str1,str2,str3)%它把str1中所有的str2字串用str3來替換
strfind(str,patten) %查詢str中是否有pattern,返回出現位置,沒有出現返回空陣列
findstr(str1,str2) %
查詢str1str2中,較短字串在較長字串中出現的位置,沒有出現返回空陣列
strmatch(patten,str) %檢查patten是否和str最左側部分一致
strtok(str,char) %
返回str中由char指定的字串前的部分和之後的部分,

6.常用字串操作函式

blanks(n)—建立有n個空格組成的字串
deblank(str)—裁切字串的尾部空格
strtrim(str)—裁切字串的開頭和尾部的空格,製表,回車符
lower(str)—將字串中的字母轉換成小寫
upper(str)—將字串中的字母轉換成大寫
sort(str)—按照字元的ASCII值對字串排序
num2str—將數字轉換為數字字串
str2num—將數字字串轉換為數字
mat2str—將陣列轉換成字串
int2str—把數值陣列轉換為整數數字組成的字元陣列

7.其他字串操作函式

strcmp—比較兩個字串是否完全相等,是,返回真,否則,返回假
strncmp—比較兩個字串前n個字元是否相等,是,返回真,否則,返回假
strcmpi—比較兩個字串是否完全相等,忽略字母大小寫
strncmpi—比較兩個字串前n個字元是否相等,忽略字母大小寫
isletter—檢測字串中每個字元時否屬於英文字母
isspace—檢測字串中每個字元是否屬於格式字元(空格,回車,製表,換行符等)
isstrprop—檢測字元每一個字元是否屬於指定的範圍.

【例】綜合例題:在MATLAB計算生成的圖形上標出圖名和最大值點座標。

clear

a=2;

w=3;

t=0:0.01:10;

y=exp(-a*t).*sin(w*t);

[y_max,i_max]=max(y);

t_text=['t=',num2str(t(i_max))];          %   <7>

y_text=['y=',num2str(y_max)];             %   <8>

max_text=char('maximum',t_text,y_text);   %   <9>

%

tit=['y=exp(-',num2str(a),'t)*sin(',num2str(w),'t)'];          %<11>

plot(t,zeros(size(t)),'k')

hold on

plot(t,y,'b')

plot(t(i_max),y_max,'r.','MarkerSize',20)

text(t(i_max)+0.3,y_max+0.05,max_text) %   <16>

title(tit),xlabel('t'),ylabel('y'),holdoff 


4函式控制代碼

間接呼叫

[email protected]_Filename;

Function_Filename為對應的M檔案或者內部函式

Function_Handle為變數名,後續運算可直接通過Function_Handle(x)來實現Function_Filename(x)的功能

5結構體型別

  結構陣列的建立
    Matlab提供了兩種定義結構的方式:直接引用和使用struct函式。


1. 使用直接引用方式定義結構

命名方式  "結構體名.欄位名"

與建立數值型陣列一樣,建立新struct物件不需要事先申明,可以直接引用,而且可以動態擴充。比如建立一個複數變數x
x.real = 0; % 建立欄位(field)名為real,併為該欄位賦值為0
x.imag = 0  x建立一個新的欄位imag,併為該欄位賦值為0
x =
real: 0
imag: 0
然後可以將其動態擴充為陣列:
x(2).real = 0; % x擴充為1×2的結構陣列
x(2).imag = 0;
在任何需要的時候,也可以為陣列動態擴充欄位,如增加欄位scale
x(1).scale = 0;
這樣,所有x都增加了一個scale欄位,而x(1)之外的其他變數的scale欄位為空:
x(1) % 檢視結構陣列的第一個元素的各個欄位的內容
ans =
real: 0
imag: 0
scale: 0
x(2) % 檢視結構陣列的第二個元素的各個欄位的內容,注意沒有賦值的欄位為空
ans =
real: 0
imag: 0
scale: []
應該注意的是,xrealimagscale欄位不一定是單個數據元素,它們可以是任意資料型別,可以是向量、陣列、矩陣甚至是其他結構變數或單元陣列,而且不同欄位之間其資料型別不需要相同。例如:
clear x; x.real = [1 2 3 4 5]; x.imag = ones(10,10);

陣列中不同元素的同一欄位的資料型別也不要求一樣:
x(2).real = 'abc';
x(2).imag = rand(5,1);
甚至還可以通過引用陣列欄位來定義結構資料型別的某欄位:
x(3).real = x(1); x(3).imag = 3; x(3)
ans =
real: [1x1 struct]
imag: 3


下面看一個實際的例子來熟悉直接引用方式定義與顯示結構。


【例】 溫室資料(包括溫室名、容量、溫度、溼度等)的建立與顯示。
1 直接對欄位賦值法產生結構變數
green_house.name = '一號溫室';  % 建立溫室名欄位
green_house.volume = '2000立方米'; % 建立溫室容量欄位
green_house.parameter.temperature = [31.2 30.4 31.6 28.7 29.7 31.1 30.9 29.6]; % 建立溫室溫度欄位
green_house.parameter.humidity = [62.1 59.5 57.7 61.5 62.0 61.9 59.2 57.5]; % 建立溫室溼度欄位
2)顯示結構變數的內容
green_house % 顯示結構變數結構
green_house =
name: '一號溫室'
volume: '2000立方米'
parameter: [1x1 struct]
green_house.parameter % 用欄位作用符號顯示指定欄位(parameter)中內容
ans =
temperature: [2x4 double]
humidity: [2x4 double]
green_house.parameter.temperature % 顯示temperature欄位中的內容
ans =
31.2000 30.4000 31.6000 28.7000
29.7000 31.1000 30.9000 29.6000

【例】在上例的基礎上,建立結構陣列用以儲存一個溫室群的資料。
green_house(2,3).name = '六號溫室'; %產生2×3結構陣列
green_house % 顯示結構陣列的結構
green_house =
2x3 struct array with fields:
name
volume
parameter
green_house(2,3) % 顯示結構陣列元素的結構
ans =
name: '六號溫室'
volume: []
parameter: []

2. 使用struct函式建立結構

使用struct函式也可以建立結構,該函式產生或把其他形式的資料轉換為結構陣列。

struct的使用格式為:


s = sturct('field1',values1,'field2',values2,…);


     該函式將生成一個具有指定欄位名和相應資料的結構陣列,其包含的資料values1valuese2等必須為具有相同維數的資料。對於struct的賦值用到了單元陣列。陣列values1values2等可以是單元陣列、數值陣列或者單個數值。每個values的資料被賦值給相應的field欄位。
     value為單元陣列的時候,生成的結構陣列的維數與單元陣列的維數相同。而在資料中不包含單元陣列的時候,得到的結構陣列的維數是1×1的。例如:
s = struct('type',{'big','little'},'color',{'blue','red'},'x',{3,4})
s =
1x2 struct array with fields:
type
color
x
      得到維數為1×2的結構陣列s,包含了typecolorx3個欄位。這是因為在struct函式中{'big','little'}{'blue','red'}{3,4}都是1×2的單元陣列,可以看到兩個資料成分分別為:
s(1,1)
ans =
type: 'big'
color: 'blue'
x: 3
s(1,2)
ans =
type: 'little'
color: 'red'
x: 4

下面給出利用struct構建結構陣列的具體例項。
【例】利用函式struct,建立溫室群的資料庫。
1 struct預建立空結構陣列方法之一
a = 
cell(2,3); % 建立2×3的單元陣列

green_house_1=struct('name',a,'volume',a,'parameter',a(1,2))
green_house_1 =
2x3 struct array with fields:
name
volume
parameter
2struct預建空結構陣列方法之二
green_house_2=struct('name',a,'volume',[],'parameter',[])  
green_house_2 =
2x3 struct array with fields:
name
volume
parameter
3struct預建空結構陣列方法之三
green_hopuse_3(2,3)=struct('name',[],'volume',[],'parameter',[])
green_hopuse_3 =
2x3 struct array with fields:
name
volume
parameter
4struct建立結構陣列方法之四
a1={'六號房'};a2={'3200立方米'};
green_house_4(2,3)=struct('name',a1,'volume',a2,'parameter',[]);
T6=[31.2,30.4,31.6,28.7;29.7,31.1,30.9,29.6];         green_house_4(2,3).parameter.temperature=T6;        
green_house_4
ans =
2x3 struct array with fields:
name
volume
parameter

2. 結構陣列的操作

     MATLAB中專門用於對結構陣列的操作的函式並不多,通過 help datatypes獲取資料型別列表,可以看到其中的結構資料型別的有關的函式,主要有


函式名                功能描

deal                將其引數值(如單元陣列)的內容分別輸出到一個個獨立的變數

fieldnames          獲取結構的欄位名
getfield             獲取結構中指定欄位的值

rmfield             刪除結構的欄位(不是欄位內容)
setfield             設定結構陣列中指定的欄位的值

struct               建立結構陣列
struct2cell           結構陣列轉化成單元陣列

isfield              判斷是否存在該欄位
isstruct              判斷某變數是否是結構型別  

下面舉一些具體的例子說明如果對結構陣列加以操作。

【例】對結構陣列進行欄位的增添和刪減操作。
1)建立結構陣列
clear,for k=1:10;department(k).number=['No.',int2str(k)];end
department
department =
1x10 struct array with fields:
number
2)增添欄位:在陣列中任何一個結構上進行的欄位增添操作,其影響遍及整個結構陣列
department(1).teacher=40;department(1).student=300;
department(1).PC_computer=40;
department
department =
1x10 struct array with fields:
number
teacher
student
PC_computer
3)增添子欄位的操作隻影響被操作的那個具體結構,而不是影響整個結構陣列
department(2).teacher.male=35;department(2).teacher.female=13;
D2T=department(2).teacher   % 2結構teacher欄位包含兩個子欄位
D1T=department(1).teacher   % 1結構teacher欄位僅是一個數
D2T =
male: 35
female: 13
D1T =
40
4)刪除子欄位的操作也隻影響被操作的那個具體結構
department(2).teacher=rmfield(department(2).teacher,'male');
department(2).teacher
ans =
female: 13
5)刪除欄位的操作是對整個結構陣列實施的
department=rmfield(department,'student') % 刪除一個欄位
department =
1x10 struct array with fields:
number
teacher
PC_computer
department=rmfield(department,{'teacher';'PC_computer'})% 刪除2個欄位
department =
1x10 struct array with fields:
number

【例】數值運算操作和函式在結構欄位上的作用。
n_ex = 5; % 結構陣列的長度
for k = 1:n_ex, % 建立1×5結構陣列
ex(k).f = (k-1)*n_ex + [1:5];
end;
ex                 % 顯示結構陣列的結構
ex =
1x5 struct array with fields:
f
%顯示結構陣列的欄位中內容
disp([blanks(10) '結構欄位中內容'])
for k=1:n_ex,disp(ex(k).f),end
結構欄位中內容
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
class(ex(1).f)             % 檢查欄位中內容的型別
ans =
double
對各結構欄位中數值陣列相應位置的資料相加求和
sum_f=zeros(1,5)
for k=1:n_ex,sum_f=sum_f+ex(k).f;end,sum_f
sum_f =
55 60 65 70 75
對結構陣列欄位中各元素分別求平方根
disp([blanks(20) 'ex.f的平方根值'])
for k=1:n_ex,
disp(sqrt(ex(k).f)),
end
ex.f的平方根值
1.0000 1.4142 1.7321 2.0000 2.2361
2.4495 2.6458 2.8284 3.0000 3.1623
3.3166 3.4641 3.6056 3.7417 3.8730
4.0000 4.1231 4.2426 4.3589 4.4721
4.5826 4.6904 4.7958 4.8990 5.0000

【例】 指令struct2cellcell2struct的使用。
1)建立2個欄位的 結構陣列
for k=1:5,
ex(k).s=['No.' int2str(k)];
ex(k).f=(k-1)*5+[1:5];
end
2)顯示結構陣列的內容
fprintf('%s\n','ex.s欄位的內容 ');fprintf('%s\',blanks(4))
for k=1:5;fprintf('%s\\',[ex(k).s blanks(1)]);end
fprintf('%s\n',blanks(1)),fprintf('%s\n','ex.f欄位的內容 ')
for k=1:5;disp(ex(k).f);end   %顯示ex.f欄位內容
ex.s欄位的內容
No.1 \No.2 \No.3 \No.4 \No.5 \

ex.f欄位的內容
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
3)把ex結構陣列轉換為單元陣列
C_ex=struct2cell(ex); % 2個欄位的(1×5)結構陣列轉換為(2×1×5)單元陣列
size(C_ex)
fprintf('%s\',[C_ex{1,1,1},blanks(3)])   % 顯示C_ex1頁第1行第1列內容
fprintf('%5g\',C_ex{2,1,1})     % 顯示C_ex2頁第1行第1列內容
ans =
2 1 5
No.1 1 2 3 4 5
4)把單元陣列轉換為結構陣列之一
FS={'S_char';'F_num'};     % 用單元陣列預建欄位名字串
EX1=cell2struct(C_ex,FS,1)   % 單元陣列向結構陣列轉換
EX1 =
1x5 struct array with fields:
S_char
F_numric
EX1(1)             % 觀察新結構EX1第一結構的情況
ans =
S_char: 'No.1'
F_numric: [1 2 3 4 5]
5)把單元陣列轉換為結構陣列之二
EX2=cell2struct(C_ex,'xx',2)
EX2 =
2x5 struct array with fields:
xx
6)把單元陣列轉換為結構陣列之三
YY=strvcat('y1','y2','y3','y4','y5');EX3=cell2struct(C_ex,YY,3)
EX3 =
2x1 struct array with fields:
y1
y2
y3
y4
y5
EX3(1)             % 觀察第一結構情況
ans =
y1: 'No.1'
y2: 'No.2'
y3: 'No.3'
y4: 'No.4'
y5: 'No.5'
EX3(2)             % 觀察第二結構情況
ans =
y1: [1 2 3 4 5]
y2: [6 7 8 9 10]
y3: [11 12 13 14 15]
y4: [16 17 18 19 20]
y5: [21 22 23 24 25]

6陣列型別

:    i:k              i:j:k

linspace(a,b,100)

單元陣列

單元陣列中的每一個元素稱為單元(cell). 單元可以包含任何型別的matlab資料這些資料型別包括數值陣列字元符號物件甚至其他的單元陣列和結構體不同的單元可以包含不同的資料.

1.1單元陣列建立與顯示:

1、直接賦值法:按單元索引法 和按內容索引法。(其實也就是將花括號放在等式的右邊或是左邊的區別)。注意:按單元索引法按內容索引法是完全等效的,可以互換使用。通過下面例項,我們看到:花括號{}用於訪問單元的值,而括號()用於標識單元(即:不用於訪問單元的值)。具體理解{}和()區別可以在下面程式碼最後分別輸入A{2,2}A(2,2)。就會發現按內容索引法{}”能顯示完整的單元內容,而按單元索引法()有時無法顯示完整的單元內容。

>> A(1,1)={[1 2 3; 4 5 6;7 8 9]};          % 按單元索引法

>> A(1,2)={2+3i};

>> A(2,1)={'A character'};

>> A(2,2)={12:-2:0};

>> A                                     %要想詳細顯示A中的內容,可用指令:celldisp(A)

A =

     [3x3 double]    [2.0000 + 3.0000i]
    'A character'          [1x7 double]

>> B{1,1}=[1 2 3;4 5 6;7 8 9];           % 按內容索引法。

>> B{1,2}=2+3i;

>> B{2,1}='A character';
>> B{2,2}=12:-2:0;

>>B

B =

     [3x3 double]    [2.0000 + 3.0000i]
    'A character'          [1x7 double]

2、利用cell函式法:即首先用cell函式生成一個空的單元陣列,然後再向其中新增所需的資料。下面的程式碼生成一個2X3的空單元陣列:

>> C=cell(2,3)

C =

     []     []     []
     []     []     []

利用cell生成空單元陣列後,可以採用按單元索引法按內容索引法對其進行賦值。在賦值時,使用者一定要注意{}和()的用法。

>> C(1,1)={'This does work'}

C =

    'This does work'     []     []
                  []                []     []

>> C{2,3}='This work'

C =

    'This does work'      []             []
                  []                []    'This work'

1)利用cell指令建立單元陣列

C=cell(2);            %預設matlab空單元陣列

C(:,1)={char('Another','textstring');10:-1:1} %對第一列單元賦值

C=

    [2x11char  ]       []

    [1x10double]     []  


2)單元陣列的“列”擴充和“行”擴充

AC=[A C]                            %空格(或逗號)利用來分隔列

A_C=[A;C]                           %分號利用來分隔“行”

AC =

          [2x10 char]          [3x3 double]         [2x11 char ]        []

    [1.0000+ 2.0000i]       [1x1 sym  ]        [1x10 double]     []

A_C =

        [2x10 char  ]            [3x3 double]

    [1.0000+ 2.0000i]        [1x1 sym  ]

        [2x11 char  ]                      []

        [1x10 double]                   [] 

【例】cellplot能用圖形形象化地表示單元陣列的內容。(A_C取自上例)

cellplot(A_C,'legend')


單元陣列的收縮

A_C(3,:)=[]                    %刪除第3行,使A_C成為matlab的單元陣列  

A_C =

        [2x10 char  ]           [3x3 double]

    [1.0000+ 2.0000i]         [1x1 sym   ]

        [1x10 double]                 []  

A_C重組成matlab單元陣列R_A_C

R_A_C=reshape(A_C,2,3)
R_A_C =

          [2x10 char]            [1x10 double]    [1x1 sym]

[1.0000+ 2.0000i]    [3x3  double]           []  

1.2 單元陣列內容的調取

取一個單元

f1=R_A_C(1,3)                       %使用圓括號尋訪得到的是單元,而不僅是內容。

class(f1) 

f1 =

    [1x1 sym]

ans =

cell  

取一個單元的內容

f2=R_A_C{1,3}                        %用花括號尋訪取得內容

class(f2) 

f2=

sin(-3*t)*exp(-t)

ans =

sym  

取單元內的子陣列

相關推薦

2017.3.20 MATLAB資料型別

資料型別 1數值型別 @整數     *浮點型轉整數型的轉換函式,將數值轉換為最為接近的整數值,若分數部分為0.5時,轉換為最接近的兩個整數中絕對值較大的一個。     *取整函式:      floor(x)向下取整      ceil(x)向上取整      rou

Linux C語言教程 資料型別

一、基礎型別 1.1 整型 整型常量的第一個字元是數字0,該常量會被視作八進位制,千萬不要為了格式對齊,將十進位制整型寫成八進位制。 1.1.2 列舉 1.2 浮點型 1.3 指標 1.3.1 字元指標 C語言是靜態弱型別語言,型別在編譯時需要確定,對於st

《java核心技術》筆記資料型別

《java核心技術一 第10版》 連結:https://pan.baidu.com/s/15ECUqcjwDJq_537HPfhX9w 密碼:w8oa 基礎知識 註釋 資料型別 變數 運算子 字串 輸入輸出 控制流 大數值 陣列 1.註釋 需要長篇註釋,使用

python基礎學習--資料型別

Python一個 高階語言         2017-09-19 1.1  Python背景簡介(感謝偉大的廖雪峰大佬帶我們走上一條光頭路,嘿嘿) 寫了大半年Python程式碼,感覺收穫不是很大,都是現學現賣,沒有系統的瞭解過這個語言究竟是什麼樣的,從

Java基礎鞏固-資料型別

Java基本型別哪些,所佔位元組和範圍 Java語言提供了八種基本型別。六種數字型別(四個整數型,兩個浮點型),一種字元型別,還有一種布林型。 1.byte: byte 資料型別是8位、有符號的,以二進位制補碼錶示的整數; 最小值是 -128(-2^7); 最大值是 127(2^

Java基礎篇--- 資料型別、函式、控制符

基本資料型別 1.整數型別: byte(1 位元組 ), short(2 位元組 ), int(4 位元組 ), long(8 位元組 ) 1位元組=8位,而每一個數的第一位為符號位,並且-0(負零)用-128表示,所以byte的範圍為:-2^(位元組8-1) --> 2^(位元組

C++學習筆記資料型別資料處理、複合型別、迴圈、分支

     過段時間打算上手OpenCV,自己不是特別喜歡Python這個語言,幹嵌入式時間久了還是對C有種執念,同時C++在嵌入式應用以及影象處理方面也是有很大佔有量的,所以從國慶假期開始上手C++,當然學好C++絕非短時間能辦到的,這需要大量的練習和使用,給自己加個油吧,不

Hive程式設計指南-學習筆記 資料型別和分隔符

一、Hive概述 Hive定義了類似SQL的查詢語言——HiveQL,使用者編寫HiveQL語句執行MapReduce任務,查詢儲存在Hadoop叢集中的資料。 HiveQL與MySQL最接近,但還是有顯著性差異的。Hive不支援行級插入、更新操作和刪除操作。Hive不支

Python資料型別和表示式

1資料型別 數值;布林型;字串;空值(None) 1數值型 整數:十進位制;十六進位制(以0x開頭);八進位制整數(以0開頭);二進位制整數(以0b開頭) 浮點數又稱小數 複數:由實部和虛部構

kotlin學習筆記--資料型別

1.boolean型別 koltin: //Booleab基本寫法 val aBoolean:Boolean = true val auotherBoolean:Boolean = false java: 2.Number型別 整型: Long      位寬64

Util應用程式框架公共操作類:資料型別轉換公共操作類介紹篇

  本系列文章將介紹一些對初學者有幫助的輔助類,這些輔助類本身並沒有什麼稀奇之處,如何能發現需要封裝它們可能更加重要,所謂授之以魚不如授之以漁,掌握封裝公共操作類的技巧才是關鍵,我會詳細說明建立這些類的動機和思考過程,以幫助初學者發現和封裝自己需要的東西。建立公共操作類的技巧,大家可以參考我的這篇文章——應用

C++ 資料型別 賦值運算

資料型別轉換 double         float long unsigned int               char/short

Python基礎資料型別與變數

注:本文的Python學習系列是筆者在學習廖雪峰老師的Python教程所記錄下的學習筆記,如果想了解更多Python系列的學習資料可以看看 廖雪峰 Python教程 人生苦短,我用Python! 這是我最早認識Python這門語言時聽到對它的一句概括。 從字面上

Hive資料型別、檔案格式和資料定義

1、基本資料型別 Hive支援多種不同長度的整型和浮點型資料型別,支援布林型別,也支援無長度限制的字串型別,後續的Hive增加了時間戳資料型別和二進位制陣列資料型別。 和其他的SQL語言一樣,這些都是保留字。需要注意的是所有的這些資料型別都是對Jav

《高階程式設計》整理---資料型別和陣列篇

《高階程式設計》整理(一)- - -資料型別和陣列篇 一、JavaScript六種資料型別 Undefined == Boolean ==》等於true Null:表示一個空指標物件 typeof(null)==="object" Boolean

2018-3-20論文種新型的智慧演算法-狼群演算法WPA筆記二狼群系統分析,演算法步驟

狼群系統分工:頭狼: 狼群中最有智慧以及最凶猛的。它不斷的根據狼群所感知的資訊進行決策,身份:行動的指揮者探狼:負責偵查資訊,感知獵物的氣味。在進行實物搜尋的階段,會派出一些探狼(只是一小部分)去偵測資訊,他們會根據偵測到的資訊進行自主決策,向著獵物氣味最近的方向前進。猛狼:

visual Studio 2017 擴展開發《向Visual Studio菜單欄新增一個菜單》

下拉 pri package 安裝 void call class 記得 mov 最近有接觸到關於visual studio 2017 擴展的開發,特此記錄,也是為了督促自己去深入了解其原理。 開始開發Visual Studio 擴展,在這裏我安裝了visual studi

人工智能 | 解讀斯坦福大學《AI Index 2017年度報告》

技術 指數 狀況 log 報告 對話 發布 動態 學術 AI Index(直譯:人工智能指數)是一個追蹤 AI 動態和進展非營利性的項目,由斯坦福大學創立,是“斯坦福的100年人工智能學習歷程”項目之一,旨在研究過去百年來的 AI 總體狀況,目標是促進基於數據的 AI 的

MySQL從刪庫到跑路_高階——資料完整性

  作者:天山老妖S 連結:http://blog.51cto.com/9291927   一、資料完整性簡介 1、資料完整性簡介 資料冗餘是指資料庫中存在一些重複的資料,資料完整性是指資料庫中的資料能夠正確反應實際情況。 資料完整性是指資料的可靠性和準確性,資料

異數OS TCP協議棧測試--資料傳輸篇

異數OS TCP協議棧測試(一)--資料傳輸篇 本文來自異數OS社群   github:  https://github.com/yds086/HereticOS 異數OS社群QQ群:  652455784  異數OS-織夢師(訊息中介軟體)群: 4