首页 > 编程知识 正文

matlab分段函数求值,matlab求分段函数的解

时间:2023-05-04 22:18:49 阅读:22417 作者:4027

实现以下分段函数:

m={ t 0 t lt; 1 t 2 1 lt; t 2 0.1其他m=left{begin { array } { rcl } tamp; amp; {0 leq t lt; 1}\ -t 2 amp; amp; {1 lt; t leq 2}\ 0.1 amp; amp; {其他}\ end { array }right.m=TT 20.10t11t2其他

方法1(#首先编写函数脚本; functionm=fenduanhanshu(t ) m=t.*(t=0t1 ) (-t 2).t1t=2) 0.1.* (t0|T2 ) #请注意,此处为点乘。 否则,报告内部矩阵的维不匹配。 end这里的语句解释为,当式中的(t=0 t1 )成立时,此时的布尔表达式的值为True,值为1,t* ) ) t=0 t1 )=t1。 此时,式中的布尔式(t1 t=2)和) t0 | t2都不成立,取0来参加运算,所以此时m=t1(-t2 ) 0 0.10=t;

在命令窗口中调用此函数并绘制; x=0:0.01:2; m=fenduanhanshu(t; 将plot(m,t )绘制如下。

方法2 ) #编写脚本并直接执行; t=-1:0.01:3; #自行根据需要设置; m=Zeros(size ) t ); 生成与矩阵t相同尺寸全零矩阵; forI=1:length(t ) #数组的长度(即行数或列数中较大的值); if(t ) I )=0) ) t ) I )=1) m ) I )=t ) I; ELSEif(t ) I )1) t ) I )=2) m ) I )=-t ) I ) 2; ELSEm(I )=0.1; endendplot(t,m,' r ' ) )表示线条为红色; grid on #网格t=-1:0.01:3; 如果只有一个输出参数,则size(t ) #返回一个行向量。 此行向量的第一个元素是矩阵的行数,第二个元素是矩阵的列数。 生成ans=1401b=Zeros(n ) nn全零序列; b=Zeros(m,n ) )生成mn全零序列; b=Zeros([mn] )生成mn全零序列; B=zeros(D1、d2、d3……) D1D2D3 )……生成全零序列或序列B=zeros([D1D2D3……] ) d1d2d3……生成全零序列或序列生成与b=Zeros(size(a ) )矩阵a相同大小的非零数组; 如果n=length(a ) ) a是非空数组,则返回行数和列数之间数值较大的值意味着运行了max (size ) a )。 #a为空数组时,返回0; #a为向量时返回a的长度; n=numel(a ) #此语句返回数组a中元素的总数。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。