作业帮 > 综合 > 作业

matlab中这句话有错没disp=reshape(disp,[r,c])';

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 13:13:07
matlab中这句话有错没disp=reshape(disp,[r,c])';
为什么一直编译不过去呢,到底该咋做啊,
你是要将disp这个向量转换为一个维数为:r行,c列的矩阵
(1)用以下语句将一个列向量转化为一个图像矩阵:
imwrite(mat2gray(reshape(disp,r,c)),'d:disp1.jpg');
将disp转为r行,c列的图像矩阵(图像)存在D盘,文件取名为disp1.jpg
(2)对矩阵的操作
reshape()把指定的矩阵改变形状,但是元素个数不变
如:行向量:a = [1 2 3 4 5 6]
执行下面语句把它变成3行2列:
b = reshape(a,3,2)
执行结果:
b =
1 4
2 5
3 6
若a=[1 2 3
4 5 6
7 8 9]
使用reshpe后想得到b=[1 2 3 4 5 6 7 8 9]
只需要将a转置一下再使用reshape就可以了:
b=reshape(a',1,9)
再问: r = data(1);  c = data(2);  disp = data(3:end); vmin = min(disp);vmax = max(disp);disp=reshape(disp,[c,r])';
再答: data是个数组?可以把完整的程序发给我瞧瞧,r=data(1)取data里面的第一个数,c = data(2)取第二个数,下面两行去最大最小值,然后根据c和r来将原来的数组(向量)改变形状?是这个意思么?
再问: function data = importdata(filename);

把这两行放到最上面就是完整的代码,刚才由于字数限制没有写完整。
多谢你了
再答: 这应该是一个自定义的function函数文件,函数名字为txt2img(),返回一个值给img,filename应该是一个放在硬盘里面的文件夹,里面有数据。这个function文件只是一个子文件,应该还有main程序来调用它,具体我也不知道怎么给你讲,要看你的filename文件夹里放了什么数据,不过disp=reshape(disp,[c,r])';这一句改成disp=reshape(disp,c,r)';看这样有没有错误。
再问: 改了,还是这句话出错,不过还是谢谢你了,搞了一晚上也没搞出来,郁闷啊。