错误”指数在位置2是无效的。”

1视图(30天)
雅各布·艾伦
雅各布·艾伦 2022年10月21日
%这是我使用的代码。
gmat = 0 (118400);
fid1 = fopen (“tomo_data.txt”,“r”);
gdata = fscanf (fid1,“% % f % f”[1600]);
i = 1:1600
gmat (gdata (1, 1), gdata(我)2)= gdata(我);
结束
指数在位置2是无效的。数组索引必须是正整数或逻辑值。
这是错误的:
指数在位置2是无效的。数组索引必须是正整数或逻辑值。
错误ch5q2b(16行)
gmat (gdata (1, 1), gdata(我)2)= gdata(我);
连接到这个问题所使用的txt文件。任何帮助将感激。
2的评论
雅各布·艾伦
雅各布·艾伦 2022年10月21日
%制定模型矩阵与m行(列向量)
mmat = 0 (400 1);%初始化与零
i =十四16
j = 12:13
k = 20 *(张)+ j;%的行和列的描述转换成
%列向量元素
mmat (k) = -0.1;
结束
结束
% G矩阵M矩阵相乘来生产合成数据
%,这将是我们的数据矩阵d(另一个列向量)
质素= gmat * mmat;
%用lsqr反演:使用上述合成数据质素
%恢复模型。再次需要G矩阵。
minvert = lsqr (gmat,质素);
%最后,绘制盯着模型和恢复(反演)模型
%需要把列模型向量为原始20 20网格。
mmatgrid =重塑(mmat (20、20));
minvertgrid =重塑(minvert (20、20));
次要情节(1、2、1)%使用次要情节在一个图绘制多个面板
显示亮度图像(mmatgrid [-0.1 - 0.05]);colormap(灰色);
标题(“起始模式”);
colorbar (“SouthOutside”);
平等的
xlim ([0, 20]);
ylim ([0, 20]);
次要情节(1、2、2)
显示亮度图像(minvertgrid [-0.1 - 0.1]);colormap(灰色);
标题(的恢复模型反演的);
colorbar (“SouthOutside”);
平等的
xlim ([0, 20]);
ylim ([0, 20]);
这就是我下面,我之前提供的代码。我试图解释我做什么在绿色文本。

登录置评。

答案(1)

克里斯·拉皮埃尔
克里斯·拉皮埃尔 2022年10月21日
错误是因为第二个指数,指数列 gmat考试 ,这是 gdata(2,我) ,是0。这不是一个有效的指标。指数在MATLAB必须是正整数(或逻辑值)。
gmat = 1:3;
%的作品
gmat (1, 1)
ans = 1
%你的错误
gmat (1,0)
指数在位置2是无效的。数组索引必须是正整数或逻辑值。
6个评论
克里斯·拉皮埃尔
克里斯·拉皮埃尔 2022年10月24日
错误已经解释了,但是我们没有足够的细节告诉你应该做什么。

登录置评。

类别

找到更多的在交互控制和回调帮助中心文件交换

标签

下载188bet金宝搏


释放

R2021a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!