エラーの原因と解決方法を教えてください

'matlab.graphics.chart.primitive.Surface' タイプのオペランドに対して、演算子 ':' はサポートされていません。
上のようなエラーが出てしまいます。
エラー箇所は下の矢印のところです。
right(isnan(right))=0
s=surf(right)
zlim([inR axR])
% view([-30.6 57.0])
s.EdgeColor = 'none';
for n=1:s(1) ←
for m=1:s(2)
if Data(n,m,face(n,m))==0
Data(n,m,face(n,m))=1;
end
end
end
よろしくおねがいします。

 Accepted Answer

0 votes

おそらくやりたいことは、n, mに変数rightのインデックスの連番をつくりたいのかなぁと予想し、下記に修正コードを書きました。
right(isnan(right))=0;
s=surf(right);
zlim([inR axR]);
% view([-30.6 57.0])
s.EdgeColor = 'none';
for n=1:size(right,1) % rightの1次元目のインデックスの連番を作成
for m=1:size(right,2)% rightの2次元目のインデックスの連番を作成
if Data(n,m,face(n,m))==0
Data(n,m,face(n,m))=1;
end
end
end

1 Comment

遥 荻津
遥 荻津 on 18 Jul 2023
回答ありがとうございます。
修正コードを参考にさせていただいたら、エラーはなくなりました。
助かりました!

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!