例如: B=[1 2 3 4 5] A[k+1]=B[k] B有5個元素,A有6個元素,先對A進(jìn)行初始化,然后為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中創(chuàng)建一維數(shù)組是最為基礎(chǔ)的操作了,他們的創(chuàng)建方法比較簡單,也是創(chuàng)建高維數(shù)組的基礎(chǔ)條件,本文將介紹四種創(chuàng)建一維數(shù)組的方法。
材料/工具
matlab
a = zeros(1,N) 建立一個1行N列的數(shù)組,初值為0,一般不需要用for的
方法
在Matlab的命令窗口中,直接輸入數(shù)據(jù),使用【分號;】或者【空格 】創(chuàng)建一維數(shù)組。例如輸入: 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
使用函數(shù)zeros(m,n),其中m、n指零矩陣的行列,要定義一維全零數(shù)組,如下即可:zeros(1,n)
步長生成法的通用格式為【a:inc:b】其中a表示數(shù)組的第一個元素,inc表示數(shù)組之間的間隔,b表示數(shù)組對方最后一個元素。注:inc可以省略,默認(rèn)的數(shù)值是1。 例如輸入: data3=2:2:10 得到: data3 = 2 4 6 8 10 輸入: data4=2:10 得到: data4 = 2 3 4 5 6 7 8 9 10
如圖所示是我們創(chuàng)建了一個矩陣,創(chuàng)建新 1 然后在彈出的表格中選中需要更改的單個 2 我們也可以通過語句來實(shí)現(xiàn)對矩陣單個元 3 假如我們輸入的行數(shù)和列數(shù)大于原來的矩 4 我們可以看到矩陣會自
定數(shù)線性采樣法的通用格式為:【x=linspace(a,b,n)】該方法是在設(shè)定“總個數(shù)”的條件下均勻采樣發(fā)布生成的一維數(shù)組。其中a和b代表數(shù)組的第一個和最后一個元素,n代表采樣的點(diǎn)數(shù)。例如 輸入: data5=linspace(2,10,5) 得到: data5 = 2 4 6 8 10
zeros(m,n) 生成全零的mxn矩陣 m,n其中一個為1,就是一維數(shù)組,看你需要行方向還是列方向
定數(shù)對數(shù)采樣法的通用格式:【x=logspace(a,b,n)】 該方法是在設(shè)定“總個數(shù)”的條件下經(jīng)過“采用對數(shù)”采樣生成一維數(shù)組例如 輸入: 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
如果各個數(shù)組的長度一樣,可以直接用矩陣的每一列或每一行代表一個數(shù)組。 如果各個數(shù)組長度不一樣,可以用細(xì)胞類型存儲,每個細(xì)胞元就是一個數(shù)組。比如A{1}=[1,2,3,4];A{2}=[5,6,7];
擴(kuò)展閱讀,以下內(nèi)容您可能還感興趣。
matlab中,怎么把幾個一維數(shù)組合成一個一維數(shù)組。
比如有已知數(shù)組a,b,c.......n,然后用下面的語句實(shí)現(xiàn):
m=[a b c ........n]中間的數(shù)組用逗號或者空格隔開就可以了,此類問題可參看matlab基礎(chǔ)書籍,希望對你有幫助。
matlab中一維數(shù)組怎么用plot函數(shù)畫圖 像a=[1,2,3,4] 用plot怎么表達(dá)出來?
直接 plot(a) 就行了;
我想用matlab創(chuàng)建一個十個數(shù)一維數(shù)組,其中包括4個5,3個4,2個2,1個1。
這個簡單:
clc;clear alla=[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
關(guān)于matlab的一維數(shù)組簡單問題
看樓主的描述,原數(shù)據(jù)應(yīng)該是1*256的向量,設(shè)為a吧
那么b=a(2:end)就可以了,或者說a(1)=[];
matlab中怎樣將一維數(shù)組轉(zhuǎn)化為二維矩陣
可以用reshap(),也可以直接“捋直”了。
為了清晰點(diǎn),給你舉個例子吧:
a=[1,2;3,4;];
b=a(:);
c=reshape(a,[],1);
得到的b,c都是一樣的一維列向量。
reshape介紹:
reshape函數(shù)重新調(diào)整矩陣的行數(shù)、列數(shù)、維數(shù)。在matlab命令窗口中鍵入docreshape或helpreshape即可獲得該函數(shù)的幫助信息。
用法:
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函數(shù)對原數(shù)組的抽取是按照列抽取的(對原數(shù)組按列抽取,抽取的元素填充為新數(shù)組的列)
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com