1樓:匿名使用者
你應該是讀入資料不對吧? 而不是說考慮把文字轉換成數字。 建議你把原始資料重新整理一下,不存在的值替換為-1之類的特殊標記數字,然後統一讀資料就可以。
如果是xls檔案,可以用[num, txt, raw] = xlsread(xlsfilename, sheetname)來讀取如果是txt檔案,考慮用importdata比較不錯。當然全是純數字的話,load就足夠了
2樓:匿名使用者
先把元胞陣列中所有的'nodata'改為'nan'
用str2num是可以識別』nan『的
假設你的原來的元胞陣列存在變數a中
b=a;%b複製a
b(strcmp(b,'nodata'))=;%b中'nodata'的單元轉化為'nan'
b=cellfun(@str2num,b);%將b轉化為數值nodata的地方會顯示為nan是not a number的意思
matlab中的元胞陣列能轉化為數值陣列嗎?請高手指點!
3樓:匿名使用者
>> cell2mat()==cell2mat()
ans =1
4樓:仉令秋柴會
貌似字元內容的元胞陣列無法直接得出單詞,因為長度不同,只能依次檢索,不知道你怎麼得出的結構這麼複雜的元胞,建議你修改前面的資料結構,可嘗試使用構架
matlab如何將矩陣的數字元素轉換為字元儲存? 15
5樓:波波球
是這樣的,哪不是沒有東西,它是乙個空格字元,如果想表示的更清楚一些,可以這樣實現
a=[0,0,0,0;0,0,1,1;0,1,0,1];
b=num2str(a);
b(:,2:3:end-1)=;
b(:,2:2:end-1)=','
需要注意的是轉換為字元以後空格也會相應的轉換為字元
6樓:靜靜的世界
直接將矩陣由數字型轉換為字元型;
若a=[1 0 1 1];
則b=num2str(a);
b等於字元'1011'
matlab怎麼把元胞陣列轉化成矩陣
7樓:我行我素
由於a,b矩陣維數不同,組成c後,不能轉換為矩陣。
8樓:匿名使用者
a = [1,2,3;4,2,3;5,6,9];
b = [1,2;3,4];
c(1,1) = ;
c(2,2) = ;
% 分解
bai成
duzhi m*n 個變
dao量專屬
[m,n] = size(c);
[r1,r2,r3,r4] = c
r1 =
1 2 3
4 2 3
5 6 9
r2 =
r3 =
r4 =
1 2
3 4
matlab怎麼把元胞陣列轉化成矩陣
9樓:非常可愛
把matlab元胞陣列轉化成矩陣的操作步驟如下:
1、首先開啟matlab,新建乙個指令碼,通過從資料庫獲回取資料,答data資料格式是元胞陣列cell型別。
2、然後使用cell2mat()函式將元胞陣列轉換成矩陣,可以先在命令列視窗help cell2mat檢視函式的使用方法,需要注意的是使用cell2mat函式,cell中的資料型別必須一致。
3、使用a=cell2mat(data);**進行將data元胞陣列轉換成a矩陣型別。
4、最後執行指令碼,可以看到已經將data型別轉換成矩陣,這樣把matlab元胞陣列轉化成矩陣的問題就解決了。
10樓:用著追她
1、開啟來matlab之後,新建乙個指令碼,自這裡是bai
通過從資料庫獲du取資料,data資料格式是zhi元胞陣列cell型別。dao
2、使用cell2mat()函式將元胞陣列轉換成矩陣之前,可以先在命令列視窗help cell2mat,檢視函式的用法,這裡需要注意的是使用cell2mat函式,cell中的資料型別必須一致,生成的新矩陣也會是cell型別中資料的型別。
3、我們使用a=cell2mat(data);**進行將data元胞陣列轉換成a矩陣。
4、執行指令碼之後,可以看到已經將data型別轉換成矩陣了,因為cell型別中的資料是數值型別,轉換成的矩陣也是數值型別。
5、在指令碼中輸入b=str2num(char(data));**,需要注意的是這裡的元胞陣列中的資料型別必須為char型別,不然轉換報錯。
6、執行指令碼,可以看到成功將元胞陣列轉換成矩陣。
11樓:楊好巨蟹座
一:cell2mat(cell);
cell2mat是預設要求你的矩陣的大小是統一的。
二:str2num(char(cell));
三:cellfun(@str2num, cell)
12樓:匿名使用者
clear all;clc; a=cell(2,10); for ii=1:10 a=zeros(2,2); a=ones(2,2); end b=cell2mat(a(2,:));
matlab 元包陣列中元素的數字型別轉換?
13樓:匿名使用者
把型別高一樣就可以抄了
你的baia是讀進來的影象,型別du可能是uint8分為10x10子塊的時zhi候,都還是daouint8的型別也就是b中cell單元中,每個單元是uint8的矩陣最後在判斷
條件成時,改矩陣值的時候,zeros是可以指定資料型別的b=zeros(44,40,'uint8')這樣應該就沒有問題了
還有就是,其實可以不用那兩個二重迴圈的,用cellfun效率更高
matlab 將元胞陣列轉換成字串陣列
14樓:匿名使用者
如果你的cell裡面的資料是字串的話就沒必要轉化成矩陣了
15樓:匿名使用者
clearall;clc;a=cell(2,10);forii=1:10a=zeros(2,2);a=ones(2,2);endb=cell2mat(a(2,:));
怎樣將符號型矩陣轉換成數值型 matlab
16樓:day忘不掉的痛
符號常量矩陣a,可以使用double來轉換為數值矩陣。
>> a = sym([1/2 1/3;1/4 1/5])a =
[ 1/2, 1/3]
[ 1/4, 1/5]
>> a1=double(a)
a1 =
0.5000 0.3333
0.2500 0.2000
若是符號變數矩陣,比如含有變版量x,需要使用變數替權換subs,才能得到數值矩陣
>> syms x
>> a = [2*x 1/3; x^2 3+x]a =[ 2*x, 1/3]
[ x^2, 3+x]
>> a1 = subs(a,'x',1/4)a1 =
0.5000 0.3333
0.0625 3.2500
17樓:匿名使用者
符號型矩陣轉數值型矩陣可以使用double命令如:>> a=[1/3 sqrt(2); 2/3 sqrt(5)]a =0.3333 1.4142
0.6667 2.2361
>> b=sym(a) % a是數值型矩陣,內先將其轉化成符容號型矩陣
b =[ 1/3, sqrt(2)][ 2/3, sqrt(5)]
>> c=double(b)
c =0.3333 1.4142
0.6667 2.2361
matlab字串矩陣轉化為數字矩陣
18樓:匿名使用者
舉例說明
a=『2 3 4 5』;
b=str2num(a);
結果:b= 2 3 4 5
把uitable變成n行一列,用reshape(uitable,n,1); 不過這時n等於uitalbe的陣列元素個數
19樓:匿名使用者
程式設計,好像要用到num2char,和strcat函式。
s='';
for i=1:4
s=strcat(s,num2char(a(i)),);end
20樓:不好好改就革
很簡單clc;clear
a = ['1001';
'0110';
'0001';
'0101'];
double(a)-double('0')
Matlab怎樣從陣列矩陣中隨機取數
try function randperm for example a 1 2 3 4 5 6 7 8 9 10 b a randperm length a x b 1 5 matlab中從已知矩陣中隨機抽取5個元素如何實現.1.撰寫評論內容。如何從陣列中隨機提取元素。2.建立乙個新函式chouqu...
怎麼在matlab中對排列組合中的某個元素進行賦值
只要在對應的位置直接賦值便可!比如a 3,4 5,表示對a矩陣中第三行,第四列的元素賦值為5!在matlab裡面什麼叫全元素賦值法 b 1 2 3 4 5 a k 1 b k 從上面的抄例子知道,襲b有5個元素,a有6個元素,首bai先可以對a進行初du始化,然後按照你給zhi出的規則,為daoa中...
java中怎樣把數賦值到陣列,java中怎樣把乙個數賦值到乙個陣列
把你的問題描述清楚一點 你想陣列的值都一樣嗎?還是賦值到其中的1個位置就行?string arra string arrb new string 10 if arra.length 0 arrb.length 0 for string str arrb java中怎樣把乙個數賦值到乙個陣列 關於把乙...