0
我是MATLAB新手(和本網站!),我需要一些幫助來解決我被分配給課堂的問題。我在這個網站上搜索了類似的MATLAB問題,但我沒有遇到任何問題。問題是要求用戶返回最接近零的最大數字。換句話說,編寫一個函數,該函數以數字列表/數組作爲輸入並返回與零相鄰的最大數字。舉例來說,如果MATLAB:返回數組中最大的數字?
a=[1 -2 3 4 0 5 6 0 -7], Output: y=6.
我試圖解決使用比較複雜的功能我在網上找到的問題,它似乎在MATLAB工作。但是,它不會我們的自動在線MATLAB分級制度的命令「imdilate」上工作不認可:
x=[1 2 0 4 5 -6 0 7 0 8]
zero_mask = (x == 0);
adjacent_to_zero_mask = imdilate(zero_mask, [1 0 1]);
max_value_adjacent_to_zero = max(x(adjacent_to_zero_mask));
y=max_value_adjacent_to_zero
我想問,是有解決這個問題不涉及簡單得多的方法「 imdilate「或其他類似的功能? 謝謝你的幫助,我真的很感激!
有時候,髒好:d我想你的代碼,它完美地工作。我以前曾嘗試使用'unique',但我認爲我沒有正確設置命令。您的幫助是真正的讚賞! –
@ JohnWayne'sStuntDouble其實這並不是必需的。如果你忽略它,代碼仍然可以工作:'I = [I + 1,I-1]'(不管''a') –
@DennisJaheruddin是可行的。爲了避免重複的索引,我包含了「獨特」,但最終的結果是一樣的。 – tashuhka