如何使用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中元素的总数; 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(2)
blank

相关推荐

  • navicat注册码最新_navicat激活工具

    navicat注册码最新_navicat激活工具navicat10.1.7版本,亲测可用。名:NAVN-LNXG-XHHX-5NOO组织:NAVN-LNXG-XHHX-5NOO注册码:NAVN-LNXG-XHHX-5NOO

    2022年10月13日
  • 开源渗透测试工具合集下载_系统渗透测试

    开源渗透测试工具合集下载_系统渗透测试开源渗透工具集合:子域名爆破、FUZZ工具、自动化渗透测试工具、漏洞利用框架、CVE、漏洞测试平台、漏洞扫描工具、远控工具、SQL注入攻击、代理工具、弱口令爆破工具

  • navicate15 mysql激活码【在线注册码/序列号/破解码】

    navicate15 mysql激活码【在线注册码/序列号/破解码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • BP神经网络算法基本原理_卷积神经网络推导过程

    BP神经网络算法基本原理_卷积神经网络推导过程原文写于2018年5月。修改于2019年11月17。最近在学习《DeepLearning》这本书,书中在前馈神经网络、全连接神经网络以及卷积神经网络等内容中,都有提到反向传播算法,这一算法可以说是神经网络中求解参数比较核心的部分了。为了更好地理解神经网络工作的原理,认识反向传播在神经网络中的运算机制,在综合《DeepLearning》书中的有关部分并且学习了b站讲解神经网络的相关视频及一…

  • 一定要用相同的Context 对同一个receiver进行registerReceiver与unregisterReceiver吗?

    一定要用相同的Context 对同一个receiver进行registerReceiver与unregisterReceiver吗?最近在开发一些功能,突然想到在动态注册和反注册receiver的时候一定要用相同的context吗?我不敢肯定咨询了同事,得到的答案是不行的,然而为了进一步佐证他的观点我自己尝试了一下。也就是查了一下相关代码。众所周知android的应用程序在ActivityThread的publicstaticvoidmain(String[]args)中开始调用我们写的代码,Application、A

  • Oracle数据库备份与还原语句

    Oracle数据库备份与还原语句1、备份语句(数据库导出)expusername/password@ip:port/servernamefile=”C:\Users\Administrator\Desktop\kpms.bak”full=yignore=y;2、导入语句(数据库还原)①全部导入:imp用户名/密码@数据库实例名full=yfile=C:\Users\Administrator\Desktop\kpms.bakignore=y;②单表导入:impusername/password@ip:p..

发表回复

您的电子邮箱地址不会被公开。

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