MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题 (https://www.labfans.com/bbs/showthread.php?t=5208)

yanxuan 2008-11-07 03:41

[紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题
 
:cry:
大概可以简述成这样

i=1:22

然后我想定义的内容是 Fi=fft(X),X是每个循环里会存在的一个数据矩阵,这样我就可以得到F1,F2……到F22

现在的问题是我不知道怎样表示Fi 让Matlab认识,我写的是['F',int2str(i)]=fft(X),总告诉我不对,可能我不应该用[],这样它就理解成矩阵了。但是怎么表示Fi 呢,假如i是一个变量的情况下,那个等式的左半边的书写格式是怎样的?

希望能够得到高人解惑~~~~~~~~~困扰我好久,觉得应该是个简单问题,就是搞不定,看的书里也没有详细关于这个方面介绍的。

不胜感激
:lovely: :lovely:

awodo 2008-11-07 18:05

回复: [紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题
 
我也是初学者,我是用cell array,让F{i}=fft(x)。

yanxuan 2008-11-07 18:22

回复: [紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题
 
谢谢回答,但是我测试了下不太对。

我简单的测试了下,
for i=1:3
F{i}=zeros(i,i)
end
我希望得到的结果应该是F1=zeros(1,1), F2=zeros(2,2),F3=zeros(3,3)
但用F{i}得到的结果不是这样,而是出来3个
F =

[0] [2x2 double] [2x2 double]

关于['F',int2str(i)]单独这么表示matlab认识这是Fi
写到定义式,诸如['F',int2str(i)]=zeros(i,i)它就不认识了,说表示不对

谁能帮帮忙啊,5555555
程序都写完了,就卡在这个地方了……
老板催着要看结果……

awodo 2008-11-15 15:36

回复: [紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题
 
看来你是没搞懂F{i}是什么意思,:smile: 。它表示的是一个cell array,是个数组。你调用的时候的这样:F{1},F{2},...。

awodo 2008-11-15 16:08

回复: [紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题
 
终于找到个你要的答案了,
for i=1:5
a=['F' num2str(i) '=' 'zeros(i,i)' ];
eval(a);
end

laosam280 2008-11-17 17:00

回复: [紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题
 
调用数组的元素要用小括号呀!楼主

yanxuan 2008-11-17 21:40

回复: [紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题
 
谢谢各位~回头我去试试这些法子

不过我找到了另外一个法子来解决这个问题,就是把F视为一个大的矩阵,把Fi 视为其中的小矩阵,然后就可以以F(:,i) 这种方式来定义,以后我想调用Fi 就可以直接用F这个大矩阵的子矩阵来表示。

awodo 2008-11-18 01:44

回复: [紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题
 
用普通数组也就是F(:,i)来调用,比较麻烦,要调用两行就得写成F([i,j],:).而用cell array F{}就简单了


所有时间均为北京时间。现在的时间是 11:08

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.