Matlabning GUI elementni sichqonchaning o‘ng tugmasi bilan bosish va “nomini o‘zgartirish” variantini tanlash orqali ish maydonidagi istalgan element nomini o‘zgartirishga imkon beradi. Buni buyruq oynasidan ham qilish mumkinmi?
Matlab: buyruqlar oynasidan ish maydoni elementlarini qayta nomlash?
Javoblar (2)
Bu o'zingiz uchun osongina sinab ko'rishingiz mumkin bo'lgan narsalar va siz buni qilishingiz kerak. Bu o'rganish, kashf qilishning eng yaxshi usuli.
Nima bo'lishidan qat'iy nazar, javob yo'q, siz buyruqlar oynasidan o'zgaruvchi nomini shu tarzda o'zgartira olmaysiz. Buyruqlar oynasi asosan klaviaturadan kiritish uchun mo'ljallangan.
Tahrirlash: Savol, sichqoncha orqali emas, balki buyruq oynasidagi buyruq orqali o'zgartirishni amalga oshirish haqida edi. (Nega buni bizga oldindan aytmaysiz?)
Bunday o'zgartirishni amalga oshiradigan aniq buyruq yo'q. Biroq, uni o'zingiz yozishingizga hech narsa to'sqinlik qilmaydi. Masalan...
function renamevar(oldname,newname)
% renames a variable in the base workspace
% usage: renamevar oldname newname
% usage: renamevar('oldname','newname')
%
% renamevar is written to be used as a command, renaming a single
% variable to have a designated new name
%
% arguments: (input)
% oldname - character string - must be the name of an existing
% variable in the base matlab workspace.
%
% newname - character string - the new name of that variable
%
% Example:
% % change the name of a variable named "foo", into a new variable
% % with name "bahr". The original variable named "foo" will no
% % longer be in the matlab workspace.
%
% foo = 1:5;
% renamevar foo bahr
% test for errors
if nargin ~= 2
error('RENAMEVAR:nargin','Exactly two arguments are required')
elseif ~ischar(oldname) || ~ischar(newname)
error('RENAMEVAR:characterinput','Character input required - renamevar is a command')
end
teststr = ['exist(''',oldname,''',''var'')'];
result = evalin('base',teststr);
if result ~= 1
error('RENAMEVAR:doesnotexist', ...
['A variable named ''',oldname,''' does not exist in the base workspace'])
end
% create the new variable
str = [newname,' = ',oldname,';'];
try
evalin('base',str)
catch
error('RENAMEVAR:renamefailed','The rename failed')
end
% clear the original variable
str = ['clear ',oldname];
evalin('base',str)
Buyruqlar oynasida o'zgaruvchilar nomini quyidagicha o'zgartirishingiz mumkin:
%# create a variable
a = 3;
%# rename a to b
b = a;clear('a');
TAHRIRLASH
Agar oʻzgaruvchingizni satrda saqlangan boshqa oʻzgaruvchiga oʻzgartirmoqchi boʻlsangiz, ASSIGNIN dan foydalanishingiz mumkin.
a = 3;
newVarName = 'b';
assignin('base',newVarName,a);
clear('a') %# in case you want to get rid of the variable a