A=sym('[1,2,3;x,y,z;3,2,1]') rank(A) inv(A) det(A)
2.
(1) y=sym('sqrt(x+sqrt(x+sqrt(x)))');
y1=diff(y)
y2=diff(y,'x',2) (2) syms x y;
fxy=sin(x^2*y)*exp(-x^2-y); diff(diff(fxy,x),y)
3.
(1) syms x int(1/(1+x^4))
(2) syms x t
int((-2*x*x+1)/(2*x*x-3*x+1)^2,x,cos(t),exp(2*t))
4.
syms n x
symsum(1/(2*n+1)/(2*x+1)^(2*n+1),n,0,inf) symsum(1/(2*n+1)/(2*x+1)^(2*n+1),n,0,5)
5.
(1) syms x
taylor((exp(x)+exp(-x))/2,5,0) (2) syms a x
taylor(exp(-5*x)*sin(3*x+pi/3),5,a)
6.
(1)x=solve(sym('x^3+a*x+1=0'))
(2) [x y]=solve(sym('sqrt(x^2+y^2)-100=0,3*x+5*y-8=0'))
y'?y1?7. 方程转化为: ?t2
?y1'?y?1??符号解
[y1,y11]=dsolve('Dy=y1,Dy1+y=1-t^2/pi','y(-2)=5,y1(-2)=5','t') 数值解
编写函数文件ztfun.m
function yy=ztfun(t,y) yy=[y(2);1-t^2/pi-y(1)]; 在命令窗口输入以下命令
[t,y]=ode45(@ztfun,[-2,7],[-5;5]); t=linspace(-2,7,49) y2=y
8.
[x,y]=dsolve('Dx=3*x+4*y,Dy=-4*x+3*y','x(0)=0,y(0)=1')
第9章
二、实验题 1.
(1)新建一个Blank GUI。
(2)在窗口上添加一个Static Text、一个Edit Text,一个Push Botton,两个Check Box,一组Radio Button。各控件的属性设置如表9.1所示。
表9.1
界面控件属性
控 件 静态文本框 编辑框 按钮 单选按钮1 单选按钮2 单选按钮3 单选按钮4 复选框1 复选框2 String String String String String String String Value String String 属 性 名 实验一: 设置字体大小 red yellow blue black 1.0 倾斜 加粗 属 性 值 (3)在按钮的Callback函数中添加以下代码: s=eval(get(handles.edit1,'String')); set(handles.text1,'FontSize',s);
(4)在复选框1的Callback函数中添加以下代码:
if (get(hObject,'Value') == get(hObject,'Max')) set(handles.text1,'FontAngle','italic'); else
set(handles.text1,'FontAngle','normal'); end
在复选框2的Callback函数中添加以下代码:
if (get(hObject,'Value') == get(hObject,'Max')) set(handles.text1,'FontWeight','bold'); else
set(handles.text1,'FontAngle','normal'); end
(5)在单选按钮组的SelectionChangeFcn函数中添加以下代码:
set(handles.text1,'ForegroundColor',get(eventdata.NewValue,'string'));
2.
(1)新建一个Blank GUI。
(2)用菜单编辑器编辑菜单,各菜单项属性如表9.2.
表9.2 菜单项 Line Menu Help Line Style Line Menu Item Line Width Line Color Help Menu Item About 菜单项属性 Label 属 性 值 Label Help Line Style Line Width Line Color About Tag 属 性 值 m_line m_help m_linestyle m_linewidth m linecolor m_about global h; t=0:0.01:6;
h=plot(t.*sin(t),t.*cos(t)) global h;
set(h,'LineStyle','-.');
(3)绘图。在窗口的OpeningFcn函数添加以下代码: (4)在Line Style菜单项的Callback函数中添加以下代码: 在Line Width菜单项的Callback函数中添加以下代码:
global h;
set(h,'LineWidth',2);
在Line Color菜单项的Callback函数中添加以下代码:
global h;
set(h,'color','red');
在About菜单项的Callback函数中添加以下代码:
msgbox('Help Item');
3.
t=0:pi/20:6*pi;a=2;b=3; r=a+b*t;
h_draw=polar(t,r,'-*');
h_menu=uicontextmenu; %?¨á¢?ì?Y2?μ¥ %?¨á¢2?μ¥??
uimenu(h_menu,'Label','red','Call','set(h_draw,''Color'',''red'');'); uimenu(h_menu,'Label','yellow','Call','set(h_draw,''Color'',''yellow'');');
uimenu(h_menu,'Label','blue','Call','set(h_draw,''Color'',''blue'');'); set(h_draw,'UIContextMenu',h_menu); %?????ì?Y2?μ¥oí?ú?????óáa?μ?eà′
4.
(1)新建一个Blank GUI。 (2)在窗口上添加三个Static Text、三个Edit Text,一个Push Botton,一个坐标轴对象Axes。各控件的属性设置如表9.3所示。
表9.3 控 件 text1 Static Text text1 text1 edit1 edit2 edit3 String String String String String String String width height 界面控件属性 属 性 名 a: b: n: 绘图 100 25 属 性 值 Edit Text pushbotton1 Axes1 (3)在按钮pushbutton1的Callback函数中添加以下代码: t=0:pi/20:6*pi;
a=eval(get(handles.edit1,'String')); b=eval(get(handles.edit2,'String')); n=eval(get(handles.edit3,'String')); r=a.*cos(b+n.*t);
polar(handles.axes1,t,r);
第10章 二、实验题 1.
建立模型exercise10_1.mdl
(1)双击Gain模块,打开Function Block Parameters进行设置。设置完成后,单击模型编辑窗口的Start Simulation按钮,观察曲线。
(2)选择Math Operation模块库的Slide Gain模块替代Gain模块 2.略 3.
Scope的双输入实现方法:双击Scope模块,打开Scope示波器窗口,单击该窗口工具栏的
Parameters 按钮(左数第二个),在打开的对话框的General选项卡的Numbers of axes:后的编辑框中输入2,然后单击OK按钮返回,即可看到模型中的Scope模块增加了一个输入口 4.
(1)先建立如下模型
(2)建立子系统。选中除输入输出模块外其他模块,执行Edit菜单的Create Subsystem命令。 (3)封装子系统。选中子系统模块,执行Edit菜单的Mask Subsystem命令。
在Mask Editor对话框的Parameters选项卡中的Dialog Parameters栏内增加三个变量,单击OK按钮返回。
5.
(1)建立S函数subsection.m
function [sys,x0,str,ts]=subsection(t,x,u,flag) switch flag
case 0
[sys,x0,str,ts]=mdlInitializeSizes; case 3
sys=mdlOutputs(t,x,u); case {1,2,4,9} sys=[];
otherwise error('Unhandled Flag', num2str(flag)); end
function [sys,x0,str,ts]=mdlInitializeSizes() sizes=simsizes;
sizes.NumContStates=0; sizes.NumDiscStates=0; sizes.NumOutputs=1; sizes.NumInputs=1; sizes.DirFeedthrough=1; sizes.NumSampleTimes=1; sys=simsizes(sizes); x0=[]; str=[];

