Matlab 版 (精华区)

发信人: seesea (马虎学究), 信区: Matlab
标  题: [合集]如何删去矩阵的一列或一行
发信站: 哈工大紫丁香 (2002年10月29日01:39:21 星期二), 站内信件


────────────────────────────────────────
 zjliu (fly)                          于 2001年12月09日13:00:55 星期天 说道:

为了降低维数,
可指定的删去某列或某行么?

────────────────────────────────────────
 lzmdcn (reimyk)                      于 2001年12月09日13:14:06 星期天 说道:

    取你所需要的行或列组成一个新矩阵。
【 在 zjliu (fly) 的大作中提到: 】
: 为了降低维数,
: 可指定的删去某列或某行么?

────────────────────────────────────────
 zjliu (fly)                          于 2001年12月09日15:59:57 星期天 说道:

没有一个命令么?
【 在 lzmdcn (reimyk) 的大作中提到: 】
:     取你所需要的行或列组成一个新矩阵。
: 【 在 zjliu (fly) 的大作中提到: 】
: : 为了降低维数,
: : 可指定的删去某列或某行么?

────────────────────────────────────────
 Rorene (豆豆)                        于 2001年12月09日16:48:06 星期天 说道:

    这可以很方便的用:来解决,没有必要用一个函数,还麻烦。
【 在 zjliu (fly) 的大作中提到: 】
: 没有一个命令么?
: 【 在 lzmdcn (reimyk) 的大作中提到: 】
: :     取你所需要的行或列组成一个新矩阵。

────────────────────────────────────────
 zjliu (fly)                          于 2001年12月09日18:39:32 星期天 说道:

我是说,比如  x=[1,2,3,4];
用命令删去任意一个分量,得到y=[1,2,4];
或者y=[1,3,4];
【 在 Rorene (豆豆) 的大作中提到: 】
:     这可以很方便的用:来解决,没有必要用一个函数,还麻烦。
: 【 在 zjliu (fly) 的大作中提到: 】
: : 没有一个命令么?

────────────────────────────────────────
 hlx (人品太次郎)                     于 2001年12月09日18:47:42 星期天 说道:

    y = x(:, [1:n m:k])
    那么 y 矩阵是这么产生的:
    取 x 矩阵中的第1列至第 n 列,以及第m列至第k列的元素,保存在
矩阵 y 中。
    如果你想按行取,也可以,类似的写法是:
    y = x([1:n m:k], :)
【 在 zjliu (fly) 的大作中提到: 】
: 我是说,比如  x=[1,2,3,4];
: 用命令删去任意一个分量,得到y=[1,2,4];
: 或者y=[1,3,4];
: 【 在 Rorene (豆豆) 的大作中提到: 】
: :     这可以很方便的用:来解决,没有必要用一个函数,还麻烦。

────────────────────────────────────────
 zjliu (fly)                          于 2001年12月09日18:57:56 星期天 说道:

在一个循环中我要分别去掉每一个元素(得到少一个的长度的向量),
这样不适于编成循环程序。
【 在 hlx (人品太次郎) 的大作中提到: 】
:     y = x(:, [1:n m:k])
:     那么 y 矩阵是这么产生的:
:     取 x 矩阵中的第1列至第 n 列,以及第m列至第k列的元素,保存在
: 矩阵 y 中。
:     如果你想按行取,也可以,类似的写法是:
:     y = x([1:n m:k], :)
: 【 在 zjliu (fly) 的大作中提到: 】
: : 我是说,比如  x=[1,2,3,4];
: : 用命令删去任意一个分量,得到y=[1,2,4];

────────────────────────────────────────
 hlx (人品太次郎)                     于 2001年12月09日19:00:16 星期天 说道:

    那你就自己做一个 function 吧!例如
    function a = ****(b,c)
    b 是原始矩阵, c 是需要删除的列号。这样可以吗?
【 在 zjliu (fly) 的大作中提到: 】
: 在一个循环中我要分别去掉每一个元素(得到少一个的长度的向量),
: 这样不适于编成循环程序。
: 【 在 hlx (人品太次郎) 的大作中提到: 】
: :     y = x(:, [1:n m:k])
: :     那么 y 矩阵是这么产生的:
: :     取 x 矩阵中的第1列至第 n 列,以及第m列至第k列的元素,保存在
: : 矩阵 y 中。
: :     如果你想按行取,也可以,类似的写法是:
: :     y = x([1:n m:k], :)

────────────────────────────────────────
 UFO (茫茫宇宙·任我独行)             于 2001年12月09日21:14:28 星期天 说道:

【 在 zjliu (fly) 的大作中提到: 】
: 我是说,比如  x=[1,2,3,4];
: 用命令删去任意一个分量,得到y=[1,2,4];
                              x(3) = [];
: 或者y=[1,3,4];
      x(2) = [];
: 【 在 Rorene (豆豆) 的大作中提到: 】
: :     这可以很方便的用:来解决,没有必要用一个函数,还麻烦。

────────────────────────────────────────
 UFO (茫茫宇宙·任我独行)             于 2001年12月09日21:17:42 星期天 说道:

假如A为你的矩阵,
你要去掉第i行,
用 A(i, :) = [];
要去掉第j列,
用A(:, j) = [];
【 在 zjliu (fly) 的大作中提到: 】
: 为了降低维数,
: 可指定的删去某列或某行么?

────────────────────────────────────────
 zjliu (fly)                          于 2001年12月09日21:53:46 星期天 说道:

多谢,这招挺好!
【 在 UFO (茫茫宇宙·任我独行) 的大作中提到: 】
: 假如A为你的矩阵,
: 你要去掉第i行,
: 用 A(i, :) = [];
: 要去掉第j列,
: 用A(:, j) = [];
: 【 在 zjliu (fly) 的大作中提到: 】
: : 为了降低维数,
: : 可指定的删去某列或某行么?

────────────────────────────────────────
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.537毫秒