當前位置:科普知識站>IT科技>

matlab創建一維數組四種方法是什麼

IT科技 閱讀(1.32W)

例如: B=[1 2 3 4 5] A[k+1]=B[k] B有5個元素,A有6個元素,先對A進行初始化,然後爲A中的元素賦值: A=zeros(1,length(B)+1); %A比B多一個元素,爲1行,length(B)+1列的全0向量 for i=1:length(B) A(i+1)=B(i); % A[k+1]=B[k] end matlab中向

在Matlab中創建一維數組是最爲基礎的操作了,他們的創建方法比較簡單,也是創建高維數組的基礎條件,本文將介紹四種創建一維數組的方法。

材料/工具

matlab

a = zeros(1,N) 建立一個1行N列的數組,初值爲0,一般不需要用for的

方法

在Matlab的命令視窗中,直接輸入數據,使用【分號;】或者【空格 】創建一維數組。例如輸入: data1=[pi;log(5);7+6;2^3]  得到: data1=[pi;log(5);7+6;2^3]  輸入:  data2=[pi log(5) 7+6 2^3] 得到: data2 =     3.1416    1.6094   13.0000    8.0000

使用函數zeros(m,n),其中m、n指零矩陣的行列,要定義一維全零數組,如下即可:zeros(1,n)

matlab創建一維數組四種方法是什麼

步長生成法的通用格式爲【a:inc:b】其中a表示數組的第一個元素,inc表示數組之間的間隔,b表示數組對方最後一個元素。注:inc可以省略,默認的數值是1。 例如輸入: data3=2:2:10 得到: data3 =      2     4     6     8    10 輸入:  data4=2:10 得到: data4 =      2     3     4     5     6     7     8     9    10

如圖所示是我們創建了一個矩陣,創建新 1 然後在彈出的表格中選中需要更改的單個 2 我們也可以透過語句來實現對矩陣單個元 3 假如我們輸入的行數和列數大於原來的矩 4 我們可以看到矩陣會自

matlab創建一維數組四種方法是什麼 第2張

定數線性採樣法的通用格式爲:【x=linspace(a,b,n)】該方法是在設定“總個數”的條件下均勻採樣發佈生成的一維數組。其中a和b代表數組的第一個和最後一個元素,n代表採樣的點數。例如 輸入: data5=linspace(2,10,5) 得到: data5 =      2     4     6     8    10

zeros(m,n) 生成全零的mxn矩陣 m,n其中一個爲1,就是一維數組,看你需要行方向還是列方向

matlab創建一維數組四種方法是什麼 第3張

定數對數採樣法的通用格式:【x=logspace(a,b,n)】 該方法是在設定“總個數”的條件下經過“採用對數”採樣生成一維數組例如 輸入: data6=logspace(1,5,10) 得到: data6 =    1.0e+05 *     0.0001    0.0003    0.0008    0.0022    0.0060    0.0167    0.0464    0.1292    0.3594    1.0000

如果各個數組的長度一樣,可以直接用矩陣的每一列或每一行代表一個數組。 如果各個數組長度不一樣,可以用細胞類型存儲,每個細胞元就是一個數組。比如A{1}=[1,2,3,4];A{2}=[5,6,7];

matlab創建一維數組四種方法是什麼 第4張

擴展閱讀,以下內容您可能還感興趣。

matlab中,怎麼把幾個一維數組合成一個一維數組。

比如有已知數組a,b,c.......n,然後用下面的語句實現:

m=[a b c ........n]中間的數組用逗號或者空格隔開就可以了,此類問題可參看matlab基礎書籍,希望對你有幫助。

matlab中一維數組怎麼用plot函數畫圖 像a=[1,2,3,4] 用plot怎麼表達出來?

直接 plot(a) 就行了;

我想用matlab創建一個十個數一維數組,其中包括4個5,3個4,2個2,1個1。

這個簡單:

clc;clear all

a=[5 5 5 5 4 4 4 2 2 1]';

aa=a;

b=rand(10,1);

for i=1:10

Nmax=find(b==max(b));

aa(i)=a(Nmax);

b(Nmax)=-1;

end

disp(aa)%這就是你想要的aa

關於matlab的一維數組簡單問題

看樓主的描述,原數據應該是1*256的向量,設爲a吧

那麼b=a(2:end)就可以了,或者說a(1)=[];

matlab中怎樣將一維數組轉化爲二維矩陣

可以用reshap(),也可以直接“捋直”了。

爲了清晰點,給你舉個例子吧:

a=[1,2;3,4;];

b=a(:);

c=reshape(a,[],1);

得到的b,c都是一樣的一維列向量。

reshape介紹:

reshape函數重新調整矩陣的行數、列數、維數。在matlab命令視窗中鍵入docreshape或helpreshape即可獲得該函數的幫助資訊。

用法:

B = reshape(A,m,n)

B = reshape(A,m,n,p,...)

B = reshape(A,[m n p ...])

B = reshape(A,...,[ ],...)

B = reshape(A,siz)

程序示例:

close all; clear; clc;

A = [1 2 3; 4 5 6; 7 8 9; 10 11 12] % 4 by 3

B = reshape(A, 2, 6) % 2 by 6

% C = reshape(A, 2, 4) % error

% D = reshape(A, 2, 10) % error

E = reshape(A, 2, 3, 2) % 2 by 3 by 2

注意:reshape函數對原數組的抽取是按照列抽取的(對原數組按列抽取,抽取的元素填充爲新數組的列)