【问题标题】:Matlab dynamic parametres generationMatlab动态参数生成
【发布时间】:2011-08-18 05:33:11
【问题描述】:

到现在x有两个colomns,没有问题,但是现在x有各种nums,我不知道怎么写模拟代码但是 x 中的列数是动态的?

min_x = min(x);
max_x = max(x);
step = (max_x - min_x)/50;
[X, Y] = ndgrid(min_x(1):step(1):max_x(1), min_x(2):step(2):max_x(2));

【问题讨论】:

    标签: optimization matlab


    【解决方案1】:

    您可以使用 cellarrays 生成逗号分隔的列表:

    %# sample data
    x = rand(10,3);       %# you can change the column numbers here
    
    %# calculate step sizes
    mn = min(x);
    mx = max(x);
    step = (mx-mn)/50;
    
    %# vec{i} = mn(i):s(i):mx(i)
    vec = arrayfun(@(a,s,b)a:s:b, mn,step,mx, 'UniformOutput',false);
    
    %# [X,Y,...] = ndgrid(vec{1},vec{2},...)
    C = cell(1,numel(vec));
    [C{:}] = ndgrid( vec{:} );
    
    %# result = [X(:),Y(:),...]
    result = cell2mat( cellfun(@(v)v(:), C, 'UniformOutput',false) );
    

    【讨论】:

      猜你喜欢
      • 2021-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多