曂䙮 2022-11-26 16:27 采纳率: 100%
浏览 11
已结题

MATLAB 这个程序为什么没按照我写的这个分段函数运行呢

img

img


算出来的这个f(x)函数应该大于6之后都是0.5吧,这怎么回事?

  • 写回答

1条回答 默认 最新

  • clear_lantern 2022-11-26 18:10
    关注

    elseif是比第一个if低一级的条件判断,而之后的else是和第一个if平级的,也就是只判断是否大于2,而不是判断大于2是否小于6。若x大于2小于6,即便中间的elseif后会给y赋成0.5,到最后的else还是执行与if成配套的条件判断,只要大于2就会按else后的命令执行。根据你的分段函数,matlab中可以直接这么写:y = (0.5x).(x<=2)+(1.5-0.25*x).*(x>2&x<6)+0.5.*(x>=6);,复制到函数中即可,注意点乘。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月18日
  • 已采纳回答 12月10日
  • 创建了问题 11月26日

悬赏问题

  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法