How can I solve the problem 'Subscripted assignment dimension mismatch' in my looping progress?
Afficher commentaires plus anciens
I want to write vector to an array (matrix), but I get problem in the dimension of it. ntr is the number of trace. this is my code:
for i=1:ntr % read traces into panel
[seis(:,i),seqno(i),itr(i),irec(i),dt,offset,sdepth,selev,relev(i),...
xs,ys,xr(i),yr(i),cdp(i)]=segyin(fid);
if i==1
cdp(i) % list cdp as progress flag
end
if (ixs == 0)
xoff=[xoff;offset]; % build offset vector
else
xoff = [xoff;10*(i-1)-1500];
end
here is the error:
Subscripted assignment dimension mismatch.
Error in trpan (line 152)
[seis(:,i),seqno(:,i),itr(i),irec(i),dt,offset,sdepth,selev,relev(i),...
Réponses (2)
Walter Roberson
le 6 Oct 2015
0 votes
In the error message, the first output is given as seis(nsamp,i), but in the code segment, the first output is given as seis(:,i) . The code you are running is not the same as the code you posted.
Note that we do not know anything about segyin() and we do not know how you initialized your variables.
1 commentaire
Kiswanto Ihsani
le 6 Oct 2015
Modifié(e) : Walter Roberson
le 6 Oct 2015
Thorsten
le 6 Oct 2015
The error seems to be due to the first two arguemnts. Try
[a,b,itr(i),irec(i),dt,offset,sdepth,selev,relev(i),...
xs,ys,xr(i),yr(i),cdp(i)]=segyin(fid);
whos a
whos b
What's the result? That may give you some idea of how to correct the code.
5 commentaires
Kiswanto Ihsani
le 6 Oct 2015
Walter Roberson
le 6 Oct 2015
nsamp is somehow invalid, such as if it is negative. You are reading it as 'short' which is a signed value.
Kiswanto Ihsani
le 6 Oct 2015
Thorsten
le 6 Oct 2015
What's the value of nsamp? Could it be 0?
Kiswanto Ihsani
le 6 Oct 2015
Catégories
En savoir plus sur Logical dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!