matlab学习资料:Simulink学习中的100个问答

合集下载

Simulink问题集锦

Simulink问题集锦

第一部分:------------------------------------------------- 命令行如何运行simulink外部模式build和start?用sim()函数,该函数的调用格式为:[t,x,y]=sim(f1,tspan,options,ut)其中f1为SIMULINK的模型名,tspan为仿真时间控制变量;参数options为模型控制参数;ut为外部输入向量。

-------------------------------------------------请问matlab中的仿真模块,可以看到起源程序吗?那些基本模块是看不了源代码的,有很多模块是用subsystem组成的,你可以用look under mask(鼠标右键)看到里面是怎样用子模块搭接的,还有很多是由s函数写成的simulink的模块,这些直接edit sfunname(s函数的名字)就可以看到源代码-------------------------------------------------请问:在simulink参数中设置的步长是50e-6,在系统中有一个simout模块向MATLAB中传递数据,但是希望以1e-3的步长获取数据,因该如何设计?在simout模块中直接设定仿真步长是不能运行的。

需要插入一个"zero order hold"模块,将该模块的采样时间设置为1e-03就可以了。

-------------------------------------------------simulink中IGBT等电力元件都有个m极,是什么作用的?用于测量流过IGBT电流及其电压-------------------------------------------------用simlink画的图,在示波器中显示,如何复制到word 中?告诉你一个办法,在加上示波器的地方加上to workspace 改为array在主窗口中plot直接抓过去也行吧。

simulink命令集、小问题集锦

simulink命令集、小问题集锦

simulink命令集、小问题集锦仿真命令:sim ---仿真运行一个simulink模块sldebug ---调试一个simulink模块simset ---设置仿真参数simget ---获取仿真参数线性化和整理命令:linmod ---从连续时间系统中获取线性模型(状态方程) linmod2 ---也是获取线性模型,采用高级方法dinmod ---从离散时间系统中获取线性模型trim ---为一个仿真系统寻找稳定的状态参数构建模型命令:open_system --打开已有的模型close_system --关闭打开的模型或模块new_system --创建一个新的空模型窗口load_system --加载已有的模型并使模型不可见save_system --保存一个打开的模型add_block --添加一个新的模块add_line --添加一条线(两个模块之间的连线)delete_block --删除一个模块delete_line --删除一根线find_system --查找一个模块hilite_system --使一个模块醒目显示replace_block --用一个新模块代替已有的模块set_param --为模型或模块设置参数get_param --获取模块或模型的参数add_param --为一个模型添加用户自定义的字符串参数delete_param --从一个模型中删除一个用户自定义的参数bdclose --关闭一个simulink窗口bdroot --根层次下的模块名字gcb --获取当前模块的名字gcbh --获取当前模块的句柄gcs --获取当前系统的名字getfullname --获取一个模块的完全路径名slupdate --将1.x的模块升级为3.x的模块addterms --为未连接的端口添加terminators模块boolean --将数值数组转化为布尔值slhelp --simulink的用户向导或者模块帮助封装命令:hasmask --检查已有模块是否封装hasmaskdlg --检查已有模块是否有封装的对话框hasmaskicon --检查已有模块是否有封装的图标iconedit --使用ginput函数来设计模块图标maskpopups --返回并改变封装模块的弹出菜单项movemask --重建内置封装模块为封装的子模块诊断命令:sllastdiagnostic --上一次诊断信息sllasterror --上一次错误信息sllastwarning --上一次警告信息sldiagnostics --为一个模型获取模块的数目和编译状态硬拷贝和打印命令:frameedit --编辑打印画面print --将simulink系统打印成图片,或将图片保存为m文件printopt --打印机默认设置orient --设置纸张的方向命令行如何运行simulink外部模式build和start用sim()函数该函数的调用格式为:[t,x,y]=sim(f1,tspan,options,ut)其中f1为SIMULINK的模型名,tspan为仿真时间控制变量;参数options为模型控制参数;ut为外部输入向量。

MATLAB-Simulink复习

MATLAB-Simulink复习
MATLAB为控制界广泛接受的另一个主 要原因是它提供了十分方便的一系列绘 图命令。
1 绘制单根二维曲线 函数的基本调用格式为: plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标
和y坐标数据。
例 在0≤x≤2区间内,绘制曲线 y=2e-0.5xcos(4πx)
程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y)
其中start为起始值,step为步长,end为终止值。 当步长为1时可省略step参数;另外step也可以取负 数。
矩阵下标
注意:MATLAB中矩阵的下标从1开始,而不是从 0开始!
MATLAB通过确认矩阵下标,可以对矩阵进行插 入子块,提取子块和重排子块的操作。 A(m,n):提取第m行,第n列元素 A(:,n):提取第n列元素 A(m,:):提取第m行元素 A(m1:m2,n1:n2):提取第m1行到第m2行和第 n1列到第n2列的所有元素(提取子块)。
在运算式中,通常不需要考 虑空格
多条命令可以放在一行中
同行中各条命令可用分号隔 开,表示禁止结果显示
同行中各条命令也可用逗号 隔开,表示需要显示结果
4 常用数学函数
abs ---- 求绝对值 cos ---- 余弦 asin ---- 反正弦 atan ---- 反正切 sqrt ---- 求平方根 exp(x) ---- ex
矩阵大小
[m,n]=size(A):返回矩阵的行列数m与n max(size(A)):返回矩阵行数或列数的最大值。 rank(A):求矩阵的秩
1.3.2 矩阵的运算 1 转置
转置符号有两种形式

simulink期末试题及答案

simulink期末试题及答案

simulink期末试题及答案Simulink期末试题及答案分析为了帮助大家更好地准备Simulink期末考试,本文将提供一些常见试题及答案的解析。

通过深入探讨这些问题,我们可以加深对Simulink的理解并掌握其相关技巧和应用。

一、基本概念与应用题试题1:请简要介绍Simulink的基本概念和用途。

答案:Simulink是一种基于块图形界面的MATLAB工具,用于进行模型建立、仿真和分析。

它在系统设计和控制工程中得到广泛应用,可以有效地进行多学科建模和模拟,包括电子、通信、控制系统等领域。

与传统编程相比,Simulink的可视化特性使得系统设计更加直观,易于理解和调试。

试题2:请解释Simulink模型中的信号流向和块之间的连接方式。

答案:Simulink模型中的信号流向一般按照从左到右的顺序。

信号沿着连接线流动,从一个块的输出端到另一个块的输入端。

块之间的连接方式可以通过线连接或者直接连接。

线连接是指将输出端与输入端用线连接起来,而直接连接则是直接将输出端与输入端放在一起,此时信号可以直接传递。

二、建模与仿真题试题1:请使用Simulink建立一个简单的R-C电路模型,并进行仿真。

答案:首先,在Simulink中选择Simulink库浏览器,找到Simscape 电气特性库。

然后将R和C元件拖拽到模型窗口中,并连接好输入输出端口。

接下来,在仿真参数设置中选择仿真时间和其他相关参数。

点击模型窗口的“运行”按钮,即可进行仿真。

仿真结果将显示出电路的响应。

试题2:请使用Simulink建立一个PID控制系统模型,并进行仿真。

答案:首先,在Simulink中选择Simulink库浏览器,找到Control System Toolbox库。

然后将PID Controller块、Plant模块以及Scope块等拖拽到模型窗口中,并合理连接。

接下来,设置PID控制器的参数和输入信号。

点击模型窗口的“运行”按钮,即可进行仿真。

MATLAB语言:Simulink系统仿真习题与答案

MATLAB语言:Simulink系统仿真习题与答案

一、单选题1、将模块连接好之后,如果要分出一根连线,操作方法是()。

A.把鼠标指针移到分支点的位置,按住鼠标左键拖曳到目标模块的输入端B.双击分支点的位置,按住鼠标左键拖曳到目标模块的输入端C.把鼠标指针移到分支点的位置,按下Ctrl键并按住鼠标拖曳到目标模块的输入端D.把鼠标指针移到分支点的位置,按下Shift键并按住鼠标拖曳到目标模块的输入端正确答案:C2、在一个模型窗口上按住一个模块并同时按Shift键移动到另一个模型窗口,则()。

A.在两个模型窗口都有这个模块B.在后一个窗口有这个模块C.在前一个窗口有这个模块D.在两个窗口都有模块并添加连线正确答案:A3、为子系统定制参数设置对话框和图标,使子系统本身有一个独立的操作界面,这种操作称为子系统的()。

A.包装B.封装C.集成D.组合正确答案:B4、使用S函数时,要在模型编辑窗口添加()。

A.Sine Wave模块B.S-Program模块C.Subsystem模块D.S-Function模块正确答案:D二、多选题1、启动Simulink的方法有()。

A.在命令行窗口中输入simulink命令B.在“主页”选项卡中单击SIMULINK命令组中的“Simulink”命令按钮C.在“主页”选项卡中单击“文件”命令组中的“新建”命令按钮D.在“主页”选项卡中单击“文件”命令组中的“新建脚本”命令按钮正确答案:A、B、C2、根据控制信号的控制方式不同,条件执行子系统分为()。

A.事件驱动子系统B.使能子系统C.触发子系统D.使能加触发子系统正确答案:B、C、D3、以下关于S函数的描述中,正确的有()。

A.利用S函数可以对Simulink模块库进行扩充B.S函数只能用MATLAB语言编写C.S函数有现成的模板程序D.S函数模块能够被封装正确答案:A、C、D三、判断题1、建立系统仿真模型是在Simulink模型编辑窗口中进行的。

正确答案:√2、利用触发子系统能够将锯齿波转换为方波。

matlab常见问题集锦

matlab常见问题集锦

Q:10.如何使用matlab将数据模糊化并输出模糊化结果?
A:模糊综合评价法,fuzzy logic Q:11.如何用matlab做非等间隔信号的功率谱密度变换?
A:可以的,不过是不是幅值的绝对值的平方,是求其模值就可以了,因为它 是复数
matlab常见问题集锦
更新时间:2014-7-23
Q:1.想从矩阵中取任意行的数据, 比如A=[1; 2; 3; 4; 5; 6; 7; 8], 如何从A 中任意取4行的数据呢? 谢谢!
A:
nd=randperm(10);
for k=1:4 a(k)=A(ind(k));
end
这个是针对你的向量形式,如果是矩阵可以修改一下 [m,n]=size(A);
A:如果再运行这个m文件运行一次,就得关闭matlab 《----- 你需要把这句话在仔细解释一下 运行完了 得到结果了 为什么 不能清理变量,不关闭每次都crash吗?感觉是你的程序有些资源是必须 要释放了以后才能再次使用 还有2G 是比较小了 有可能是内存问题
Q:我要表达的意思是,第一次运行这个m文件,能运行成功,如果再运行 一次,就不成功,出现上面的提示;我处理250个文件时,这个m文件有 时能运行多次,有 时不能运行多次,你这么一提示,我感觉也是我的程 序需要把有些资源释放了才能再次使用,但是使用了clear all也不好使 ,在程序开始和末尾都使用clear all,还是出现我在上面说的问题 A:很可能说你有些文件句柄没有关闭
A:这段代码如果卡死,最大的可能就是while陷入了死循环。说明在for i = 1:n-1这段循环结束之后,dz无法满足while的退出条件(可能是太小或 太大)。你需要重新检查你的算法和数据。
Q:3.find可以查到第一个满足条件的就退出吗? 如题,想找矩阵R里第一列中第一个>=t的数,写的程序如下: A=find(R(:,1)>=t) S=A(1,:) D=R(S,:) 但是特别浪费时间,所以想问问应该怎么写好。万分感谢!

simulink有关问题解答

simulink有关问题解答

运行仿真模型
举例:例子中仿真时间设置为“100s”较合适,为画图方便, 产生数据数为100+1=101个(0s产生一个点),运行仿真模 型。
在运行完仿真模型后,回到Matlab的Workspace窗口, 能看到变量pid123,此变量为101个Y轴数据点,画成一个曲 线图还需要101个时间点做为X轴的点(x、y轴的点数要相等)。 在命令行中输入:>> T=0:1:100; 此时,在工作空间中多了一个变量T, 正好101个点,如右图。
6 如何用Plot命令画示波器曲线:
(1) 导出示波器数据
如上图导出示波器数据需要用到“to workspace”模块, 如何查找此模块见问题1,连接方式如图中黄色模块。
“to workspace”模块设置
双击该模块: 1 在变量名栏中输入变量 名,默认的变量名为 “simout”。 2 在采样时间为方便起见 一 般设 置“1” 3 在保存数据格式的下拉 菜单中选取“Array”格 式。 4 点“OK”
(2)用Plot命令画曲线
有了X轴的101个点和Y轴的101个点,就可以开始用 Plot命令画图。在命令行中输入: >> plot(T,pid123) 在图形窗口中出现如右图 所示曲线。
若要画多条曲线,导入Y 轴数据如前所述,取好变 量名。 多条曲线画图命令:
>> plot(T,pid123, T,pid1234, T,pid12345)
4 如何在示波器中显示多条曲线:
示波器显多条曲线模型图
仿真结果图
Mux模块参数设置图
注意左上图中的Mux混路 器模块,功能:把多路信号组 成一个矢量信号或者Bus信号。 还可以通过双击设置Mux模块 设置输入信号个数如左下图。

matlab仿真实例100题

matlab仿真实例100题

matlab仿真实例100题Matlab是一种强大的数学软件,广泛应用于科学计算、数据分析和工程仿真等领域。

在学习和使用Matlab的过程中,通过实例的方式进行仿真练习是一种非常有效的学习方法。

下面将给出100个Matlab仿真实例题目,帮助读者更好地掌握Matlab的使用。

1. 编写一个程序,计算并输出1到100之间所有奇数的和。

2. 编写一个程序,计算并输出1到100之间所有偶数的乘积。

3. 编写一个程序,计算并输出1到100之间所有素数的个数。

4. 编写一个程序,计算并输出1到100之间所有整数的平方和。

5. 编写一个程序,计算并输出1到100之间所有整数的立方和。

6. 编写一个程序,计算并输出1到100之间所有整数的阶乘和。

7. 编写一个程序,计算并输出1到100之间所有整数的倒数和。

8. 编写一个程序,计算并输出1到100之间所有整数的平均值。

9. 编写一个程序,计算并输出1到100之间所有整数的中位数。

10. 编写一个程序,计算并输出1到100之间所有整数的标准差。

11. 编写一个程序,计算并输出1到100之间所有整数的方差。

12. 编写一个程序,计算并输出1到100之间所有整数的最大值。

13. 编写一个程序,计算并输出1到100之间所有整数的最小值。

15. 编写一个程序,计算并输出1到100之间所有整数的平方根和。

16. 编写一个程序,计算并输出1到100之间所有整数的立方根和。

17. 编写一个程序,计算并输出1到100之间所有整数的对数和。

18. 编写一个程序,计算并输出1到100之间所有整数的指数和。

19. 编写一个程序,计算并输出1到100之间所有整数的正弦和。

20. 编写一个程序,计算并输出1到100之间所有整数的余弦和。

21. 编写一个程序,计算并输出1到100之间所有整数的正切和。

22. 编写一个程序,计算并输出1到100之间所有整数的双曲正弦和。

23. 编写一个程序,计算并输出1到100之间所有整数的双曲余弦和。

MATLAB-Simulink复习

MATLAB-Simulink复习


只有当两个矩阵中前一个矩阵的列数和后一 个矩阵的行数相同时,才可以进行乘法运算。 只有方阵才可以求幂。
点运算是两个维数相同矩阵对应元素之间的 运算。

3 逆矩阵与行列式计算

求逆:inv(A) 求行列式:det(A)
注意:这两种运算都要求矩阵A为方阵!
1.4 MATLAB的向量运算 + ----向量加
编辑器建立完成,
即通过MATLAB命令窗
口的File菜单下的New
命令建立M-File。 M文件编辑器窗口如图 1-4所示。
图1-4 M文件编辑器
1). 文本文件 例如,建立一个正弦函数 在M文件编辑器中输入以下程序:
i=-pi:0.1:pi;
y=sin(i) 保存为myfile.m文件 (M文件不能以中文汉字命 名)
Matlab基本操作
1.1 基本知识 1. Matlab当前目录窗口 当前目录是指MATLAB运行文件时的工作目录,只 有在当前目录或搜索路径下的文件、函数可以被运 行或调用。
在当前目录窗口中可以显示或改变当前目录,
还可以显示当前目录下的文件并提供搜索功能。
2. 变量

变量的命名:

变量名必须以字母开头,之后可以是任意字母、 数字或下划线

.* ./ .\ .^
----向量减
----向量乘 ----向量右除 ----向量左除 ----向量的乘方
1.5 MATLAB的绘图功能
MATLAB为控制界广泛接受的另一个主 要原因是它提供了十分方便的一系列绘
图命令。
1 绘制单根二维曲线 函数的基本调用格式为: plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标 和y坐标数据。

Simulink 问题集锦

Simulink 问题集锦

Simulink 问题集锦1 用simlink画的图,在示波器中显示,如何复制到word中告诉你一个办法,在加上示波器的地方加上to workspace改为array在主窗口中plot直接抓过去也行吧。

Edit下有copy model选项2 simulink中的mask问题请问如何封装prompt,varible填啥如何初始化prompt中,填写变量的提示,如:直线斜率variable中填写变量名.如:k3 一个关于simulink仿真的问题根据4个输出a1、a2、a3、a4判断,输出最大的ai所对应的数。

这样一个过程不用s函数能不能实现阿?我用了if else语句,但是无法把不同时刻的不同输出值汇总成串行数据流输出。

用mux将各路信号构造成向量信号,再用matlab fcn下的max对之进行操作即可4 请教:怎样能查到仿真块的程序?simulink自带的模块如果不是mask的就查不了5 为什么用SUMULINK里to file模块中的数据传不到M文件?需要设置什么?是写入.mat中的。

用load命令读入到workspace。

6 MATLAB里得NOTBOOK是做什么用的?MATLAB与WORD的连接,只要在命令窗口中输入:notebook -setup 按照提示就可完成设置7 如何把编好的s-function加到simulink中去。

将S-FUNCTION模块拖到SIMULINK下,将模块名与S-FUNCTION一致,M文件不要求编译,C文件要编译8 仿真示波器中的黑色背景能否处理?想处理示波器的背景一般是想得到图片,最好把数据存到工作空间中,用plot绘图,这样的灵活性会更大9 请问如何用simulink进行变参数系统仿真?就是说,仿真参数会随输出的值不同而发生变化,不再是个常数;而且对于输出(阶跃函数为输入)的每一点都要进行判断,如在某一范围内就计算并调整参数,如在另一范围内就重新计算并调整参数。

SIMULINK问题大集合

SIMULINK问题大集合
Warning: Received shutdown message from target 15.002000 seconds ago.
Waitin
g for final data logging buffer and
logging terminator...
Warning: Received shutdown message from target 30.004000 seconds ago.
-------
一个关于simulink仿真的问题
根据4个输出a1a2a3a4判断,输出最大的ai所对应的数这样一个过程不用s
函数能不能实现阿?我用了if else语句,但是无法把不同时刻的不同输出值汇总成
串行数据流输出
用mux将各路信号构造成向量信号,再用matlab fcn下的max对之进行操作即可
look under mask(鼠标右键)看到里面是怎样用子模块搭接的,还有很多是
由s函数写成的simulink的模块,这些直接edit sfunname(s函数的名字)
就可以看到源代码
-------------------------------------------------------------------------
用to workspace或to file 都可以保存仿真时的数据
-------------------------------------------------------------------------
-------
请问如何在simulink中实现A/D和D/A转换
有相关的模块,在xpc中,不过得和硬件对应上
-------------------------------------------------------------------------

MATLAB-SIMULINK最常见问题

MATLAB-SIMULINK最常见问题

• 在变步长算法中,步长大小与信号变化快慢反向 相关。 • 容许误差限的作用是控制计算精度。当误差超过 容许误差限时会自动修正步长。在迭代的每一步 (不妨设是第i次迭代),程序都会将计算出来的值 与期望值相见得出一个误差e(i),若e(i)满足: e(i)<=max(相对容许误差限*|y(i)|, 绝对容许误差 限),则表明第i次迭代是正确的,否则,程序会自 动将步长减小,再来验证上述不等式是否成立。 重复上述过程,直到上述不等式成立为止。
一、Simulink的工作原理
• 我们在Simulink中连线的过程实际上是定义 微分(差分)方程(组)的过程。而仿真 则是求微分(差分)方程(组)数值解的 过程。
二、关于刚性问题(stiff)
什么是刚性问题? 在用微分方程描述的一个变化过程中,若往往又包含 着多个相互作用但变化速度相差十分悬殊的子过程, 这样一类过程就认为具有 “刚性”。描述这类过程的 微分方程初值问题称为“刚性问题”。


七、Scope背景色设置
• 在matlab命令窗口运行下面两条命令: • set(0,'ShowHiddenHandles','on'); set(gcf,'menubar','figure'); • 之后scope会出现相应的菜单,然后edit>figure property,即可修改scope背景色 • 需要点击axis,然后修改colors • 对于scope中输出曲线的颜色,直接在 scope相应的曲线,即会弹出其ontinuous和discrete两种状态的主要差别 在于他们取值的时间问题,既在continuous 中,理论是无间隔 时间,计算机的做法可 能是很短时间内更新一次值,而discrete则 是很长时间更新一次值,这个很短和很长 的概念是他两相对来说的。 • 离散系统采用差分方程表示,和前一时刻 的状态有关,所以必须知道先前状态连续 系统采用微分方程描述 。

MATLAB常见问题问答

MATLAB常见问题问答

Matlab 常见问题问答1.Q:如何在给定句柄的axis 里绘图?A:plot(data,'parent',haxis);或者hbar=bar(data);set(hbar,'parent',haxis);2.Q:Matlab 中如何作线性拟合/线性回归/多元线性回归?A:何作线性拟合是用y=a*x+b 来拟合一组数据{{x1,y1},{x2,y2}…{xn,yn}},Matlab 中使用polyfitx=data(:,1);y=data(:,2);p=polyfit(x,y,1);p(1)为斜率a,p(2)为截距b多元线性回归即用y=a1*x1+a2*x2+..+am*xm来拟合数据点{x1i,x2i,…xmi,yi} (i=1~n)|x11,x21,…xm1|A=|x12,x22,…xm2||…………… ||x1n,x2n,…xmn|Y={y1,y2,y3,…,yn}'则系数{a1,a2,…,am}'=pinv(A)*Y。

在Matlab 中使用coeff=A\Y 则可以得到最小二乘意义上的拟合系数3.Q:Matlab 中如何作二维数据的插值?A:对于一维、二维、三维规则数据点阵使用interp1/interp2/interp3,二维、三维非规则数据用griddata/griddata34.Q:Matlab 中如何计算程序运行的时间?A:ticyour_code;toc或者使用:t=cputime;your_operation;cputime-t5.Q:如何在Matlab 中实现交互操作?A:如果只在命令窗口进行交互操作,请参见demo 中的例子,主要是通过input 命令和pause/clear/disp 等实现的,还有一些窗口资源可以使用:uigetfile, uiputfile, uiwait, uisetcolor, isetfont, uiopen, uisaveinputdlg, msgbox, helpdlg, questdlg, warndlg, errordlg6.Q:Matlab 中为什么只能在小数点后显示四位?A:用format 命令来改变命令窗口数字的显示格式和精度,但不会影响Matlab 的计算精度,Matlab 的矩阵运算默认都是双精度浮点型运算。

simulink小问题集锦

simulink小问题集锦

下载Simulink模块打不开的原因及解决方法下载Simulink模块打不开的原因及解决方法近来,好多朋友反应下载的模块不能打开,其实这个问题好早就有人提出,也讨论了一些解决方法。

为了方便大家,我整理了一下相关内容,大家如果有新的见解和解决方法,提出来大家共同探讨。

1.问题产生的原因:(1)matlab版本的不同,比如用6.5打开7.0时,7.0的一些模块6.5没有;(2)模型中含有不能识别的字符,比如中文等等,尤其是matlab对中文的支持不是很好(不知道是不是D版的原因)。

2.解决的办法(1)在工作空间中输入下列命令,然后打开。

bdclose all;Enc='windows-1252';set_param(0,'CharacterEncoding',Enc);(2)用bdclose allset_param(0, 'CharacterEncoding', 'ISO-8859-1')即可打开6.5中编辑的带中文的mdl文件同样如果要在7.0的模型里用中文注释,然后保存,就需要set_param('ModelName', 'SavedCharacterEncoding', 'ISO-8859-1')这里ModelName是你的mdl模型名,而且必须被打开了。

(by chen1974)(3)用记事本打开为了大家更加清楚,我给大家截了一些图片:)a. 打不开文件,出现错误:Warning: Unable to load model file 'C:\MATLAB7\work\demo.mdl'. Run "bdclose all; set_param(0, 'CharacterEncoding', Enc)" where Enc is one of Shift_JIS, windows-1252, ISO-8859-1, then load the model. The first character that is not supported in the current character encoding setting ('ibm-1386_P100-2002') occurs on line 37, byte offset 22. To correctly load models with non-ASCII characters, you must explicitly use the character encoding that was used to save the file. Type "help slCharacterEncoding" for more information on setting character encoding and to learn more about which encodings are commonly found on your platform. > In general\private\openmdl at 13In open at 130In uiopen at 151b. 右键点击用写字板或记事本打开,发现原来是有汉字不能识别,将其改为英文即可,存盘退出c.出现问题的参数是“LastModifiedBy”,这是最后修改模型人的名字;假如你的机子装系统的时候个人名字和单位填的是中文的话就要注意了,你装matlab时默认得也是这个中文名字,如果不改的话就会出现这个问题了。

第12章matlabsimulink系统仿真_习题答案

第12章matlabsimulink系统仿真_习题答案

第12章 MATLAB Simulink系统仿真习题12一、选择题1.启动Simulink后,屏幕上出现的窗口是()。

AA.Simulink起始页 B.Simulink Library Browser窗口C.Simulink Block Browser窗口 D.Simulink模型编辑窗口2.模块的操作是在()窗口中进行的。

DA.Library Browser B.Model BrowserC.Block Editer D.模型编辑3.Integrator模块包含在()模块库中。

BA.Sources B.Continuous C.Sinks D.Math Operations 4.要在模型编辑窗口中复制模块,不正确的方法是()。

BA.单击要复制的模块,按住鼠标左键并同时按下Ctrl键,移动鼠标到适当位置放开鼠标B.单击要复制的模块,按住鼠标左键并同时按下Shift键,移动鼠标到适当位置放开鼠标C.在模型编辑窗口选择Edit→Copy命令和Edit→Paste命令D.右键单击要复制的模块,从快捷菜单中选择Copy命令和Paste命令5.已知仿真模型如图12-41(a)所示,示波器的输出结果如图12-41(b)所示。

(a)仿真模型(b )示波器输出结果图12-41 习题仿真模型及仿真结果则XY Graph 图形记录仪的输出结果是( )。

CA .正弦曲线B .余弦曲线C .单位圆D .椭圆二、填空题1.Simulink (能/不能)脱离MATLAB 环境运行。

2.建立Simulink 仿真模型是在 窗口进行的。

模型编辑窗口3.Simulink 仿真模型通常包括 、系统模块和 三种元素。

信号源(Source ),信宿(Sink )4.由控制信号控制执行的子系统称为 ,它分为 、 和 。

条件执行子系统,使能子系统,触发子系统,使能加触发子系统。

5.为子系统定制参数设置对话框和图标,使子系统本身有一个独立的操作界面,这种操作称为子系统的 。

simulink问题

simulink问题

simulink问题命令⾏如何运⾏simulink外部模式build和start⽤sim()函数该函数的调⽤格式为:[t,x,y]=sim(f1,tspan,options,ut)其中f1为SIMULINK的模型名,tspan为仿真时间控制变量;参数options 为模型控制参数;ut为外部输⼊向量。

--------------------------------------------------------------------------------请问matlab中的仿真模块,可以看到起源程序吗?那些基本模块是看不了源代码的,有很多模块是⽤subsystem组成的,你可以⽤look under mask(⿏标右键)看到⾥⾯是怎样⽤⼦模块搭接的,还有很多是由s函数写成的simulink的模块,这些直接edit sfunname(s函数的名字) 就可以看到源代码--------------------------------------------------------------------------------请问:在simulink参数中设置的步长是50e-6,在系统中有⼀个simout模块向MATLAB中传递数据,但是希望以1e-3的步长获取数据,因该如何设计?在simout 模块中直接设定仿真步长是不能运⾏的。

需要插⼊⼀个"zero order hold"模块,将该模块的采样时间设置为1e-03就可以了。

--------------------------------------------------------------------------------simulink中IGBT等电⼒元件都有个m极,是什么作⽤的?⽤于测量流过IGBT电流及其电压--------------------------------------------------------------------------------⽤simlink画的图,在⽰波器中显⽰,如何复制到word中告诉你⼀个办法,在加上⽰波器的地⽅加上to workspace改为array在主窗⼝中plot直接抓过去也⾏吧。

MATLAB—SIMULINK用法例题

MATLAB—SIMULINK用法例题
练习6-1在SIMULINK环境下,作T1、T2、T3系统的阶跃响应;
将T1、T2、T3系统的阶跃响应图在同一Scope中显示。
仿真方块图
阶跃响应图:
练习6-2典型二阶欠阻尼系统的传递函数为:
第一问:设ωa=1,σ=0.5,1,5 ,求阶跃响应,(用同一Scope显示);
仿真方块图
阶跃响应图
第二问:设σ=1 ,ωa=0.5,1,5,求阶跃响应在(用同一Scope显示);
仿真方块图
阶跃响应图
第三问:求阶跃响应在(用同一Scope显示);
仿真方块图
阶跃响应图
实验报告
实验名称SIMULINK基本用法

控制工程
专业

姓名
学号
授课老师
预定时间
实பைடு நூலகம்时间
2013-4-16
实验台号
一、目的要求
1.学习SIMULINK软件工具的使用方法;
2.用SIMULINK仿真线性系统;
二、仪器设备
PC机一台,MATLAB软件
课堂练习:
仿真方块图:
阶跃响应图:
三、程序以及运行结果

MATLAB问答题汇总

MATLAB问答题汇总

1.数组运算和矩阵运算的运算符有什么区别?答:从定义上来看,数组是一组有顺序的信息,不但可以是数字信息,还可以是字符数据和符号数据,而矩阵是应用于线性代数中的二维数组,所以其运算符号存在很大的差别。

(1)适应对象的差别。

矩阵作为一种变换或映射算子的体现,,主要适应于数字数据。

数组运算符适应于数字、字符、符号多种数据。

(2)运算规则的差别。

矩阵运算有着明确而严格的数学规则,而数组元算是MATLAB软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然和执行计算的有效,缺乏严谨的数学推理。

(3)点的运用不同。

矩阵运算按线性变换定义,使用通常符号;数组运算按对应元素运算定义,使用点运算符2.什么是图形句柄?图形句柄有什么用途?定义:绘图函数将不同的曲线或曲面绘制在图形窗口中,而图形窗口由不同的对象(坐标轴、曲线、曲面、文字等)组成,MATLAB 给每个图形对象配置一个标志符,这个分配的值(名字),称为图形句柄。

作用:通过图形句柄可以方便地获得已经创建并保存的图形属性,可以设置和修改该图形的属性,从而使得自主绘图更为方便3.如何定义全局变量?同其他的程序语言一样,MATLAB也存在变量的的作用域问题,在未加说明的情况下,MATLAB 将一切所识别的变量视为局部变量,即仅在其调用的M 文件中有效。

如果要定义全局变量,首先在变量名前加关键字global进行特殊说明,即采用“global +变量名”即可定义全局变量。

4.简述MATLAB中变量的命名原则必须以字母开头;可以使用数字、字母或下划线;变量名区分大小写;变量名的长度可以是任意的,但是只有前面63个字符视为有效;不能使用关键字作为变量名;不建议使用函数名作为变量名。

5. 简述使用M文件与在MATLAB命令窗口中直接输入命令有何异同?有何优缺点?M文件是一个ASCII码的文件,类似于源代码,它不仅可以像命令窗口一样运行程序,还能够将程序文件保存。

最新simulink题目集

最新simulink题目集

命令行如何运行simulink外部模式build和start用sim()函数该函数的调用格式为:[t,x,y]=sim(f1,tspan,options,ut)其中f1为SIMULINK的模型名,tspan为仿真时间控制变量;参数options为模型控制参数;ut为外部输入向量。

--------------------------------------------------------------------------------请问matlab中的仿真模块,可以看到起源程序吗?那些基本模块是看不了源代码的,有很多模块是用subsystem组成的,你可以用look,under,mask(鼠标右键)看到里面是怎样用子模块搭接的,还有很多是由s函数写成的simulink的模块,这些直接edit,sfunname(s函数的名字)就可以看到源代码--------------------------------------------------------------------------------请问:在simulink参数中设置的步长是50e-6,在系统中有一个simout模块向MATLAB 中传递数据,但是希望以1e-3的步长获取数据,因该如何设计?在simout模块中直接设定仿真步长是不能运行的。

需要插入一个"zero,order,hold"模块,将该模块的采样时间设置为1e-03就可以了。

--------------------------------------------------------------------------------simulink中IGBT等电力元件都有个m极,是什么作用的?用于测量流过IGBT电流及其电压--------------------------------------------------------------------------------用simlink画的图,在示波器中显示,如何复制到word中告诉你一个办法,在加上示波器的地方加上to,workspace改为array在主窗口中plot直接抓过去也行吧。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

matlab学习资料:Simulink学习中的100个问答1.命令行如何运行simulink外部模式build和start用sim()函数该函数的调用格式为:[t,x,y]=sim(f1,tspan,options,ut)其中f1为SIMULINK的模型名,tspan为仿真时间控制变量;参数options为模型控制参数;ut为外部输入向量。

2.请问matlab中的仿真模块,可以看到起源程序吗?那些基本模块是看不了源代码的,有很多模块是用subsystem组成的,你可以用look under mask(鼠标右键)看到里面是怎样用子模块搭接的,还有很多是由s函数写成的simulink的模块,这些直接edit sfunname(s函数的名字)就可以看到源代码3.请问:在simulink参数中设置的步长是50e-6,在系统中有一个simout模块向MA TLAB 中传递数据,但是希望以1e-3的步长获取数据,因该如何设计?在simout模块中直接设定仿真步长是不能运行的。

需要插入一个"zero order hold"模块,将该模块的采样时间设置为1e-03就可以了4.simulink中IGBT等电力元件都有个m极,是什么作用的?用于测量流过IGBT电流及其电压5.用simlink画的图,在示波器中显示,如何复制到word中告诉你一个办法,在加上示波器的地方加上to workspace,改为array,在主窗口中plot,直接抓过去也行吧。

Edit下有copy model选项6.simulink中的mask问题,请问如何封装,prompt,varible填啥,如何初始化prompt中,填写变量的提示,如:直线斜率variable中填写变量名.如:k-------------------------------------------------------------------------有关神经网络工具箱1.为什么当训练和仿真时,命令窗口会出现一堆warning?如:*WARNING* TRAINBPX is an obsolete function.Use NNT2FF and TRAIN to update and train your network.Type NNTW ARN OFF to suppress NNT warning messages.2.trainbpx,simuff这些命令应该怎么用?你用的神经网络不太适合你的matlab版本,有点过时了,对于BP网络,像用newff训练就没问题,建议你可买一本较新的神经网络参考书。

还可看matlab的help3.一个关于simulink仿真的问题根据4个输出a1、a2、a3、a4判断,输出最大的ai所对应的数。

这样一个过程不用s函数能不能实现阿?我用了if else语句,但是无法把不同时刻的不同输出值汇总成串行数据流输出。

用mux将各路信号构造成向量信号,再用matlab fcn下的max对之进行操作即可4.怎么实现在simulink仿真过程中与其他程序进行通讯,即如何在simulink仿真过程中实时读出数据。

不论通过网络或变量空间中的变量都行,应该怎么实现,请教!用to workspace或to file 都可以保存仿真时的数据5.请问如何在simulink中实现A/D和D/A转换。

有相关的模块,在xpc中,不过得和硬件对应上6.请问如何改变ode45函数中的步长ode45现在的版本不允许显式给出步长7.请教:如何将workspace中的输入,输出数据存为*.txt文件?save filename varname -ASCIIvarname是要存储的变量名,之间用空格分隔8.将PID的SIMULINK图的输出仿真图形怎样与自己设计的界面中的按钮连接回调函数怎么编要显示的数据用Outport端子表示,就可以用sim函数直接获得数据了9.怎样才能增加采样点?在Simulink里边连接框图,阶跃step输入经过一积分环节1/s,用out输出至workspa ce,tout跟yout都为56×1,能不能把56变成更大的值?怎么设置?谢谢!!!!!能增加,simulink中你得到的是默认的结果,如果向增加,则可以认为减小允许的误差限,即在simulink中的relative error项,如将其变化成e-6或其他更小的值。

另外还可以通过定步长方法进行仿真(这时应该注意要确认能保证仿真精度要求)10我最近在做电机控制的仿真时,遇到一个问题。

我是用matlab6.5中的电机模块做为模型,然后自己搭建了一个变频器。

在运行中经常出现运行到一半时就进行不下去了,simulink报错说步长有问题,我修改后还是不行。

请问在做有关电机的仿真时,应该如何设置仿真环境。

试试改变仿真算法,如ode15s11.运行时出现下面的提示:Derivative input 1 of block 'try1/check/Analog Filter Design' at time 0 is Inf or NaN. Stopping simulation. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances).仿真系统数值不稳定,是模型的问题或是其他问题12.相位Phase的单位deg是什么意思?degree,it is same to say 度-------------------------------------------------------------------------13.workspace,数据多了就存不下啦?采样时间设为0.01秒,运行若干秒以后,在workspace中打开scopedata(示波器form at设定为Array,limit data points to last没选择!)时,系统提示:cannot display variables with more then 10000 elements,什么原因?数据量大了是不能显示得,实在不显示,可以考虑将矩阵存到文件中,你再去读文件了。

另外:你的矩阵维数是多少connot display variables with more than 65536 elements!a=ones(500,499);双击workspace中的a矩阵-------------------------------------------------------------------------14.simulink中的数据为什么会丢失啊?我在做一个比较大的系统的rtw仿真可是在仿真时,要是记录数据的模块(比如示波器,to workspace)等比较多或者步长比较小时,就会出现记录的数据不全或者干脆丢失的现象,比如to workspace的数据只有后面或者前面的几百个,丢了好多。

记录不全。

出现提示信息如下Warning: Received shutdown message from target 15.002000 seconds ago.Waiting for final data logging buffer andlogging terminator...Warning: Received shutdown message from target 30.004000 seconds ago.Waiting for final data logging buffer and logging terminator...Warning: Received shutdown message from target 45.003000 seconds ago.Waiting for final data logging buffer and logging terminator...Warning: Received shutdown message from target 60.008000 seconds ago.Waiting for final data logging buffer and logging terminator...Warning: Did not received final data logging buffer and loggingterminator from target. Disconnecting...这样运行就停止了,但数据不全。

另外,有时候运行时会出现突然黑屏现象。

还有就是在rtw中如何进行数据的实时观测,scope不可以了,在gui中编程可以实现吗?看看原来的simulink模型其中示波器或其他输出环节中可能选择了存最新若干数据的选项,解除它即可-------------------------------------------------------------------------15.请问白噪声譜生产随即数问题?已知白噪声譜为S0,如何生产随即数序列?遇到问题:1,用simulink中的Band-Limited White Noise模块,设置Noise Power为S0,可是为什么Sample time取不同的值,生成的生产随即数序列大小相差很大,有数量级的差别,不应该有那么大吧??2,生产随机数的大小与Seed的取值有关吗?3,有无更简单的方法。

你注意到1的现象很好实际该模块发出的噪声是经过除以sqrt(T)后的结果,T是采样周期。

所以你觉得幅值不同,这样可以保证噪声的强度符合有求。

-------------------------------------------------------------------------16.请教:怎样能查到仿真块的程序?simulink自带的模块如果不是mask的就查不了-------------------------------------------------------------------------17.为什么用SUMULINK里to file模块中的数据传不到M文件?需要设置什么?谢谢是写入.mat中的。

用load命令读入到workspace。

-------------------------------------------------------------------------18.请问如何产生带限白噪声如果先产生随机数再通过滤波器,请问,滤波器归一化频率如何确定,和采样频率归一化吗使用Band-Limited White Noise模块-----------------------------------------------------------------------19.请教:关于.m文件和simulink模型的仿真速度的问题。

相关文档
最新文档