1樓:燁偉在路上
從陣列狹
bai義角度來du
說,matlab並不允許數
zhi組中出現字串
。但是字dao符串陣列可以專實現。
例如 str = ['12','tea'];
則str中包含了屬數字與字串,但是注意,這裡的12是兩個字元,而不是1個數字。
除了使用字串陣列實現,還可以通過元胞陣列實現。
元胞陣列是matlab中一種陣列,其可以包含任意型別的變數例如cellnum = ;
則cellnum這個元胞陣列中既包含數字12 又包含了字串tea.
2樓:裔紹祺蹇楓
matlab建立字bai符串陣列可以du採取你所說的方式,但必須保zhi證每行的長度dao必須相等專,為此必須給某些屬
行補充空格符來實現長度一致。
函式str2mat能夠自動把字串陣列中的每行進行填充,使他們的長度相等,比如:
>>arr=str2mat('hello','wel***e','china','a')
arr=
hello
wel***e
china
a>>如果對您有幫助,別忘了採納(⊙o⊙)哦!
>>祝學習愉快!
matlab 中 如何實現將字串變數的值作為新的變數名 並對該新的變數名賦值
3樓:桓以蕊翁蕭
上面的回答很正確了,無非就兩個辦法:
1)就是把目錄底下所有的mat檔案都提取出來file_name
=dir('*.mat');
除開file_name(1).name和file_name(2).name是.和..外,其他都是mat檔名。
2)就是連續load,每次改變file_namefori
=1:13
name
=['data1_al_',num2str(i),'__u'];
load
name;
%your
code;
end還有一個很笨的辦法,就是load了以後,用eval(s)來執行一次,順便賦值。。(s是命令列)
4樓:匿名使用者
str= ;
for i=1:length(str)
eval([cell2mat(str(i)) '=' num2str(i)]);end
5樓:匿名使用者
好象直接使用就可以了,第一次出現就包含了定義順便把些命令弄給你看下
matlab命令
matlab ***mands and functions lista a
abs 絕對值、模、字元的ascii碼值
acos 反餘弦
acosh 反雙曲餘弦
acot 反餘切
acoth 反雙曲餘切
acsc 反餘割
acsch 反雙曲餘割
align 啟**形物件幾何位置排列工具
all 所有元素非零為真
angle 相角
ans 表示式計算結果的預設變數名
any 所有元素非全零為真
area 面域圖
argnames 函式m檔案宗量名
asec 反正割
asech 反雙曲正割
asin 反正弦
asinh 反雙曲正弦
assignin 向變數賦值
atan 反正切
atan2 四象限反正切
atanh 反雙曲正切
autumn 紅黃調秋色圖陣
axes 建立軸物件的低層指令
axis 控制軸刻度和風格的高層指令
b bbar 二維直方圖
bar3 三維直方圖
bar3h 三維水平直方圖
barh 二維水平直方圖
base2dec x進位制轉換為十進位制
bin2dec 二進位制轉換為十進位制
blanks 建立空格串
bone 藍色調黑白色圖陣
box 框狀座標軸
break while 或for 環中斷指令brighten 亮度控制
c ccapture (3版以前)捕獲當前圖形
cart2pol 直角座標變為極或柱座標
cart2sph 直角座標變為球座標
cat 串接成高維陣列
caxis 色標尺刻度
cd 指定當前目錄
cdedit 啟動使用者選單、控制元件**函式設計工具cdf2rdf 複數特徵值對角陣轉為實數塊對角陣ceil 向正無窮取整
cell 建立元胞陣列
cell2struct 元胞陣列轉換為構架陣列celldisp 顯示元胞陣列內容
cellplot 元胞陣列內部結構圖示
char 把數值、符號、內聯類轉換為字元物件chi2cdf 分佈累計概率函式
chi2inv 分佈逆累計概率函式
chi2pdf 分佈概率密度函式
chi2rnd 分佈隨機數發生器
chol cholesky分解
clabel 等位線標識
cla 清除當前軸
class 獲知物件類別或建立物件
clc 清除指令窗
clear 清除記憶體變數和函式
clf 清除圖物件
clock 時鐘
colorcube 三濃淡多彩交叉色圖矩陣colordef 設定色彩預設值
colormap 色圖
colspace 列空間的基
close 關閉指定視窗
colperm 列排序置換向量
***et 彗星狀軌跡圖
***et3 三維彗星軌跡圖
***pass 射線圖
***pose 求複合函式
cond (逆)條件數
condeig 計算特徵值、特徵向量同時給出條件數condest 範 -1條件數估計
conj 複數共軛
contour 等位線
contourf 填色等位線
contour3 三維等位線
contourslice 四維切片等位線圖conv 多項式乘、卷積
cool 青紫調冷色圖
copper 古銅調色圖
cos 餘弦
cosh 雙曲餘弦
cot 餘切
coth 雙曲餘切
cplxpair 複數共軛成對排列
csc 餘割
csch 雙曲餘割
cumsum 元素累計和
cumtrapz 累計梯形積分
cylinder 建立圓柱
d ddblquad 二重數值積分
deal 分配宗量
deblank 刪去串尾部的空格符
dec2base 十進位制轉換為x進位制
dec2bin 十進位制轉換為二進位制
dec2hex 十進位制轉換為十六進位制
deconv 多項式除、解卷
delaunay delaunay 三角剖分del2 離散laplacian差分
demo matlab演示
det 行列式
diag 矩陣對角元素提取、建立對角陣
diary matlab指令窗文字內容記錄diff 數值差分、符號微分
digits 符號計算中設定符號數值的精度dir 目錄列表
disp 顯示陣列
display 顯示物件內容的過載函式
dlinmod 離散系統的線性化模型
dmperm 矩陣dulmage-mendelsohn 分解dos 執行dos 指令並返回結果
double 把其他型別物件轉換為雙精度數值drawnow 更新事件佇列強迫matlab重新整理螢幕dsolve 符號
matlab如何將一個字串轉化為一個變數名? 50
6樓:重歸於好
eval([a '=b;'])
可以原bai汁原味b賦值du給a所儲存變數名zhi,沒有任何精度損失,且dao
適用於任意數回據型別。
連續load,每改答變file_name
for i = 1:13
name = ['data1_al_',num2str(i),'__u'];
load name;
% your code;
load用eval(s)執行順便賦值(s命令列)比c/c++簡單很多,直接一個命令列搞定,如下: >> str = 'abc' str = abc
7樓:匿名使用者
樓上來的回答欠妥。源
用eval函式沒錯,但按照樓bai上的用法,適du應性很差,比如b是其它資料類zhi型的dao,例如struct或cell之類的呢?而且使用num2str這類函式本身還存在有效數字導致的精度損失問題。
其實正確的用法非常簡單:
eval([a '=b;'])
可以原汁原味的把b賦值給a所儲存的變數名中,沒有任何精度損失,且適用於任意資料型別。
8樓:匿名使用者
a='aea';
b=1;
eval([a,'=',num2str(b)])
matlab單元陣列中既有字串陣列又有數值陣列怎樣
str cellfun num2str,str,uniformoutput false 這樣str 還是元胞陣列,但是裡面的所有元素都是字串 matlab中如何使一個陣列中既有數字又有字串 從陣列狹義角度來說bai,matlab並不允許陣列中du出現字串。但是字zhi符串陣列可以實dao現。例如 s...
C語言字串陣列問題
c語言中,賦值 與 賦初值 又叫初始化 是不一樣的。在定義變數的同時賦值,叫賦初值,而定義後賦值就是普通的賦值了。你說的 不能用賦值語句將一字串常量或字元陣列直接賦值給一個字元陣列 這句話是說普通賦值的情況,也就是,不能定義一個字元陣列以後,再給他直接賦值。而 char s 12345 這個語句,是...
C 求解字串陣列和字串變數什麼區別,舉個例子區分下
字串陣列是這樣定義的 char stringarray 3 而字串變數是這樣定義的 char s 10 它們的區別就是字串陣列可以儲存的是多個字串,典型的例子就是main函式的第二個引數,main函式的第二個引數就是一個字串陣列,它用來讓系統傳遞命令列引數,命令列程式的每一個引數之間都是用空格分割的...