当前位置: 首页 > 程序语言 >matlab 处理自变量x的范围

matlab 处理自变量x的范围

作者 CXC_小草
来源: 小木虫 200 4 举报帖子
+关注

中文大意是这样的:有一个数值矩阵的表格,假设有1000行,每一行的第3列的数从上到下是按顺序从小到大排列的。从0开始到一个比较大的数。
a = importdata('data.mat');
c = a;
我定义了一个自变量x:
x = 1/3:1e-4:1000/3;
我想取所有a即data.mat里面的第三列的数在x-25到x+25之间的所有行,因为这个数据行文件是跟着x在变的,
b1 = x+25;
if x<=25                                                
        b = c(c(:,3)<b1,;
else
        b2 = x-25;
        b = c(c(:,3)>b2,;
        b = b(b(:,3)<b1,;
end
这样提示“变量‘x’可能是由非标量运算符设置的”,同时我感觉b = c(c(:,3)<b1,;和b = c(c(:,3)>b2,;        b = b(b(:,3)<b1,;这样写也是不对的,求大神指点,感谢! 返回小木虫查看更多

今日热帖
  • 精华评论
  • googon

    很显然的你X是一个矩阵嘛,你自己在前面已经定义了,这个问题要用矩阵法就得先把位置找出来,不然就用循环解决。如果有用,麻烦关注一下matlab爱好者,谢谢

  • CXC_小草

    引用回帖:
    2楼: Originally posted by googon at 2020-11-10 23:46:51
    很显然的你X是一个矩阵嘛,你自己在前面已经定义了,这个问题要用矩阵法就得先把位置找出来,不然就用循环解决。如果有用,麻烦关注一下matlab爱好者,谢谢

    你好,很感谢回复,我的数据文件很大,好几百万行,我后面都要用到该范围内的数据计算,我知道有种表示方法就是a()来表示,但是如果就是要筛选出来与x的值相关的x-25到x+25之间的值,有没有好的表示方法,能给个建议或者您给指点一下,用一个语句,我刚学matlab,小菜一枚,很是无助,感谢,期待您的回复

  • hollya27

    b=a(a(:,3)>x-25 & a(a(:,3)<x+25), : )

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓