How to skip an empty value
現在この質問をフォロー中です
- フォローしているコンテンツ フィードに更新が表示されます。
- コミュニケーション基本設定に応じて電子メールを受け取ることができます。
エラーが発生しました
ページに変更が加えられたため、アクションを完了できません。ページを再度読み込み、更新された状態を確認してください。
古いコメントを表示
0 投票

Hello I work with this data in my program, but if there are empty spots, the program stops itself. I would like to now, how can I say to matlab to ignore these empty values or fill it with the previous value. Thank you so much
採用された回答
Fangjun Jiang
2023 年 2 月 27 日
You can use isempty(rp) to check, and then ignore as needed.
9 件のコメント
Eliska Paulikova
2023 年 2 月 28 日
But How should I do it. What is a funcion for ignoring it
Stephen23
2023 年 2 月 28 日
"But How should I do it."
You look at your "program", which presumably you wrote, and find the place where you want to check for the empty array, then include the function ISMEMPTY as Fangjun Jiang suggested. Of course you will need to decide how you want to ignore the empty array (e.g. skip an iteration, return from a function, store the location in a boolean mask, etc.)
We cannot tell you what you how or where because you have not told us anything nor shown us any relevant code.
Eliska Paulikova
2023 年 2 月 28 日
The code is so large, so I thing it takes a lot you to find the right information. However, I just find the empty value with the function isempty, but now, I dont now, how to skip it.
"However, I just find the empty value with the function isempty, but now, I dont now, how to skip it."
That depends on exactly what your code does with that array. Which we don't know and you won't tell us. So you will need to think about the logic yourself (after all, that is a significant part of writing code): how does your code generate/process that array: does it involve loops and indexing or recursion or simply printing the value to the comment window directly from an array?
@Eliska Paulikova: you still need to decide what you want to do when that array is empty. Perhaps one of:
- throw an error,
- use a default value,
- skip to the next iteration,
- use an alternative calculation,
- shorten the output array to not include that iteration.
- etc.
This is not a question about code, it is about the logic of your algorithm, and what makes sense for your data. Please let us know what you want to do when you get an empty array.
Eliska Paulikova
2023 年 2 月 28 日
As I said, I would like ro skip to the next iteration
Stephen23
2023 年 2 月 28 日
"I would like ro skip to the next iteration"
Eliska Paulikova
2023 年 2 月 28 日
Thank you so much
Fangjun Jiang
2023 年 2 月 28 日
In the code, you have this line "rp=radiiBright %v pixelech". It does not have the ";" at the end of line so every time "rp" got calculated, it displays at the Command Window as you showed.
You can add this right after to "skip".
if isempty(rp)
continue
end
The "continue" command will jump the execution to the end of the current loop and start executing the next loop.
This might help you avoid the problem at line
"r=fillmissing(rp + 0./(rp~=0), 'linear', 1)".
But it might also cause problem somewhere else.
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Multidimensional Arrays についてさらに検索
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
