将矩阵缩放到新范围 [英] Scale Matrix to a new range

查看:106
本文介绍了将矩阵缩放到新范围的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能重复:
MATLAB:如何对矢量进行归一化/非归一化以生成范围[ -1; 1]
matlab将矩阵数据重新缩放为-1比1

Possible Duplicate:
MATLAB: how to normalize/denormalize a vector to range [-1;1]
matlab rescale matrix data to -1 to 1

考虑一个100x200的矩阵A,是否有一个builtin函数(或一组builtin函数)将A的范围设置为任意比例?

Consider a 100x200 matrix A, is there a builtin function (or set of builtin functions) that will set the range of A to an arbitrary scale?

推荐答案

这符合条件吗?

R = [.5 .9];
dR = diff( R );

A =  A - min( A(:)); % set range of A between [0, inf)
A =  A ./ max( A(:)) ; % set range of A between [0, 1]
A =  A .* dR ; % set range of A between [0, dRange]
A =  A + R(1); % shift range of A to R

这篇关于将矩阵缩放到新范围的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆