查看: 113|回复: 5|关注: 0

[已答复] 使用reshape函数重塑数组总出错

[复制链接]

新手

5 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
发表于 7 天前 | 显示全部楼层 |阅读模式
clear;
    file=fopen('C:\Users\Administrator\Desktop\保存本底数据\A1-A16.bin','r');   
    %file=fopen('N.bin','r');
   for i=1:1:16
     z=fread(file,640*481,'*uint16');
     if (i==13)
      imageL=reshape(z,481,[]);
     elseif (i==16)
       imageH=reshape(z,481,[]);
     end
   end
     
    staus=fclose(file);
错误使用 reshape
已知维度的乘积 481 不能被元素总数 297600 整除。
错误使用 reshape
已知维度的乘积 481 不能被元素总数 297600 整除。

出错 Untitled2 (line 9)
       imageH=reshape(z,481,[]);

论坛优秀回答者

7

主题

1533

帖子

351

最佳答案
  • 关注者: 63
发表于 7 天前 | 显示全部楼层
嗯?这错误不应该是你自己来看的么,有什么问题?不能整除找找元素个数的问题呀。
多看帮助文档
说明你的matlab版本

新手

5 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 6 天前 | 显示全部楼层
深蓝孩童 发表于 2018-12-6 17:33
嗯?这错误不应该是你自己来看的么,有什么问题?不能整除找找元素个数的问题呀。 ...

可是数字没有问题啊

论坛优秀回答者

7

主题

1533

帖子

351

最佳答案
  • 关注者: 63
发表于 6 天前 | 显示全部楼层
水问火 发表于 2018-12-7 09:02
可是数字没有问题啊

没有问题??你看看你的z的元素个数是不是297600。
多看帮助文档
说明你的matlab版本

新手

5 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 6 天前 | 显示全部楼层
深蓝孩童 发表于 2018-12-7 10:21
没有问题??你看看你的z的元素个数是不是297600。

为啥是297600呢,我读取图像是481*640

论坛优秀回答者

7

主题

1533

帖子

351

最佳答案
  • 关注者: 63
发表于 6 天前 | 显示全部楼层
水问火 发表于 2018-12-7 11:18
为啥是297600呢,我读取图像是481*640

应该是类似于一下程序,你的文件的数据没有你指定的数大:
  1. >> fileID = fopen('nine.bin','w');
  2. fwrite(fileID,[1:9],'uint16');
  3. fclose(fileID);
  4. >> fileID = fopen('nine.bin');
  5. A = fread(fileID,[3,4],'uint16')
  6. A =
  7.      1     4     7
  8.      2     5     8
  9.      3     6     9
复制代码
多看帮助文档
说明你的matlab版本
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表