[問題] pop-up menu的值不能用str2double換成數字已回收
首先
如果 a = 1 那麼 class(a) 會是 double
那 b = '1' 那麼 class(b) 會是 char
接著 c = str2num(b) 的值會是 1 且 class(c) 為 double
這在MATLAB的commond視窗都試過而且沒有問題
用str2double應該也可以的
----
問題來了!!
----
寫了一個GUI程式
要用pop-up menu來選擇之後for迴圈要跑的次數
當然popup menu裡面都是數字
像這樣~
┌─────────┬─┐
│1 │▼│
├─────────┴─┤
│2 │
│3 │
│..... │
│n(底下程式碼的變數名) │
└───────────┘
-------------------------------------程式碼-----------------------------------
% --- Executes on selection change in menu.
function menu_Callback(hObject, eventdata, handles)
% Hints: contents = get(hObject,'String') returns menu contents as cell array
% contents{get(hObject,'Value')} returns selected item from menu
global n; %下一個function會用到
V=get(hObject,'Value') %class V為char
n=str2double(V) %n的class是double可是值居然是NaN!!
而且用str2num來轉換會錯誤
function menu_CreateFcn(hObject, eventdata, handles)
% hObject handle to menu (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: popupmenu controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
-------------------------------------程式碼-----------------------------------
問題就是紅色的部份
為什麼會這樣啊@@?
感謝解惑@@"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.33.224
→
10/05 22:23, , 1F
10/05 22:23, 1F
※ 編輯: jack750822 來自: 59.112.33.224 (10/05 22:39)
→
10/06 09:35, , 2F
10/06 09:35, 2F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章