24小时热门版块排行榜    

查看: 939  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

jaeho5282

银虫 (小有名气)

[求助] 一段matlab的小程序,不明白它的意思

如题,下面的这个小程序,谁能帮忙详细解说下每一句的意思哦,谢谢哈
尤其是array后面部分的意思,看不懂。。要详细哦嘿嘿

data = xlsread('E:\121.xls');
[row, col] = size(data);
num = col/3;

for i=1:num;
    ix = (i-1)*3 + 1;
    iy = (i-1)*3 + 2;
    iz = (i-1)*3 + 3;
    array=[data(isfinite(data(:,ix)),ix) data(isfinite(data(:,iy)),iy) data(isfinite(data(:,iz)),iz)];
   
    save output.txt -append array -ascii;
end
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jswoo

铁杆木虫 (著名写手)

阿拉多梦

【答案】应助回帖

★ ★ ★ ★ ★ ★
csgt0: 金币+1, 谢谢 2012-12-17 10:15:02
jaeho5282: 金币+5 2012-12-18 18:15:18
引用回帖:
3楼: Originally posted by jaeho5282 at 2012-12-16 23:16:10
能否将整段程序解释下呢?呵呵非常感谢哈...

data = xlsread('E:\121.xls');  % 读取数据,在该E:目录下的121的 Excel文件121.xls
[row, col] = size(data);       % 读取该数据的行row数、列col数
num = col/3;                   %  设定一个数,为列的三分之一

for i=1:num;                   % 循环计算
    ix = (i-1)*3 + 1;          % 后面的跟你解释了
    iy = (i-1)*3 + 2;
    iz = (i-1)*3 + 3;
    array=[data(isfinite(data(:,ix)),ix) data(isfinite(data(:,iy)),iy) data(isfinite(data(:,iz)),iz)];
   
    save output.txt -append array -ascii;    % 将数据保存为txt格式,这里还有个问题,程序里output这个输出变量还没体现。
end
4楼2012-12-17 09:48:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

jswoo

铁杆木虫 (著名写手)

阿拉多梦

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
jaeho5282: 金币+5, 有帮助 2012-12-16 23:16:37
csgt0: 金币+1, 应助指数+1, 谢谢 2012-12-17 10:14:49
isfinite(A)
返回一个与A维数相同的数组,如果A的元素为有限数,在对应位置返回逻辑1(真),若无限或为NaN,在对应位置返回逻辑0(假)。
对一个复数z,如果A的实部或者虚部有至少有一个是有限的,则isfinite(z)返回1,如果实部和虚部都是无限的或者NaN,则返回0.

比如:
a=[2,inf,0,5]
isfinite(a)
ans =
     1     0     1     1
2楼2012-12-16 20:57:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jaeho5282

银虫 (小有名气)

引用回帖:
2楼: Originally posted by jswoo at 2012-12-16 20:57:23
isfinite(A)
返回一个与A维数相同的数组,如果A的元素为有限数,在对应位置返回逻辑1(真),若无限或为NaN,在对应位置返回逻辑0(假)。
对一个复数z,如果A的实部或者虚部有至少有一个是有限的,则isfinite(z)返回 ...

能否将整段程序解释下呢?呵呵非常感谢哈
3楼2012-12-16 23:16:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jaeho5282

银虫 (小有名气)

引用回帖:
4楼: Originally posted by jswoo at 2012-12-17 09:48:50
data = xlsread('E:\121.xls');  % 读取数据,在该E:目录下的121的 Excel文件121.xls
= size(data);       % 读取该数据的行row数、列col数
num = col/3;                   %  设定一个数,为列的三分之一

...

对,好像是没有定义output,那应该怎么定义这个变量呢?我是抄来的,可能漏掉了呵呵
5楼2012-12-18 18:15:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见