Ⅰ Matlab中eval函数的使用方法。
eval()函数的用法就是将括号内的字符串视为语句并运行,具体如下:
1、假如我要对a1,a2,a3,a4,……,a100分别赋予1,2,3,……,100,这时eval就发挥作用了。
for i=1:100
eval(['a' num2str(i) '=' num2str(i)]);
end
2、再比如批量存数据或图片文件等等。
那么开始提到的例子也就好解释了。
注意:eval中的中括号在两个以上字符串出现时一定要有,起连接作用。
如:
input:[‘hello’ ‘world’]
output:helloworld
eval命令在Linux下的应用非常广泛
1、eval会把赋值语句中双引号之间的内容直接赋给‘=’前的变量,而不是当作字符串赋给变量
例如:
version="(2 4)" 是将字符串赋值给 version;
eval version="(2 4)" 执行时变成了 version=(2 4), 是把数组 (2 4) 赋值给 version
2、当在一个赋值语句的前面加上 eval 时,它就会将 后面表达式中以 $ 开头的所有变量进行整体替换
例如:
var1="1234 4556"
tmp=var
eval test="$"$tmp"1"
echo $test
那么就会在屏幕上显示出 :
1234 4556
Ⅱ matlab中的sim函数的运用方法是什么
sim函数用来运行Simulink模型。需要注意的是,用户无法控制其仿真过程(例如暂停、继续),一旦运行就会直到达到结束条件为止——这一点和通过模型窗口界面运行仿真不同。
调用格式:
[t,x,y]=sim(model,timespan,options,ut);
[t,x,y1,y2,...,yn]=sim(model,timespan,options,ut);
输入参数:
model:模型的名字,用单引号括起来(注意不带扩展名.mdl);
timespan:指定仿真时间范围,可以有几种情况:
标量tFinal,指定仿真结束时间。这种情况下开始时间为0;
两个元素的向量[tStarttFinal],同时指定开始时间和结束时间;
向量[tStartOutputTimestFinal],除起止时间外,还指定输出时间点(通常输出时间t会包含更多点,这里指定的点相当于附加的点)。
options:指定仿真选项,是一个结构体,该结构体通过simset创建,包括模型求解器、误差控制等都可以通过这个参数指定(不修改模型,但使用和模型对话框里设置的不同选择)。
ut:指定外部输入,对应于根模型的Inport模块。
除第一个输入参数外,其他参数都可以用空矩阵([])来表示模型的默认值。
输出参数:
t:仿真时间向量;
x:状态矩阵,每行对应一个时刻的状态,连续状态在前,离散状态在后;
y:输出矩阵,每行对应一个时刻;每列对应根模型的一个Outport模块(如果Outport模块的输入是向量,则在y中会占用相应的列数)。
y1,y2,...,yn:把上面的y分开,每个yi对应一个Outport模块。
打字很辛苦,感觉有用就采纳了吧。有问题可以继续追问。
Ⅲ matlab中num2str函数如何使用
在matlab中num2str的作用是将数字转换为字符数组。
它的语法为:
s = num2str(A)s = num2str(A,precision)s = num2str(A,formatSpec)
其中,
s = num2str(A) 将数值数组转换为表示数字的字符数组。输出格式取决于原始值的量级。
s = num2str(A,precision) 返回表示数字的字符数组,最大有效位数由 precision 指定。
s = num2str(A,formatSpec) 将 formatSpec 指定的格式应用到 A 所有元素。
扩展阅读:
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。
参考资料: MathWorks中国 - MATLAB官方支持文档 - num2str
Ⅳ matlab的function函数怎么用
1.新建一个m文件,把function函数复制进去;然后保存(名称应该是自动生成的,即为sinh.m,不过最好不要用和系统中的文件一样的名称,可以先help查看一下matlab是否有和sinh重复的名称,若有的话,得把function函数改个名称),保存的地址为当前工作目录。
2.在命令窗口调用function函数:
sinh(5)
即可
Ⅳ 如何使用matlab绘制函数曲线
第一种方法:通过命令框实现
1.建立矩阵,x=-10:0.1:10
(即建立一个从-10到10的,跨度为0.1的矩阵x)
2.写出函数表达式y=sin(x)
(此处函数表达式可随意,但要注意函数表达式要按规则)
3.绘制函数plot(x,y,'-r')
(绘制x,y的函数图像,'-r'即为函数图像用红色表示)
第二种方法:用m文件绘制
1.建立一个m文件
2.将第一步的代码输进m文件,注意每个代码最后都需要加分号
3.运行m文件即可绘制函数图像
具体还可以参照以下网址
Ⅵ 在matlab中怎么直接调用函数
在matlab中,如果是matlab自带的函数,则可以按照该函数的格式直接调用,如果是自己编写的函数,可以将函数写在一个文件中,之后再主文件中调用
Ⅶ matlab怎么定义函数啊
自定义函数的途径:
M文件函数(M file function)
在线函数(Inline Function)
匿名函数(Anonymous Function)
1.M文件函数
范例
function c=myadd(a,b)
%这里可以写函数的使用说明,前面以%开头
%在工作区中,help myadd将显示此处的说明
c=a+b;
%end %非必须的
第一行function告诉Matlab这是一个函数,a,b是输入,c是输出,myadd是函数名。以m文件定义的函数必须保存为函数名的形式,上例中,函数应保存为myadd.m。要使用myadd函数,该函数必须在Matlab的搜索路径中。
调用方式:
在Matlab命令符后输入
a=1;b=2;
c=myadd(a,b)
关于m文件定义函数还有许多的说明,暂时略去。。。
2.在线函数(Inline Function)
通常作为参数传递给另外一个函数。比如fminsearch,lsqcurvefit等函数需要以函数作为参数。
在线函数从字符串表达式创建函数,例如:
f=inline('x.^2','x');
创建了函数f(x)=x^2。要计算f(3),在工作区输入f(3)即可。f([2 3 4])计算在x=2 3 4时的值
f=inline('x+y','x','y')
创建了二元函数f(x,y)=x+y,工作区输入f(2,3)计算2+3,等同于feval_r(f,2,3)。
3.匿名函数(Anonymous Function)
匿名函数使用函数句柄来表示匿名函数,定义形式为
函数句柄=@(变量名) 函数表达式
例如:
f=@(x) x.^2
定义了函数f(x)=x^2,f(2)计算在x=2处的值。
匿名函数可以调用Matlab函数,也可以使用工作区中存在的变量,例如
a=2;
f=@(x) x.^2+a
f(2) %计算时引用了变量a
a=0;
f(2) %仍然引用的是a=2
匿名函数也可以由Matlab的内置函数或M文件函数创建,例如
f=@sin %f(x)=sin(x)
f(pi/2) %sin(pi/2)
functions(f) %查看函数信息
利用单元数组可以创建多个函数的句柄,例如
f={@sin @cos}
f{1}(pi/2) %计算sin(pi/2)
f{2}(pi) %计算cos(pi)
函数句柄的另一个重要特征是可以用来表示子函数、私有函数和嵌套函数。
Matlab 7以后,建议以匿名函数取代在线函数!!!
在创建匿名函数时,Matlab记录了关于函数的信息,当使用句柄调用该函数的时候,Matlab不再进行搜索,而是立即执行该函数,极大提高了效率。
Ⅷ matlab函数function怎么使用
function用来定义函数,一般一个函数放在一个.m文件里。举个简单的例子建立一个myfunction.m,然后在文件中写。
function y=myfunction(a,b)
其中a,b是输入函数的参数,y是函数返回的值。当需要返回多个值时,可以将y看作一个数组,或者直接将函数的开头写成如function [x,y]=myfunction(x,y)的形式。
然后就是定义函数的内容,通俗的说就是怎样由输入参数a,b得到返回值y。比如最简单的y=a+b。
总结一下,将下面的代码
function y=myfunction(a,b)
y=a+b;
保存为一个m文件myfunction.m,调用方式如下。
num=myfunction(3,4);
这样就可以由函数中的y=a+b得到num的值是3+4=7。
以上是最简单的例子,不知说清楚没有,如不清楚可以直接hi我。