Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-11-07, 03:41   #1
yanxuan
初级会员
 
注册日期: 2008-10-10
年龄: 44
帖子: 6
声望力: 0
yanxuan 正向着好的方向发展
默认 [紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题

:cry:
大概可以简述成这样

i=1:22

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

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

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

不胜感激
:lovely: :lovely:
yanxuan 当前离线   回复时引用此帖
旧 2008-11-07, 18:05   #2
awodo
初级会员
 
注册日期: 2008-10-29
年龄: 47
帖子: 10
声望力: 17
awodo 正向着好的方向发展
默认 回复: [紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题

我也是初学者,我是用cell array,让F{i}=fft(x)。
awodo 当前离线   回复时引用此帖
旧 2008-11-07, 18:22   #3
yanxuan
初级会员
 
注册日期: 2008-10-10
年龄: 44
帖子: 6
声望力: 0
yanxuan 正向着好的方向发展
默认 回复: [紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题

谢谢回答,但是我测试了下不太对。

我简单的测试了下,
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
程序都写完了,就卡在这个地方了……
老板催着要看结果……
yanxuan 当前离线   回复时引用此帖
旧 2008-11-15, 15:36   #4
awodo
初级会员
 
注册日期: 2008-10-29
年龄: 47
帖子: 10
声望力: 17
awodo 正向着好的方向发展
默认 回复: [紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题

看来你是没搞懂F{i}是什么意思,:smile: 。它表示的是一个cell array,是个数组。你调用的时候的这样:F{1},F{2},...。
awodo 当前离线   回复时引用此帖
旧 2008-11-15, 16:08   #5
awodo
初级会员
 
注册日期: 2008-10-29
年龄: 47
帖子: 10
声望力: 17
awodo 正向着好的方向发展
默认 回复: [紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题

终于找到个你要的答案了,
for i=1:5
a=['F' num2str(i) '=' 'zeros(i,i)' ];
eval(a);
end
awodo 当前离线   回复时引用此帖
旧 2008-11-17, 17:00   #6
laosam280
高级会员
 
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 233
声望力: 21
laosam280 正向着好的方向发展
默认 回复: [紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题

调用数组的元素要用小括号呀!楼主
laosam280 当前离线   回复时引用此帖
旧 2008-11-17, 21:40   #7
yanxuan
初级会员
 
注册日期: 2008-10-10
年龄: 44
帖子: 6
声望力: 0
yanxuan 正向着好的方向发展
默认 回复: [紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题

谢谢各位~回头我去试试这些法子

不过我找到了另外一个法子来解决这个问题,就是把F视为一个大的矩阵,把Fi 视为其中的小矩阵,然后就可以以F(:,i) 这种方式来定义,以后我想调用Fi 就可以直接用F这个大矩阵的子矩阵来表示。
yanxuan 当前离线   回复时引用此帖
旧 2008-11-18, 01:44   #8
awodo
初级会员
 
注册日期: 2008-10-29
年龄: 47
帖子: 10
声望力: 17
awodo 正向着好的方向发展
默认 回复: [紧急求助]应该是一个简单的问题,但是折磨我很久~涉及到字符串表达的一个问题

用普通数组也就是F(:,i)来调用,比较麻烦,要调用两行就得写成F([i,j],:).而用cell array F{}就简单了
awodo 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
[资料]BP网络总结及应用实例 guofeng0108 MATLAB论坛 37 2012-06-11 22:08
[分享]给大家传一个图像空间变换和直方图变换的数学推导 johnny8088 MATLAB论坛 0 2009-01-31 03:26
Matlab声音合成和滤波的问题【附代码-自己写的】 xmuer MATLAB论坛 4 2008-12-17 08:58
[求助]关于三维画图的问题 duckliton MATLAB论坛 6 2008-12-15 18:55
[求助]在SIMULINK里,如何将inegrator上方的箭头移到下面去 yijianmei MATLAB论坛 1 2008-07-24 10:15


所有时间均为北京时间。现在的时间是 14:22


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