matlab如何将一个字符串转化为一个变量名?

作者&投稿:承菡 (若有异议请与网页底部的电邮联系)
matlab中如何把字符串设置为变量名~

上面的回答很正确了,无非就两个办法:
1)就是把目录底下所有的mat文件都提取出来
file_name = dir('*.mat');
除开file_name(1).Name和file_name(2).Name是.和..外,其他都是mat文件名。

2)就是连续load,每次改变file_name
for i = 1:13
name = ['Data1_Al_',num2str(i),'__U'];
load name;
% your code;
end

还有一个很笨的办法,就是load了以后,用eval(s)来执行一次,顺便赋值。。(s是命令行)

上面的回答很正确了,无非就两个办法:
1)就是把目录底下所有的mat文件都提取出来
file_name
=
dir('*.mat');
除开file_name(1).name和file_name(2).name是.和..外,其他都是mat文件名。
2)就是连续load,每次改变file_name
for
i
=
1:13
name
=
['data1_al_',num2str(i),'__u'];
load
name;
%
your
code;
end
还有一个很笨的办法,就是load了以后,用eval(s)来执行一次,顺便赋值。。(s是命令行)

楼上的回答欠妥。

用eval函数没错,但按照楼上的用法,适应性很差,比如b是其它数据类型的,例如struct或cell之类的呢?而且使用num2str这类函数本身还存在有效数字导致的精度损失问题。

其实正确的用法非常简单:
eval([a '=b;'])
可以原汁原味的把b赋值给a所保存的变量名中,没有任何精度损失,且适用于任意数据类型。

  1. eval([a '=b;'])

    可以原汁原味b赋值给a所保存变量名,没有任何精度损失,且适用于任意数据类型。

  2. 连续load,每改变file_name
    for i = 1:13
    name = ['Data1_Al_',num2str(i),'__U'];
    load name;
    % your code;

  3. load用eval(s)执行顺便赋值(s命令行)

  4. 比C/C++简单很多,直接一个命令行搞定,如下: >> str = 'abc' str = abc



a='aea';
b=1;
eval([a,'=',num2str(b)])




如何通过MATLAB将一组数据转换成数学表达式
叫做曲线拟合,可以用fit命令,也可以用曲线拟合工具箱 工具箱最方便 先输入数据 打开start->toolboxes->curve fitting->curve fitting toolboxes 点data,选择你输入的两组数作为x,y,然后点creat data set,点close 点fitting-->new fit type of fit 有多种拟合方式,默认多项式拟合(polynomial)选择...

如何用matlab将一组整数转化成相对应的8比特2进行数,用dec2bin只能对一...
data_2=zeros(length(data),1);for i=1:length(data)data_2(i)=dec2bin(data(i));end 另外,dec2bin是可以直接对数组进行转化的 data_2=dec2bin(data);

利用matlab将一张图片分割成10×10的小图片,求程序!
图像切片代码 my_imslice(filename)缺省方式,输出3×3 切片 my_imslice(filename,rc,cc)输出 rc×cc 切片 function [rgb,mn] = my_imslice p = imread(filename)图片补齐及计算每片大小 [m,n,h] = size(p)rp = rc*(fix(m\/rc)+1*(mod(m,rc)==1))% 补齐后行像素 frow = fix...

matlab 中如何将一系列有规律的文件名存到一个数组中
N=100;%100个数 res=zeros(N);for i=1:100 %100个文件 s=strcat('B1_',int2str(i));res(:,i)=load(s);end 用data=load(B{i})读入数据

matlab 中如何将一个字符串赋值给一个变量
单个表示直接输入:y=syms x x不管是什么型的都会变成字符串赋值给y。整体一个符号变量:y=sym('表达式')如果觉得好,别忘记采用哦。。。

如何用matlab将一组数据中,两个相邻数差的绝对值小于0.01的数据删除,并 ...
\/\/data就是数据 a=[data 1.48]b=[0 data]c=(abs(a-b)<0.01)j=0;k=0;for i=1:size(data)+1 if c(i)=1 j=j+i;newdata(j)=a(i);ablenum(j)=i;else k=k+1;disnum(k)=i;end end

如何用matlab将一组字符串写入excel的一个格
举例说明:filename = 'testdata.xlsx';A = {'Time'};sheet = 1;xlRange = 'A1';xlswrite(filename,A,sheet,xlRange)运行结果如下:关键点:A = {'Time'};%A必须一个cell类型 A='Time'%则不会将Time作为一个整体写入Excel单元格。觉得有帮助就采纳吧。

如何实现matlab将一个矩阵中前几列置为0
使用如下代码 A(:,1:3) = 0;前3列置0 这样就可以了

如何在MATLAB中将一组数前面另一部分的零去掉(这部分全是0)?拜托了...
如果题主说得这组数是数组的话,可以这样操作:a=a(a~=0)

如何用MATLAB将一组散点数据拟合成一个对数函数
xdata=[0.06 0.15 0.24 0.32 0.45 0.55 0.67 0.76 0.85 0.95 1];ydata=[0.625 0.455 0.41 0.39 0.26 0.15 0.03 0.01 -0.01 -0.05 -0.06];x0=[1;1];fun=@(x,xdata) x(1)+x(2)*log(xdata);x=lsqcurvefit(fun,x0,xdata,ydata);xn=0:0.01:1;scatt...

南昌县19615986860: matlab怎么实现字符串的转换 -
韦凌心脑: 如果是数字到字符串的转换,可以采用num2str(n),n为所需要转换的数字.

南昌县19615986860: matlab怎么将字符串变成数字? -
韦凌心脑: 数字向字符转换 a=num2str(3),得到a='3' 字符向字符转换 a=str2num('3'),得到a=3matlab 获取字符串中的数字 str='1999.jpg' A=isstrprop(str,'digit'); B=str(A); C=str2num(B) MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实...

南昌县19615986860: MATLAB 用input 输入是一个字符串,怎么把他转为函数表达式啊 -
韦凌心脑: 你说的意思不是太清楚,我就按照我理解的做的,在执行input函数的功能下输入一个字符串类型的函数表达式,最后就得到数值类型的,能进行运算的函数表达式, matlab代码如下: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...

南昌县19615986860: matlab中怎么把字符串转化为函数 -
韦凌心脑: 查找一下matlabFunction吧.软件中的例子: syms mu x yvdp = [y; mu*(1-x^2)*y-x];%生成vdp字符表达式.matlabFunction(vdp,'file','vdp2','vars',[x y mu],'outputs',{'dvdt'});%将字符表达式自动生成函数.type vdp2function dvdt = vdp2(x,y,mu)%VDP2% DVDT = VDP2(X,Y,MU)dvdt = [y;- x - mu.*y.*(x.^2 - 1)];

南昌县19615986860: 【MATLAB】如何将输入字符串转换成函数? -
韦凌心脑: 可以用eval函数,比如eval('y=x+3');执行的就是y=x+3的命令

南昌县19615986860: matlab, 将字符串转化为数字,S2552 - S3903 - S1553 - S0840 - S3531 - S1967 - S0012 - S2636 -
韦凌心脑: s='S2552-S3903-S1553-S0840-S3531-S1967-S0012-S2636' n=cellfun(@str2num,regexp(s,'\d*','match'))

南昌县19615986860: 在matlab中如何把字符串转化为函数 -
韦凌心脑: >> x=1:10; str='sum(x)'; eval(str);ans = 55

南昌县19615986860: matlab如何将一个字符串转化为一个变量名?
韦凌心脑: 楼上的回答欠妥. 用eval函数没错,但按照楼上的用法,适应性很差,比如b是其它数据类型的,例如struct或cell之类的呢?而且使用num2str这类函数本身还存在有效数字导致的精度损失问题. 其实正确的用法非常简单: eval([a '=b;']) 可以原汁原味的把b赋值给a所保存的变量名中,没有任何精度损失,且适用于任意数据类型.

南昌县19615986860: MatLab编程 把2000000000创建一个字符串number,并转化为数字,并将这些数字求和 -
韦凌心脑: 题目不清楚,只能猜了 number='200000000' sum(abs(number)) %把字符串每个字符的ASCII值求和 或者是:sum(abs(number)-'0') %字符串中的每个字符转换成数字,再求和

南昌县19615986860: 如何提取字符串中的数字 matlab -
韦凌心脑: 用正则表达式匹配吧: >> s = '[数字一12000] [数字二28000]'s =[数字一12000] [数字二28000]>> ms = regexp( s, '(?<=\w+)\d+', 'match' )ms ='12000' '28000'然后将字符串转换为数字: >> num1 = str2num( ms{ 1 } )num1 =12000

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网