matlab如何將一個變數的變數名匯出為字串

2023-03-19 11:30:09 字數 3657 閱讀 9332

1樓:鉞小夏侯

1. eval:把字串當命令來執行。

例子:>>namesource=[10 20 30];

for i=1:3

name=['varname',num2str(i)];

eval([name,'=namesource(i)']end;varname1 =10

varname2 =20

varname3 =30

2. 加小括號(只適用於結構struct)結構體的域名field,字串可以加小括號轉換成域名,例:

>> a=['www',num2str(1)];

>> b.(a)=10

b = www1: 10

變數名轉換成字串。

who返回變數名,例:

>> a1=123;a2=1234;a3=444;>>b=who('a*')返回的b是cell結構的b = a1' 'a2' 'a3'

2樓:匿名使用者

不知你的意思是不是根據內容得到變數名,這樣也只能在事先定義好的一些列變數名裡搜尋。否則,仔細想想就知道,獲取變數的有關資訊只有通過變數名,所以,你的這個問題好像就沒有什麼意義,就好像直接用手輸入:

>>text='abc'

3樓:匿名使用者

names = who

%這個可以以一個cell陣列返回當前工作區間內的所有變數名。

names = who('a*')

%返回所有以a開頭的變數名,「*和「?」兩個萬用字元含義同dos下。

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所儲存的變數名中,沒有任何精度損失,且適用於任意資料型別。

matlab中如何把字串設定為變數名

6樓:

1)就是把目錄底下所有的mat檔案都提取出來file_name = dir('*mat');

除開file_name(1).name和file_name(2).name是。和。外,其他都是mat檔名。

2)就是連續load,每次改變file_namefor i = 1:13

name = data1_al_',num2str(i),'u'];

load name;

% your code;

end還有一個很笨的辦法,就是load了以後,用eval(s)來執行一次,順便賦值。。(s是命令列)

7樓:網友

你這樣吧。

先for i = 1:13

name = data1_al_' int2str(i) 'u'];

v = load(''name);

...end

類似這種程式吧。。。將各種變數取出來。

大量的mat檔案可以用dir命令取。

注意取出的檔名前兩個'.'和'..

這個去掉好了。

matlab怎樣將變數放到字串

8樓:__我要吃西瓜

舉個例子 你想在迴圈裡存10張圖,分別儲存成名字為 第1張圖,第2張圖。。。第10張圖。

那可以這麼寫。

for i=1:10

idx=num2str(i);

q=imread(['im',idx]);

name=['第',idx,'張圖。jpg'];

imwrite(q,name);

9樓:可愛小不點

數字向字元轉換。

a=num2str(3),得到a=『3』

字元向字元轉換。

a=str2num('3'),得到a=3

matlab 中 如何實現將字串變數的值作為新的變數名 並對該新的變數名賦值

在matlab中如何將一個字串轉化為一個變數名?

10樓:重歸於好

eval([a '=b;']

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

連續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

matlab 怎麼將一個字串變數的值作為變數名

如何將一個變數名變為一個字串?

11樓:己秀榮帖妍

假設這個[變數名至字串]函式名為:vtoa若有一個變數名為myvar,其值可為任意型別,我想將變數名轉換為字串。注意:

並不是變數值,而是變數名!--該函式功能如下:(vtoa

myvar)

返回"myvar"--請問如何實現這個函式?

12樓:穰智藍雪晴

這個是測試string

和int轉化的問題,其中string是不能直接轉化為int型別的,所以需要轉化為int的。

物件型別。integer,然後integer

自動拆箱,轉化為int。

num=;num=;

這倆的作用是一樣的,是把string

的"12",轉化為整形。

的12。這段**是沒問題的,但是你要轉成整形,字串「qwee」這是轉不了的,所以只要你輸入數字就沒問題。

13樓:庹望亭郭胭

(vl-symbol-name

myvar)->myvar"(setq

(read"myvar")

"你根本沒看我上次給的函式幫助,真是。。。不知道該怎麼說你)!"你根本沒看我上次給的函式幫助,真是。。。不知道該怎麼說你)!更正。

如下:('myvar)->myvar"(set

(eval(quote(read

"myvar"))

"你根本沒看我上次給的函式幫助,真是。。。不知道該怎麼說你)!"你根本沒看我上次給的函式幫助,真是。。。不知道該怎麼說你)!

matlab如何將多個變數中的資料拼接成陣列儲存到exc

你可以直接在m檔案裡面用xlswrite函式 filename sheet range都是要加單引號滴 xlswrite filename,m 將矩陣m的資料寫入名為filename的excel檔案中。xlswrite filename,m,sheet 將矩陣m的資料寫入檔名為filename中的指...

如何將埠劃分到VLAN中,如何將一個埠劃分到一個VLAN中?

將一個埠劃分到一個vlan中步驟如下 1 首先進入到cisco交換機的 全域性配置模式 2 在交換機上配置一個vlan 2,名稱為 two 3 按照同樣的方法,在交換機上配置一個vlan 3,名稱為 three 4 然後把交換機上的0至5埠劃入到vlan 2。5 接著把交換機上的6至11埠劃入到vl...

如何將很孃的男生變得正常,如何將一個很孃的男生變得正常!

1.也別隻和女生玩,多交些男性朋友,和男生玩 2.自己哪些方面娘,要有數,用心的去改掉那個狀態或者習慣。沒救的 已經從根本上娘起來了 這個好辦,要讓他知道做男人的快樂,望採納 多跟爺們在一起。整到部隊裡去,挨幾個大嘴巴子就好了 一個很孃的男生要怎麼改變?1.也別隻和女生bai玩,多交些男性du朋友,...