1樓:匿名使用者
**制:
% 這些
bai是你的**
format long
clcclear
n=10000;
x=ones(n,3);
y=rand(n,3);
z=ones(n,3);
s1=2*cos(2*3.14159265/11)-1;
s2=2*cos(4*3.14159265/11)-fix(2*cos(4*3.14159265/11));
s3=2*cos(6*3.14159265/11)-fix(2*cos(6*3.14159265/11))+1;
for i= 1:n
x(i,1)=i*s1-fix(i*s1);
x(i,2)=i*s2-fix(i*s2);
x(i,3)=i*s3-fix(i*s3);
end% 這個是du我補充的**
for i=1:size(x,2)
z(:,i)=x(randperm(size(x,1))',i);
end如有用,請zhi
及時採納dao!
2樓:匿名使用者
可以使用randperm函式,相信稍微看一下幫助就明白了。如果有問題再追問。
matlab 如何將資料打亂
3樓:匿名使用者
把這幾千行資料定義為一個陣列如a,然後rand(a)就可以了 就把a隨機打亂了
4樓:死耗子聊天
randn(shuju)
5樓:節初蝶苦亭
a=rand(
1,20);%
隨即生成長度為100的陣列
randindex
=randperm(
length(a)
);%隨即打亂陣列索引a=
a(randindex);%
用新的索引構造打亂後的陣列
matlab中,怎麼找出一組資料中靠近某個值的所有點,並輸出位置 5
6樓:59分粑粑
實現的方法和詳細的操作步驟如下:
1、第一步,需要知道matlab陣列找到所有接近某個值的點的座標是使用「find」函式,可以在命令列視窗中輸入「help find」,如下圖所示,然後進入下一步。
2、其次,完成上述步驟後,輸入「a =[1 4 5;6 7 8;7 9 12]」,在matlab命令列視窗中建立副本陣列,如下圖所示,然後進入下一步。
3、接著,完成上述步驟後,輸入「[m,n] =find(a == 9)」並找到等於9的陣列的座標,如下圖所示,然後進入下一步。
4、然後,完成上述步驟後,按enter鍵確認,可以看到陣列中有一個座標等於9,即第三行和第二列,如下圖所示,然後進入下一步。
5、最後,完成上述步驟後,如果有多個具有相同的值,將返回相應的多個座標位置,如下圖所示。這樣,問題就解決了。
7樓:智慧小白菜
1、首先需要知道matlab陣列找靠近某個值的所有點座標,是使用find函式,可以在命令列視窗中輸入help find。
2、在matlab命令列視窗中輸入a=[1 4 5;6 7 8;7 9 12],建立a陣列。
3、輸入[m,n]=find(a==9),找到a陣列等於9的座標。
4、按回車鍵之後,可以看到a陣列等於9的座標有一個,是第3行第2列。
5、如果等於的值有多個,會返回多個座標位置。
8樓:匿名使用者
a=[1, 3,4
4,5,3];
b=find(a>2&a<5);
b =235
6b代表所需資料的下標,a的元素自上而下自左向右排列
9樓:匿名使用者
假設你的資料存在一個矩陣h中[~, i]=min(abs(h(:)-0.0054))i是最接近0.0054的列索引位置。最近的值為y=h(i)
matlab陣列中如何找某個值的座標
10樓:灩麗
1、首先需要知道matlab陣列找某個值的座標,是使用find函式,可以在命令列視窗中輸入help find。
2、在matlab命令列視窗中輸入a=[1 4 5;6 7 8;7 9 12],建立a陣列。
3、輸入[m,n]=find(a==9),找到a陣列等於9的座標。
4、按回車鍵之後,可以看到a陣列等於9的座標有一個,是第3行第2列。
5、如果等於的值有多個,會返回多個座標位置。
11樓:匿名使用者
1、實現方法
使用find()函式:[m,n]=find(a==x)2、解析
a==x:將矩陣a的每個元素與x比較,如果相等,相應位置的元素就等於1,否則為0。
find(x):返回x中非零元素的索引(即行列位置)。
3、例項演示:找出矩陣a中所有等於3的元素的行列位置開啟matlab,在命令視窗執行如下**:
>> a=[1 2 3 4 5;6 7 3 1 2]>> [m,n]=find(a==3)
從執行結果可知,找到a中元素3的位置為:第1行第3列 和 第2行第3列。
12樓:mcr董事長
>> a=[1 2 3 4 5;6 7 3 1 2];
>> [m,n]=find(a==3)
m =1
2n =33
>>
13樓:兔子和小強
find(a == 3)
如何將matlab程式中每一步的計算結果都儲存到一個陣列裡?
14樓:酷呆愛死呆
>> a=0.5:0.1:2;
>> m=length(a)%%得到向來
量a的長度
自m =
16>> a1=zeros(1,16);%%建立一個矩陣用bai於儲存得到的結du果
for i=1:16
a1(1,i)=a(i)^2;%%迴圈zhi存入各個值的dao計算結果
enda1
a1 =
columns 1 through 13
0.2500 0.3600 0.
4900 0.6400 0.8100 1.
0000 1.2100 1.4400 1.
6900 1.9600 2.2500 2.
5600 2.8900
columns 14 through 163.2400 3.6100 4.0000
請問matlab中怎麼把一維陣列逆序排列,如將a=[1,2,3,4,5],轉成b=[5,4,3,2,1]。有沒有一個現成的函式實現呀
15樓:四舍**入
用:b=fliplr(a);
fliplr左右翻轉矩陣
語法:b=fliplr(a)
將矩陣a的列繞垂直軸進行左右翻轉matabc如果a是一個行向量,fliplr(a)將a中元素的順序進專行翻轉。
如果a是一個列向量,fliplr(a)還等於a。
16樓:凌亂心扉
用:baib=fliplr(a);
fliplr左右翻轉矩陣
語法:du
b=fliplr(a)
將矩陣a的列繞垂
zhi直軸進行dao左右翻轉matabc
如果a是一專個行向量,fliplr(a)將a中元屬素的順序進行翻轉。
如果a是一個列向量,fliplr(a)還等於a。
舉例說明:
例一:如果a是一個行向量
a=[1 3 5 7 9]
fliplr(a)
ans=[9 7 5 3 1]
例二:如果a是一個列向量
a=[135
79]fliplr(a)
ans=[135
79]【功能簡介】實現矩陣左右翻轉。
【語法格式】
b=fliplr(a)
對矩陣a進行左右翻轉。
【例項3.47】對矩陣magic(3)進行左右翻轉。
>> a=magic(3)
a =8 1 6
3 5 7
4 9 2
>> b=fliplr(a) %左右翻轉b =
6 1 8
7 5 3
2 9 4
【例項分析】左右翻轉的過程中,如果矩陣有奇數列,那麼中間一列是沒有變化的。
17樓:戶衣
matlab中把一維數
bai組逆序排列,可以通du過fliplr函式zhi來進行操作。
daofliplr,是指
專對矩陣屬
操作的函式,可以實現矩陣翻轉。
將一維陣列逆序排列步驟(如a=[1,2,3,4,5]轉成b=[5,4,3,2,1]):
1、雙擊開啟matlab應用程式。
2、在matlab介面中的「命令列視窗」中輸入命令。
3、根據紅色區域位置,在「命令列視窗」輸入「a=[1,2,3,4,5]」。
4、通過函式fliplr求矩陣逆序排列,在「命令列視窗」輸入「b=fliplr(a)」,按下回車鍵。可求得矩陣逆序排列b=[5,4,3,2,1]。
18樓:匿名使用者
fliplr(a);
你可以在matlab中輸入help fliplr具體看一看!
19樓:
沒有bai這種函式吧,自己編一du個函式,加zhi入庫不就可以了這個dao很簡單啊
function (b)=paixu(a);j=1;
n=length(a);
for j=1:n
b(n-j+1)=a(j);
end沒仔細弄你在內改改,應該可以容的
20樓:匿名使用者
b=a(end:-1:1)
21樓:匿名使用者
sort(a,'descend')
matlab中如何將字串轉換為命令控制字
eval 這個函式滿足你的要求。如 str1 set text1,string a 1 eval str1 相當於執行了這個語句。請問你這裡的text1是什麼?物件?普通變數?物件的handle?你在引用text1之前,text1是否已經存在?字 符 串 轉 換 abs字串到ascii轉換 dec2...
在MATLAB中如何將數個檔案連續讀入並標為陣列,用了命令eval imread1num2str i但不行
用cell陣列就可以使用迴圈了。比如a cell 100,1 這樣用a一直到a就可以像100個變數一樣使用了,而且還支援i 10 a 這種動態訪問。利用matlab中的imread怎麼讀取 方法 步驟 1 在matlab軟體中,讀取影象資料 載入 利用的是imread函式,主要有以下4種方式 a i...
在EXCEL中,如何將某一列裡面相同的幾個單元格所在的行隱藏
1 合併兩表 直接複製調查結果表的資料到原始表後面 貼上選中a2到最後的 資料區域,依次點 資料 排序選關主要關鍵字 按a列 升序排列 就得到了你的合併後結果2 區分相同姓名 在d2輸入 if or a2 a1,a2 a3 同 不同 並向下填充 3 篩選 選中所有資料區域 點 資料 篩選 自動篩選 ...