如何使用matlab实现分段函数「建议收藏」

如何使用matlab实现分段函数「建议收藏」实现如下的分段函数:m={t0≤t<1−t+21<t≤20.1其他m=\left\{\begin{array}{rcl}t&&{0\leqt<1}\\-t+2&&{1&am

大家好,又见面了,我是你们的朋友全栈君。

实现如下的分段函数:
m = { t 0 ≤ t &lt; 1 − t + 2 1 &lt; t ≤ 2 0.1 其 他 m=\left\{ \begin{array}{rcl} t &amp; &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.10t<11<t2

方法一:

# 先写一个函数脚本; function m=fenduanhanshu(t) m=t.*(t>=0 & t<1)+(-t+2).*(t>1 & t<=2)+0.1.*(t<0 | t>2) # 注意此处是点乘,否则会报错内部矩阵维度不一致; end 

此处语句解释:当表达式中的(t>=0 & t<1)成立时,此时的布尔表达式值为True,值为1,t*(t>=0 & t<1) = t1;此时表达式中的布尔表达式(t>1 & t<=2)和(t<0 | t>2)都不成立,取0参与运算,故此时m=t1+(-t+2)0+0.10 = t;

# 在command window中调用此函数,并作图; >> x=0:0.01:2; >> m=fenduanhanshu(t); >> plot(m,t) 

作图如下:
在这里插入图片描述

方法二:

# 写一个脚本后直接运行; t=-1:0.01:3; # 自己根据需要设置; m=zeros(size(t)); # 生成与矩阵t相同大小的全零矩阵; for i=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; else m(i)=0.1; end end plot(t,m,'r') # 'r'表示线为红色; grid on # 网格 
>> t=-1:0.01:3; >> size(t) # 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素是矩阵的行数,第二个元素是矩阵的列数; ans = 1 401 
B=zeros(n) # 生成n×n全零阵; B=zeros(m,n) # 生成m×n全零阵; B=zeros([m n]) # 生成m×n全零阵; B=zeros(d1,d2,d3……) # 生成d1×d2×d3×……全零阵或数组; B=zeros([d1 d2 d3……]) # 生成d1×d2×d3×……全零阵或数组; B=zeros(size(A)) # 生成与矩阵A相同大小的全零阵; 
n=length(A) # 如果A为非空数组,返回行数和列数两者之间数值较大的那一个值,即相当于执行了max(size(A)); # 如果A为空数组,则返回0; # 如果A是一个向量则返回A的长度; n=numel(A) # 该语句返回数组A中元素的总数; 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/124797.html原文链接:https://javaforall.net

(2)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 掩模操作

    掩模操作include opencv2 opencv hpp include iostream usingnamespa usingnamespa intmain intargc charargv Matsrc imread D meinv jpg cvNamedWin iostream opencv2

    2025年7月17日
    6
  • 股票预测 lstm(时间序列的预测步骤)

    LSTM数据集实战如果对LSTM原理不懂得小伙伴可以看博主下一篇博客,因为博主水平有限,结合其他文章尽量把原理写的清楚些。数据集首先附上数据集链接:https://pan.baidu.com/s/1AKsz-ohmYHr9mBEEh76P5g提取码:6owv这个数据集是关于股票的,里面有日期,开盘价等信息。既然是时间序列预测,我们最关心的是预测值在时间维度上的走势如何,那我们只要最后一列volume和第一列date这两列就好了。实战先是导入相关包,一些常见的包就不详细说了,我们需要的Se

    2022年4月17日
    57
  • Java8 基本类型数组转换为List[通俗易懂]

    Java8 基本类型数组转换为List[通俗易懂]Java8种基本类型(byte/short/int/long/float/double/char/boolean)的数组(byte[]/short[]/int[]/long[]/float[]/double[]/char[]/boolean[])不能直接通过Arrays.asList方法转换为List,因为List的元素必须是包装类。在Java8之前,想要实现这种转换只能通过循环,Java8提供…

    2022年8月23日
    16
  • MFC中使用COleVariant获取CMFCPropertyGridProperty属性窗口某个属性值

    MFC中使用COleVariant获取CMFCPropertyGridProperty属性窗口某个属性值  获取MFC属性窗口CMFCPropertyGridProperty中某个item的值时,如果不小心写错了类型,就会导致获取的结果不正确,原因就是COleVariant其实继承自一个特殊的结构体tagVARIANT。COleVariant类声明···C++classCOleVariant:publictagVARIANT{//Constructorspubli…

    2022年7月18日
    15
  • 【转载】HTTP和SOAP完全就是两个不同的协议

    【转载】HTTP和SOAP完全就是两个不同的协议

    2021年11月18日
    44
  • 理解HTTP和TCP

    理解HTTP和TCP TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性。Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求。Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是很短的。所以Http连接是一种短连接,是一种无状态的连接。所谓的无状态,是指浏览器每次向服…

    2022年9月14日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号