matlab中如何實現將字串變數的值作為新的變數

2021-03-06 14:24:58 字數 4015 閱讀 2146

1樓:桓以蕊翁蕭

上面的回答很正確了,無非就兩個辦法:

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是命令列)

2樓:匿名使用者

str= ;

for i=1:length(str)

eval([cell2mat(str(i)) '=' num2str(i)]);end

3樓:匿名使用者

好象直接使用就可以了,第一次出現就包含了定義順便把些命令弄給你看下

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

4樓:重歸於好

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

5樓:匿名使用者

樓上來的回答欠妥。源

用eval函式沒錯,但按照樓bai上的用法,適du應性很差,比如b是其它資料類zhi型的dao,例如struct或cell之類的呢?而且使用num2str這類函式本身還存在有效數字導致的精度損失問題。

其實正確的用法非常簡單:

eval([a '=b;'])

可以原汁原味的把b賦值給a所儲存的變數名中,沒有任何精度損失,且適用於任意資料型別。

6樓:匿名使用者

a='aea';

b=1;

eval([a,'=',num2str(b)])

matlab 中如何將一個字串賦值給一個變數?

7樓:匿名使用者

單個表示直接輸入:y=syms x

x不管是什麼型的都會變成字串賦值給y。

整體一個符號變數:y=sym('表示式')如果覺得好,別忘記採用哦。。。

如何從字串中刪除最後字元,如何從字串中刪除最後一個字元

string.slice 0,1 可以用第二個引數負數表示要去除幾位 char s 100 fgets s,sizeof s fp 從fp指向的檔案中提出最多100個字元的一行字元。s strlen s 1 0 讓最後一個字元的ascii碼為0,即結束標誌。fputs s,fw 將s寫入fw指向的檔...

C中如何分割字串C中如何分割字串,例如將某個帶著路徑的檔名的字串分割後只得到最後的檔名。。。

可以用split。比如你先定義一個字串物件 string str a,b,c,d,e,f,g 然後你再定義一個陣列 string words str.split 這段 就是把str按照逗號進行分割,也就是把str分割成a和b和c和d和e和f和g儲存在你定義的字串陣列words中,此時words 0 ...

matlab中如何將字串轉換為命令控制字

eval 這個函式滿足你的要求。如 str1 set text1,string a 1 eval str1 相當於執行了這個語句。請問你這裡的text1是什麼?物件?普通變數?物件的handle?你在引用text1之前,text1是否已經存在?字 符 串 轉 換 abs字串到ascii轉換 dec2...