【问题标题】:how to plot a graph with different equations depending on the 'x' value如何根据“x”值绘制具有不同方程的图形
【发布时间】:2021-12-23 11:03:12
【问题描述】:
dx = 0.1
x = 0:dx:30:
for x<5,     f(x)= 0.1*(x^4)-5.6*(x^3)+3.6*(x^2)–16.2*(x^3)+6.2*(x^2)+11.5*(x)-9.8 
for 5<=x<20, f(x)= 0.4*(x^3)+1.2(x^2)+9.7*(x)–89.6
for 20<=x,   f(x)= 0.8*(x^2)+8.9*(x)-8.2

我曾尝试使用带有 if 和 elseif 语句的 for 循环,但无法使其正常工作,如果有人可以提供帮助,那就太好了

【问题讨论】:

  • 你的 for 循环是什么样的?
  • 对于 x=0:dx:30 如果 x

标签: matlab matlab-figure


【解决方案1】:

在这种情况下,使用符号变量syms x 的分段函数可能就足够了。分段函数允许您仅在不同的边界/区域上绘制多个函数。也可以使用匿名函数和不同的x 向量作为输入。

syms x

f1=0.1*(x^4)-5.6*(x^3)+3.6*(x^2)-16.2*(x^3)+6.2*(x^2)+11.5*(x)-9.8;
f2=0.4*(x^3)+1.2*(x^2)+9.7*(x)-89.6;
f3=0.8*(x^2)+8.9*(x)-8.2;

Bounds_1 = x<5;
Bounds_2 = 5<=x<20;
Bounds_3 = 20<=x;

y = piecewise(Bounds_1,f1,Bounds_2,f2,Bounds_3,f3);

fplot(y);
xlim([-5 50]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-24
    • 2021-01-03
    • 1970-01-01
    相关资源
    最近更新 更多