case 1
colormap(jet) case 2
colormap(hot) case 3
colormap(cool) case 4
colormap(copper) case 5
colormap(pink) case 6
colormap(spring) case 7
colormap(summer) case 8
colormap(autumn) case 9
colormap(winter) end
% -------------------------------------------------------------------- function varargout = popupmenu3_Callback(h, eventdata, handles, varargin) val=get(h,'value'); switch val case 1
lighting flat case 2
lighting gouraud case 3
lighting phong case 4
lighting none end
% -------------------------------------------------------------------- function varargout = popupmenu4_Callback(h, eventdata, handles, varargin) val=get(h,'value'); switch val case 1
material shiny case 2
material dull case 3
material metal case 4
material default
end
% -------------------------------------------------------------------- function varargout = slider1_Callback(h, eventdata, handles, varargin) val=get(h,'value');
set(handles.edit1,'string',num2str(val));
lx==val; ly=get(handles.slider2,'value'); ly=get(handles.slider3,'value'); light('Position',[x y z]);
% -------------------------------------------------------------------- function varargout = edit1_Callback(h, eventdata, handles, varargin) str=get(h,'string');
set(handles.slider1,'value',str2num(str));
lx==str2num(str); ly=get(handles.slider2,'value'); ly=get(handles.slider3,'value'); light('Position',[x y z]);
% -------------------------------------------------------------------- function varargout = slider2_Callback(h, eventdata, handles, varargin) val=get(h,'value');
set(handles.edit2,'string',num2str(val));
lx=get(handles.slider1,'value'); lx==val; ly=get(handles.slider3,'value'); light('Position',[x y z]);
% -------------------------------------------------------------------- function varargout = edit2_Callback(h, eventdata, handles, varargin) str=get(h,'string');
set(handles.slider2,'value',str2num(str));
% -------------------------------------------------------------------- function varargout = slider3_Callback(h, eventdata, handles, varargin) val=get(h,'value');
set(handles.edit3,'string',num2str(val));
% -------------------------------------------------------------------- function varargout = edit3_Callback(h, eventdata, handles, varargin) str=get(h,'string');
set(handles.slider3,'value',str2num(str));
7.6 创建一个用于绘图参数选择的菜单对象Plot Option,其中包含三个选项LineStyle、Marker和Color,每个选项下面又包含若干的子项分别可以进行选择图线的类型、标记点的类型和颜色。
提示:
(1)打开菜单编辑器,建立第一级菜单项Plot Option;
(2)在Plot Option菜单项下面建立第二级子菜单项LineStyle、Marker和Color; (3)在第二级菜单项下面分别建立第三级子菜单项。
7.7 建立三个输入窗口的输入对话框,如图所示。
输入命令或程序:
prompt={'输入姓名','输入年龄','输入职业'}; title='信息登记'; lines=[1 1 1]';
def={'张平','3','教师'};
answer=inputdlg(prompt,title,lines,def);
第8章 M文件编程
8.1 命令文件与函数文件的主要区别是什么?
(1)命令文件是一系列命令的组合,函数文件的第一行必须用function说明;
(2)命令文件没有输入参数,也不用返回参数,函数文件可以接受输入参数,也可以返回参数;
(3)命令文件处理的变量为工作空间变量,函数文件处理的变量为函数内部的局部变量,也可以处理全局变量。
8.2 如何定义全局变量?
用关键字global可以把一个变量定义为全局变量,在M文件中定义全局变量时,如果在当前工作空间已经存在了相同的变量,系统将会给出警告,说明由于将该变量定义为全局变量,可能会使变量的值发生改变,为避免发生这种情况,应该在使用变量前先将其定义为全局变量。
8.3 如果x是一个结构型数组,如何观察其中的内容?
结果数组用于存储一组相关的数据元素(域),这些元素可以是不同类型、不同尺寸的,结构数组不能用数组编辑器观察和修改其中的元素。对于明为x的结构型数组,可以直接键入x以观察其中所包含的域名及内容,也可以键入x.域名观察指定域名的内容,例如
>>x x =
name: 'line' color: 'red'
data: [1 2.7000 3 5.9000 8.4000 12.2000 16.6000 18.8000 26.2000] >> x.color ans = red
8.4 if语句有几种表现形式? (1)if 表达式 语句体 end (2)if 表达式 语句体1 else 语句体2

