- 积分
- 46
- 注册时间
- 2007-4-28
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2011-5-15 15:35:41
|
显示全部楼层
来自 河北廊坊
- clear;clc;close all
- format shortG
- A = [1 4 8 9 2 1;
- 2 3 3 3 4 8;
- 9 8 7 4 6 2;
- 4 5 7 8 9 4 ];
- FP = struct('ymin',0,'ymax',1);
- [y1,PS] = mapminmax(A',FP);
- y1(y1 == 1) = 0;
- p = reshape(nonzeros(y1'),2,[]);
- B = [ 2 8 4 2 5 1
- 6 4 8 8 1 4 ];
- C = zeros(4,length(B));
- C([1,4],:) = sort(B);
- C(2:3,:) = bsxfun(@plus,bsxfun(@times,range(B),p), C(1,:))
复制代码-
- C =
- 2 4 4 2 1 1
- 2.5 4.8 7.2 3 2.1429 1.4286
- 3.5 5.6 7.2 7 3.2857 2.2857
- 6 8 8 8 5 4
复制代码
和lz给的结果不一样,有可能是lz对加法的定义和Matlab不一样,这样的话可以重载plus函数来实现的,通过面向对象操作 |
评分
-
1
查看全部评分
-
|