定义行向量matlab,急问:如何定义向量数组?

找你的贴子找了好久,刚才一直在给你写程序.写好了.

你的程序结果错误,在于维数问题,reshape在功能上也是可以的.你可以自己思考一下.

以下为自己的一个参考程序.希望你能圆满解决问题.

程序如下:(可以直接复制到M文件中运行)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clear

clc

load woman%是一个256*256的矩阵,存储在矩阵X当中

whos

img=X(1:80,1:80);

%获得你80*80的矩阵,当然这个地方你自己有的话就可以免去以上步骤,直接使用你自己的矩阵

%将img分块 这个

A=mat2cell(img,ones(80/8,1)*8,ones(80/8,1)*8)

%A{i,j}中就是最初的分割好的100个8*8的矩阵

img2=ones(100,64);%此为你最后想存储数据的矩阵,也就是你的BaseVector

for i = 1 :1: 10

for j = 1 :1: 10

k=i*j%k会从1增至100

temp=ones(8,8);%定义一个临时矩阵

temp=A{i,j};%转存

c=temp(:)';%转置成行向量,按你的要求

img2(k,:)=c;%依次按行的方式存储到你的矩阵当中

end

end

whos%看一下各个变量的大小

c-img2(100,:)%做一个简单的小验证,最后一次的c为最后一行的元素,所以此处的结果全为零.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

下面是结果:(上面的k值的递增部分省去了一些)

k=

99

k =

100

Name        Size              Bytes  Class     Attributes

A          10x10              57200  cell

X         256x256            524288  double

c           1x64                512  double               %中间转存的临时变量维数正确

i           1x1                   8  double

img        80x80              51200  double

img2      100x64              51200  double   %说明分组成功

j           1x1                   8  double

k           1x1                   8  double

map       255x3                6120  double

temp        8x8                 512  double

ans =

Columns 1 through 29

0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

Columns 30 through 58

0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

Columns 59 through 64

0     0     0     0     0     0

[本帖最后由 musicboy170 于 2008-11-21 13:47 编辑]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值