如何使用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

相关推荐

  • ORACLE最大进程数

    ORACLE最大进程数

  • muduo网络库使用心得

    muduo网络库使用心得

  • 15个经典的Spring面试常见问题

    15个经典的Spring面试常见问题我自己总结的Java学习的系统知识点以及面试问题,已经开源,目前已经41k+Star。会一直完善下去,欢迎建议和指导,同时也欢迎Star:https://github.com/Snailclimb/JavaGuide这篇文章主要是想通过一些问题,加深大家对于Spring的理解,所以不会涉及太多的代码!这篇文章整理了挺长时间,下面的很多问题我自己在使用Spring的过程中也并没有…

  • C语言函数不可以单独编译_fcntl函数

    C语言函数不可以单独编译_fcntl函数函数原型:externvoidbzero(void*s,intn);函数功能:将字节字符串s的前n个字节置为0(包括‘\0’);头文件:#include说明:bzero函数是将s的前n个字符置为零,听起来是不是跟memset函数的功能有些类似呢。事实上,bzero函数包含在string,h头文件中,而string.h曾经是POSIX标准的一部分,但是在posix.1

    2022年10月13日
  • java中array的方法_array java

    java中array的方法_array java题目要求为:卡拉兹(Callatz)猜想:对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接判定卡拉兹猜想的…

  • 基于SwipeRefreshLayout的上拉加载控件

    基于SwipeRefreshLayout的上拉加载控件距离上一篇博客,居然已经过了大半年的时间,时间过得真快啊!CSDN最近大改版,各种用户体验也是被无数人吐槽,让人提不起任何写博客的兴趣,不过,该写的博客还是必须得写,话不多话,直接进入正题。现在项目中用列表来展示数据比比皆是,ListView和RecyclerView大家也是耳熟能详。实际项目中,后台肯定的接口肯定都是分页的,那么,分页加载也是自然而然的事,下面基于Google原生的下拉刷新控

发表回复

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

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