matlab裡怎麼讓字串陣列的元素變成變數名

2021-03-09 22:08:37 字數 4548 閱讀 2172

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函式的第二個引數就是一個字串陣列,它用來讓系統傳遞命令列引數,命令列程式的每一個引數之間都是用空格分割的...