怎么用matlab定义一个含有100个变量的列向量?

里面的变量是H1,H2,H2....H100
错了!变量是H1,H2,H3....H100!急啊!在线等!!!!!
最新回答
不交电费瞎发啥光

2024-05-22 01:13:14

这个其实挺容易的,不过我才看到的问题。

for i=1:100    
syms (['H',num2str(i)]);    %H1、H2、H3。。。。
end

 其实个人不提倡使用循环。循环是matlab比较忌讳的。你可以用细胞组。如下:

A=cell(1,100);

例如:

A=cell(2,2)
A =
    []    []
    []    []

A里面的每个空位都可以存放任何东西,包括

字符串
,数值等。

A{1}='a';A{2}='123';A{3}='a b c d'
A =
    'a'      'a b c d'
    '123'           []
取用里面的内容:
  >> A{2}
ans =
123
>> whos ans
  Name      Size            Bytes  Class    Attributes
  ans       1x3                 6  char               
具体用法你可以才说明里面看。非常简单。
追问
第一个循环运行不出来啊
追答

运行得出来,你把后面那个分号去掉。就显示出来 了。

 

建议你用第二种吧。例如,在1*100的细胞里放入按顺序放入1到100.

for i=1:100
A(i)={i};
end
A
秋天の童话

2024-05-22 02:47:31

str=cell2mat(arrayfun(@(n)['H',num2str(n),';'],1:100,'UniformOutput',false));
H=sym(['[',str(1:end-1),']'])
孤独儛埗

2024-05-22 03:13:12

for k = 1:100
eval(['H' num2str(k) ' = k'])
end

生成H1、H2...H100 对应的值为1:100
追问
变量  不需要给赋值
追答
先初始个任意类型不可以吗?

不给值我就不知道了
饮尽孤单

2024-05-22 01:09:42

如下
on(release){
t2.text="";
if(t1.text=="123"){
gotoAndStop(2);
}else if(t1.text=="456"){
gotoAndStop(32);
}else if(t1.text=="789"){
gotoAndStop(62);
}else{
t2.text="输入错误";
}
不爱。就_滚_

2024-05-22 05:13:49

你的意思是不是定义一个100*1的矩阵?
追问
是的    但是里面的元素都是变量
追答
没听说过一下要建立这么多变量的,在那门语言里面都没见过,如果是同类型的数据在C/C++/Java里面就是用数组或者容器,在matlab里面就是矩阵